Skip to content
Snippets Groups Projects
Commit ef8210a3 authored by srosse's avatar srosse
Browse files

Merge OpenOLAT 11.3 to OpenOLAT default branch with c4c2342d7df2d75965b9fd910e733f82767b0db7

parents 731b62f9 88aee5a8
No related branches found
No related tags found
No related merge requests found
...@@ -19,7 +19,6 @@ ...@@ -19,7 +19,6 @@
*/ */
package org.olat.core.util.vfs.callbacks; package org.olat.core.util.vfs.callbacks;
import org.olat.admin.quota.QuotaConstants;
import org.olat.core.commons.services.notifications.SubscriptionContext; import org.olat.core.commons.services.notifications.SubscriptionContext;
import org.olat.core.util.vfs.Quota; import org.olat.core.util.vfs.Quota;
import org.olat.core.util.vfs.QuotaManager; import org.olat.core.util.vfs.QuotaManager;
...@@ -33,15 +32,18 @@ import org.olat.core.util.vfs.QuotaManager; ...@@ -33,15 +32,18 @@ import org.olat.core.util.vfs.QuotaManager;
public class FullAccessWithLazyQuotaCallback extends FullAccessWithQuotaCallback { public class FullAccessWithLazyQuotaCallback extends FullAccessWithQuotaCallback {
private final String folderPath; private final String folderPath;
private final String defaultQuota;
public FullAccessWithLazyQuotaCallback(String folderPath) { public FullAccessWithLazyQuotaCallback(String folderPath, String defaultQuota) {
super(null); super(null);
this.folderPath = folderPath; this.folderPath = folderPath;
this.defaultQuota = defaultQuota;
} }
public FullAccessWithLazyQuotaCallback(String folderPath, SubscriptionContext subscriptionContext) { public FullAccessWithLazyQuotaCallback(String folderPath, String defaultQuota, SubscriptionContext subscriptionContext) {
super(null, subscriptionContext); super(null, subscriptionContext);
this.folderPath = folderPath; this.folderPath = folderPath;
this.defaultQuota = defaultQuota;
} }
@Override @Override
...@@ -50,7 +52,7 @@ public class FullAccessWithLazyQuotaCallback extends FullAccessWithQuotaCallback ...@@ -50,7 +52,7 @@ public class FullAccessWithLazyQuotaCallback extends FullAccessWithQuotaCallback
QuotaManager qm = QuotaManager.getInstance(); QuotaManager qm = QuotaManager.getInstance();
Quota q = qm.getCustomQuota(folderPath); Quota q = qm.getCustomQuota(folderPath);
if (q == null) { if (q == null) {
Quota defQuota = qm.getDefaultQuota(QuotaConstants.IDENTIFIER_DEFAULT_GROUPS); Quota defQuota = qm.getDefaultQuota(defaultQuota);
q = QuotaManager.getInstance().createQuota(folderPath, defQuota.getQuotaKB(), defQuota.getUlLimitKB()); q = QuotaManager.getInstance().createQuota(folderPath, defQuota.getQuotaKB(), defQuota.getUlLimitKB());
} }
super.setQuota(q); super.setQuota(q);
......
...@@ -28,6 +28,7 @@ package org.olat.course; ...@@ -28,6 +28,7 @@ package org.olat.course;
import java.io.File; import java.io.File;
import java.io.Serializable; import java.io.Serializable;
import org.olat.admin.quota.QuotaConstants;
import org.olat.core.CoreSpringFactory; import org.olat.core.CoreSpringFactory;
import org.olat.core.commons.modules.bc.vfs.OlatRootFolderImpl; import org.olat.core.commons.modules.bc.vfs.OlatRootFolderImpl;
import org.olat.core.commons.persistence.DBFactory; import org.olat.core.commons.persistence.DBFactory;
...@@ -247,7 +248,7 @@ public class PersistingCourseImpl implements ICourse, OLATResourceable, Serializ ...@@ -247,7 +248,7 @@ public class PersistingCourseImpl implements ICourse, OLATResourceable, Serializ
"could not create course's coursefolder path:" + fCourseFolder.getAbsolutePath(), null); "could not create course's coursefolder path:" + fCourseFolder.getAbsolutePath(), null);
} }
FullAccessWithQuotaCallback secCallback = new FullAccessWithLazyQuotaCallback(isolatedCourseFolder.getRelPath()); FullAccessWithQuotaCallback secCallback = new FullAccessWithLazyQuotaCallback(isolatedCourseFolder.getRelPath(), QuotaConstants.IDENTIFIER_DEFAULT_COURSE);
isolatedCourseFolder.setLocalSecurityCallback(secCallback); isolatedCourseFolder.setLocalSecurityCallback(secCallback);
return isolatedCourseFolder; return isolatedCourseFolder;
} }
......
...@@ -24,6 +24,7 @@ import java.util.HashSet; ...@@ -24,6 +24,7 @@ import java.util.HashSet;
import java.util.List; import java.util.List;
import java.util.Set; import java.util.Set;
import org.olat.admin.quota.QuotaConstants;
import org.olat.collaboration.CollaborationManager; import org.olat.collaboration.CollaborationManager;
import org.olat.collaboration.CollaborationTools; import org.olat.collaboration.CollaborationTools;
import org.olat.core.CoreSpringFactory; import org.olat.core.CoreSpringFactory;
...@@ -134,7 +135,7 @@ class GroupfoldersWebDAVMergeSource extends WebDAVMergeSource { ...@@ -134,7 +135,7 @@ class GroupfoldersWebDAVMergeSource extends WebDAVMergeSource {
VFSSecurityCallback secCallback; VFSSecurityCallback secCallback;
if(writeAccess) { if(writeAccess) {
SubscriptionContext sc = new SubscriptionContext(group, "toolfolder"); SubscriptionContext sc = new SubscriptionContext(group, "toolfolder");
secCallback = new FullAccessWithLazyQuotaCallback(folderPath, sc); secCallback = new FullAccessWithLazyQuotaCallback(folderPath, QuotaConstants.IDENTIFIER_DEFAULT_GROUPS, sc);
} else { } else {
secCallback = new ReadOnlyCallback(); secCallback = new ReadOnlyCallback();
} }
......
...@@ -356,7 +356,11 @@ public class BinderPageListController extends AbstractPageListController { ...@@ -356,7 +356,11 @@ public class BinderPageListController extends AbstractPageListController {
String cmd = se.getCommand(); String cmd = se.getCommand();
if("select-page".equals(cmd)) { if("select-page".equals(cmd)) {
PortfolioElementRow row = model.getObject(se.getIndex()); PortfolioElementRow row = model.getObject(se.getIndex());
doOpenRow(ureq, row, false); if(row.isPendingAssignment()) {
doStartAssignment(ureq, row);
} else {
doOpenRow(ureq, row, false);
}
} }
} }
} else if(previousSectionLink == source) { } else if(previousSectionLink == source) {
......
...@@ -191,13 +191,15 @@ public class InvitationEditRightsController extends FormBasicController { ...@@ -191,13 +191,15 @@ public class InvitationEditRightsController extends FormBasicController {
linkEl.setElementCssClass("o_sel_pf_invitation_url"); linkEl.setElementCssClass("o_sel_pf_invitation_url");
linkEl.setLabel("invitation.link", null); linkEl.setLabel("invitation.link", null);
subjectEl = uifactory.addTextElement("subjectElem", "mail.subject", 128, mailTemplate.getSubjectTemplate(), inviteeCont); if(mailTemplate != null) {
subjectEl.setDisplaySize(60); subjectEl = uifactory.addTextElement("subjectElem", "mail.subject", 128, mailTemplate.getSubjectTemplate(), inviteeCont);
subjectEl.setMandatory(true); subjectEl.setDisplaySize(60);
subjectEl.setMandatory(true);
bodyEl = uifactory.addTextAreaElement("bodyElem", "mail.body", -1, 15, 60, true, mailTemplate.getBodyTemplate(), inviteeCont);
bodyEl.setHelpUrlForManualPage("E-Mail"); bodyEl = uifactory.addTextAreaElement("bodyElem", "mail.body", -1, 15, 60, true, mailTemplate.getBodyTemplate(), inviteeCont);
bodyEl.setMandatory(true); bodyEl.setHelpUrlForManualPage("E-Mail");
bodyEl.setMandatory(true);
}
//binder //binder
MultipleSelectionElement accessEl = uifactory.addCheckboxesHorizontal("access-" + (counter++), null, formLayout, theKeys, theValues); MultipleSelectionElement accessEl = uifactory.addCheckboxesHorizontal("access-" + (counter++), null, formLayout, theKeys, theValues);
......
...@@ -318,6 +318,7 @@ index.header=Lernressourcen ...@@ -318,6 +318,7 @@ index.header=Lernressourcen
index.header.alt=Suchen Sie nach Lernressourcen index.header.alt=Suchen Sie nach Lernressourcen
info.could.not.delete.entry=Der Eintrag konnte nicht gel\u00F6scht werden. info.could.not.delete.entry=Der Eintrag konnte nicht gel\u00F6scht werden.
info.entry.deleted=Der Eintrag wurde gel\u00F6scht. info.entry.deleted=Der Eintrag wurde gel\u00F6scht.
info.entry.read.only=Der Eintrag ist erfolgreich beendet.
info.header=<i class\='o_icon o_icon-lg o_icon_info_resource'> </i> info.header=<i class\='o_icon o_icon-lg o_icon_info_resource'> </i>
info.message.change.title=Der Kurs wurde erfolgreich auf den Status [deaktiviert] gesetzt. info.message.change.title=Der Kurs wurde erfolgreich auf den Status [deaktiviert] gesetzt.
launch.noaccess=Sie haben zu wenig Berechtigungen, um diese Lernressource zu starten. launch.noaccess=Sie haben zu wenig Berechtigungen, um diese Lernressource zu starten.
......
...@@ -314,6 +314,7 @@ index.header=Learning resources ...@@ -314,6 +314,7 @@ index.header=Learning resources
index.header.alt=Search for your learning resources index.header.alt=Search for your learning resources
info.could.not.delete.entry=This entry could not be deleted. info.could.not.delete.entry=This entry could not be deleted.
info.entry.deleted=Entry deleted. info.entry.deleted=Entry deleted.
info.entry.read.only=Entry was successfully finished.
info.header=<i class\='o_icon o_icon-lg o_icon_info_resource'> </i> info.header=<i class\='o_icon o_icon-lg o_icon_info_resource'> </i>
info.message.change.title=This course has been changed successfully to [deactivated]. info.message.change.title=This course has been changed successfully to [deactivated].
launch.noaccess=You have not enough access rights to launch this learning resource. launch.noaccess=You have not enough access rights to launch this learning resource.
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment