diff --git a/src/main/java/org/olat/core/commons/fullWebApp/BaseFullWebappController.java b/src/main/java/org/olat/core/commons/fullWebApp/BaseFullWebappController.java index f5431a16c098f6d85cbfcc95829ab94db023b577..af90cd37ce2f0a51c064e43592419286a89227bf 100644 --- a/src/main/java/org/olat/core/commons/fullWebApp/BaseFullWebappController.java +++ b/src/main/java/org/olat/core/commons/fullWebApp/BaseFullWebappController.java @@ -1352,15 +1352,17 @@ public class BaseFullWebappController extends BasicController implements DTabs, userToolsMenuCtrl.lock(); } - for(int i=dtabsControllers.size(); i-->0; ) { - DTab tab = dtabs.get(i); - if(lockResource == null - || !lockResource.getResourceableId().equals(tab.getOLATResourceable().getResourceableId())) { - removeDTab(null, tab); - } else if (lockResource != null - && lockResource.getResourceableId().equals(tab.getOLATResourceable().getResourceableId()) - && lockStatus != LockStatus.locked) { - removeDTab(null, tab); + if(dtabsControllers != null) { + for(int i=dtabsControllers.size(); i-->0; ) { + DTab tab = dtabs.get(i); + if(lockResource == null + || !lockResource.getResourceableId().equals(tab.getOLATResourceable().getResourceableId())) { + removeDTab(null, tab); + } else if (lockResource != null + && lockResource.getResourceableId().equals(tab.getOLATResourceable().getResourceableId()) + && lockStatus != LockStatus.locked) { + removeDTab(null, tab); + } } } navSitesVc.contextPut("visible", Boolean.FALSE); diff --git a/src/main/java/org/olat/course/nodes/GTACourseNode.java b/src/main/java/org/olat/course/nodes/GTACourseNode.java index c48259b614611c6e96caaf5cdf95a7838351c0e1..c0121237445a4b0479d393f375b5181558327984 100644 --- a/src/main/java/org/olat/course/nodes/GTACourseNode.java +++ b/src/main/java/org/olat/course/nodes/GTACourseNode.java @@ -569,7 +569,7 @@ public class GTACourseNode extends AbstractAccessableCourseNode implements Asses + "_" + assessedIdentity.getKey(); Task task = gtaManager.getTask(assessedIdentity, taskList); - if(task != null && config.getBooleanSafe(GTASK_ASSIGNMENT)) { + if(task != null && task.getTaskName() != null && config.getBooleanSafe(GTASK_ASSIGNMENT)) { File taskDirectory = gtaManager.getTasksDirectory(course.getCourseEnvironment(), this); File taskFile = new File(taskDirectory, task.getTaskName()); if(taskFile.exists()) { @@ -614,7 +614,7 @@ public class GTACourseNode extends AbstractAccessableCourseNode implements Asses + "_" + businessGroup.getKey(); Task task = gtaManager.getTask(businessGroup, taskList); - if(task != null && config.getBooleanSafe(GTASK_ASSIGNMENT)) { + if(task != null && task.getTaskName() != null && config.getBooleanSafe(GTASK_ASSIGNMENT)) { File taskDirectory = gtaManager.getTasksDirectory(course.getCourseEnvironment(), this); File taskFile = new File(taskDirectory, task.getTaskName()); if(taskFile.exists()) { diff --git a/src/main/java/org/olat/course/nodes/cl/ui/CheckListRunController.java b/src/main/java/org/olat/course/nodes/cl/ui/CheckListRunController.java index 6f7878498e4a89cb6b7aca24f7a5aa56dd93ece9..fc6d9850aa82a1a5bd756eb4ed8121a9efdd3796 100644 --- a/src/main/java/org/olat/course/nodes/cl/ui/CheckListRunController.java +++ b/src/main/java/org/olat/course/nodes/cl/ui/CheckListRunController.java @@ -348,6 +348,10 @@ public class CheckListRunController extends FormBasicController implements Contr return checkboxEl.getName(); } + public boolean hasDownload() { + return StringHelper.containsNonWhitespace(checkbox.getFilename()) && downloadLink != null; + } + public String getDownloadName() { return downloadLink.getComponent().getComponentName(); } diff --git a/src/main/java/org/olat/course/nodes/cl/ui/CheckboxAssessmentController.java b/src/main/java/org/olat/course/nodes/cl/ui/CheckboxAssessmentController.java index fdd24d53217d9f2a744ac0d2ce9a72ee1129baa2..5fae53ee772cedc6f6a288592cae4ca9ff84d8d9 100644 --- a/src/main/java/org/olat/course/nodes/cl/ui/CheckboxAssessmentController.java +++ b/src/main/java/org/olat/course/nodes/cl/ui/CheckboxAssessmentController.java @@ -203,7 +203,7 @@ public class CheckboxAssessmentController extends FormBasicController { TextElement pointEl = uifactory.addTextElement(name + "point", null, 5, pointVal, formLayout); pointEl.setDisplaySize(5); - MultipleSelectionElement checkEl = uifactory.addCheckboxesHorizontal(name + "check", formLayout, onKeys, onValues); + MultipleSelectionElement checkEl = uifactory.addCheckboxesHorizontal(name + "check", null, formLayout, onKeys, onValues); checkEl.setDomReplacementWrapperRequired(false); checkEl.addActionListener(FormEvent.ONCHANGE); checkEl.setUserObject(row); diff --git a/src/main/java/org/olat/course/nodes/cl/ui/_content/run.html b/src/main/java/org/olat/course/nodes/cl/ui/_content/run.html index 80f560223af327c7507403cd0d443932d8531cfe..a9f5cb760d3dfeea8820fc9a5f81829a58eedda6 100644 --- a/src/main/java/org/olat/course/nodes/cl/ui/_content/run.html +++ b/src/main/java/org/olat/course/nodes/cl/ui/_content/run.html @@ -153,7 +153,7 @@ #if($checkbox.description) <div class="o_cl_desc">$r.xssScan($checkbox.description)</div> #end - #if($checkbox.checkbox.filename) + #if(${checkbox.hasDownload()}) <div class="o_cl_file">$r.render($checkbox.downloadName)</div> #end </div> diff --git a/src/main/java/org/olat/course/nodes/ta/DropboxForm.java b/src/main/java/org/olat/course/nodes/ta/DropboxForm.java index fde66bcbb942b8b673db99218724b02179304cc7..2a2cccd5dda89993d5686a3c8473e25727526843 100644 --- a/src/main/java/org/olat/course/nodes/ta/DropboxForm.java +++ b/src/main/java/org/olat/course/nodes/ta/DropboxForm.java @@ -77,7 +77,8 @@ public class DropboxForm extends FormBasicController { protected void formOK(UserRequest ureq) { fireEvent (ureq, Event.DONE_EVENT); } - + + @Override protected void formInnerEvent (UserRequest ureq, FormItem source, FormEvent event) { if (source == enablemail) { confirmation.setMandatory (enablemail.isSelected(0)); @@ -112,7 +113,9 @@ public class DropboxForm extends FormBasicController { confirmation = uifactory.addTextAreaElement("confirmation", "form.dropbox.confirmation", 2500, 4, 40, true, sConfirmation != null ? sConfirmation : "", formLayout); Boolean enableMail = (Boolean)config.get(TACourseNode.CONF_DROPBOX_ENABLEMAIL); - confirmation.setMandatory(enableMail); + if(enableMail != null) { + confirmation.setMandatory(enableMail.booleanValue()); + } enablemail = uifactory.addCheckboxesHorizontal("enablemail", "form.dropbox.enablemail", formLayout, new String[]{"xx"}, new String[]{null}); enablemail.select("xx", enableMail != null ? enableMail.booleanValue() : true); enablemail.addActionListener(FormEvent.ONCLICK); diff --git a/src/main/java/org/olat/user/propertyhandlers/_i18n/LocalStrings_de.properties b/src/main/java/org/olat/user/propertyhandlers/_i18n/LocalStrings_de.properties index 324c50aa61a1fbdc6efbfec9cfc345b5a697e48a..d11499e49324ea699b3a0a8e1545116ced549f4e 100644 --- a/src/main/java/org/olat/user/propertyhandlers/_i18n/LocalStrings_de.properties +++ b/src/main/java/org/olat/user/propertyhandlers/_i18n/LocalStrings_de.properties @@ -259,13 +259,13 @@ form.group.address=Adresse form.group.contact=Kontaktdaten form.group.institute=Institution form.group.person=Person -form.group.about=Über mich +form.group.about=\u00DCber mich form.group.officeaddress=Gesch\u00E4ftsadresse form.name.birthDay=Geburtsdatum form.name.birthDay.error=Bitte geben Sie ein g\u00FCltiges Datum an. form.name.birthDay.error.empty=Das Feld "Geburtsdatum" darf nicht leer sein. -form.name.date.future.error=Das gewählte Datum muss in der Zukunft liegen -form.name.date.past.error=Das gewählte Datum muss in der Vergangenheit liegen +form.name.date.future.error=Das gew\u00E4hlte Datum muss in der Zukunft liegen +form.name.date.past.error=Das gew\u00E4hlte Datum muss in der Vergangenheit liegen form.name.city=Stadt form.name.city.error.empty=Das Feld "Stadt" darf nicht leer sein. form.name.country=Land @@ -427,5 +427,5 @@ text.element.error.notlongerthan=Wert enth\u00E4lt mehr wie {0} Zeichen username=Benutzername yph.from=Von yph.to=Bis -yph.err=Bitte geben Sie einen gültigen Wert ein -yph.infomsg=Bitte geben Sie 'von' und 'bis' Jahreszahlen (JJJJ) ein. <br />Sie können auch '+N' oder '-N' verwenden... \ No newline at end of file +yph.err=Bitte geben Sie einen g\u00FCltigen Wert ein +yph.infomsg=Bitte geben Sie 'von' und 'bis' Jahreszahlen (JJJJ) ein. <br />Sie k\u00F6nnen auch '+N' oder '-N' verwenden... \ No newline at end of file