diff --git a/src/main/java/org/olat/modules/portfolio/ui/AccessRightsEditController.java b/src/main/java/org/olat/modules/portfolio/ui/AccessRightsEditController.java index 6fdfc7e3187e5d016c1273ccfb5f9c2f109f9311..bf46e7ca18c1f55e06c7889e7b7773a8269c6ffc 100644 --- a/src/main/java/org/olat/modules/portfolio/ui/AccessRightsEditController.java +++ b/src/main/java/org/olat/modules/portfolio/ui/AccessRightsEditController.java @@ -167,7 +167,7 @@ public class AccessRightsEditController extends FormBasicController { if(formLayout instanceof FormLayoutContainer) { FormLayoutContainer layoutCont = (FormLayoutContainer)formLayout; layoutCont.contextPut("binderRow", binderRow); - layoutCont.contextPut("grading", new Boolean(grading)); + layoutCont.contextPut("grading", Boolean.valueOf(grading)); } if(hasButtons) { diff --git a/src/main/java/org/olat/modules/portfolio/ui/_i18n/LocalStrings_de.properties b/src/main/java/org/olat/modules/portfolio/ui/_i18n/LocalStrings_de.properties index 4cbe12c191d19a9ffab28c540a4d00a61941d669..88f5094c8800f2aed0ba0f60f379da63197e657b 100644 --- a/src/main/java/org/olat/modules/portfolio/ui/_i18n/LocalStrings_de.properties +++ b/src/main/java/org/olat/modules/portfolio/ui/_i18n/LocalStrings_de.properties @@ -186,6 +186,7 @@ error.invalid.type=Dieser Dateityp ist nicht unters\u00FCtzt. error.invitation.mail.used=Diese E-Mailadresse wird bereits von einem OpenOlat-Benutzer verwendet. error.mail.invalid=Bitte geben Sie eine g\u00FCltige E-Mailadresse an. error.mimetype=$org.olat.core.commons.modules.bc\:WrongMimeType +error.missing.permissions=Sie m\u00FCssen mindestens eine Berechtigung w\u00E4hlen. error.score=Punkte m\u00FCssen zwischen {0} und {1} sein. Oder die maximale Punktzahl, welche im Kurs definiert worden ist, wurde bereits mit anderen Sektionen erreicht. Mehr Informationen finden Sie im Bewertungswerkzeug des Kurses "{2}". existing.invitee.selection=Bestehende Benutzer export.binder=Mappe exportieren diff --git a/src/main/java/org/olat/modules/portfolio/ui/_i18n/LocalStrings_en.properties b/src/main/java/org/olat/modules/portfolio/ui/_i18n/LocalStrings_en.properties index 108788f1921699a5e769c248cf14dcccc586d7eb..523f0c0ef5f76a496e1b5b33bcb2a66556f91ca3 100644 --- a/src/main/java/org/olat/modules/portfolio/ui/_i18n/LocalStrings_en.properties +++ b/src/main/java/org/olat/modules/portfolio/ui/_i18n/LocalStrings_en.properties @@ -186,6 +186,7 @@ error.invalid.type=This file type is not supported. error.invitation.mail.used=This e-mail address is already used by an OpenOlat user. error.mail.invalid=Please provide a valid e-mail address. error.mimetype=$org.olat.core.commons.modules.bc\:WrongMimeType +error.missing.permissions=You must choose at least one permission. error.score=Score is not between {0} and {1}. Or the maximum score defined in the course has already been reached with other sections. For more details see the assessment tool of the course "{2}". existing.invitee.selection=Existing user export.binder=Export binder diff --git a/src/main/java/org/olat/modules/portfolio/ui/_i18n/LocalStrings_fr.properties b/src/main/java/org/olat/modules/portfolio/ui/_i18n/LocalStrings_fr.properties index 50851d1e876b8cd6c892805b001212e1dbc02e37..f6f785d9315519e8c98c17dac45405b02eda34c1 100644 --- a/src/main/java/org/olat/modules/portfolio/ui/_i18n/LocalStrings_fr.properties +++ b/src/main/java/org/olat/modules/portfolio/ui/_i18n/LocalStrings_fr.properties @@ -186,6 +186,7 @@ error.invalid.type=Ce type de fichier n'est pas support\u00E9. error.invitation.mail.used=Cette adresse e-mail est d\u00E9j\u00E0 utilis\u00E9e par un utilisateur OLAT. error.mail.invalid=Indiquez une adresse e-mail valide, svp. error.mimetype=$org.olat.core.commons.modules.bc\:WrongMimeType +error.missing.permissions=Vous devez choisir au moins une permission. error.score=Le nombre total de points doit se situer entre {0} et {1}. Ou le nombre de points maximum a d\u00E9j\u00E0 \u00E9t\u00E9 atteint avec d'autres sections. Vous trouverez plus d'informations dans l'outil d'\u00E9valuation du cours "{2}". existing.invitee.selection=Utilisateur existant export.binder=Exporter le classeur diff --git a/src/main/java/org/olat/modules/portfolio/ui/shared/SharedPagesController.java b/src/main/java/org/olat/modules/portfolio/ui/shared/SharedPagesController.java index 9252e3efed12910eb18c91a4f61184b46ccde241..dfe8e442da5bf3adc6f53fc295152ba398cab12a 100644 --- a/src/main/java/org/olat/modules/portfolio/ui/shared/SharedPagesController.java +++ b/src/main/java/org/olat/modules/portfolio/ui/shared/SharedPagesController.java @@ -40,6 +40,7 @@ import org.olat.core.gui.components.form.flexible.impl.elements.table.FlexiCellR import org.olat.core.gui.components.form.flexible.impl.elements.table.FlexiColumnModel; import org.olat.core.gui.components.form.flexible.impl.elements.table.FlexiTableColumnModel; import org.olat.core.gui.components.form.flexible.impl.elements.table.FlexiTableDataModelFactory; +import org.olat.core.gui.components.form.flexible.impl.elements.table.FlexiTableReduceEvent; import org.olat.core.gui.components.form.flexible.impl.elements.table.FlexiTableSearchEvent; import org.olat.core.gui.components.form.flexible.impl.elements.table.SelectionEvent; import org.olat.core.gui.components.form.flexible.impl.elements.table.StaticFlexiCellRenderer; @@ -280,7 +281,7 @@ public class SharedPagesController extends FormBasicController implements Activa } } else if(event instanceof FlexiTableSearchEvent) { FlexiTableSearchEvent se = (FlexiTableSearchEvent)event; - if(FlexiTableSearchEvent.QUICK_SEARCH.equals(se.getCommand()) + if(FlexiTableReduceEvent.QUICK_SEARCH.equals(se.getCommand()) || FormEvent.RESET.getCommand().equals(se.getCommand())) { loadModel(true, true); } diff --git a/src/main/java/org/olat/modules/portfolio/ui/wizard/AccessRightsEditStepController.java b/src/main/java/org/olat/modules/portfolio/ui/wizard/AccessRightsEditStepController.java index 3fac4fd2a90bec7acdc3d76b4fb1f3009ee27285..7eaa631618358c936eb5c263f93dfc2af8a1a15c 100644 --- a/src/main/java/org/olat/modules/portfolio/ui/wizard/AccessRightsEditStepController.java +++ b/src/main/java/org/olat/modules/portfolio/ui/wizard/AccessRightsEditStepController.java @@ -68,6 +68,20 @@ public class AccessRightsEditStepController extends StepFormBasicController { formLayout.add("access_rights", accessRightsCtrl.getInitialFormItem()); } + @Override + protected boolean validateFormLogic(UserRequest ureq) { + boolean allOk = super.validateFormLogic(ureq); + + accessRightsCtrl.getInitialFormItem().clearError(); + List<AccessRightChange> accessRightChanges = accessRightsCtrl.getChanges(); + if(accessRightChanges == null || accessRightChanges.isEmpty()) { + accessRightsCtrl.getInitialFormItem().setErrorKey("error.missing.permissions", null); + allOk &= false; + } + + return allOk; + } + @Override protected void formOK(UserRequest ureq) { List<AccessRightChange> accessRightChanges = accessRightsCtrl.getChanges(); diff --git a/src/main/java/org/olat/modules/portfolio/ui/wizard/_content/access_rights_step.html b/src/main/java/org/olat/modules/portfolio/ui/wizard/_content/access_rights_step.html index 4dc15f93ce073f67c3ecdb688c35715cc1946f4f..f17da08bcb765ebc6c3d1233e4c87b84a4f31775 100644 --- a/src/main/java/org/olat/modules/portfolio/ui/wizard/_content/access_rights_step.html +++ b/src/main/java/org/olat/modules/portfolio/ui/wizard/_content/access_rights_step.html @@ -1 +1,6 @@ -$r.render("access_rights") \ No newline at end of file +$r.render("access_rights") +#if($f.hasError("access_rights")) +<div class="clearfix"> + $r.render("access_rights_ERROR") +</div> +#end \ No newline at end of file