diff --git a/src/main/java/org/olat/core/_i18n/LocalStrings_de.properties b/src/main/java/org/olat/core/_i18n/LocalStrings_de.properties index 60a1ad7e864586bdc8c0baa3638c40ad5c0d2598..ad8436dafb2cadfbd711e36c8354ead0e8ec1e0d 100644 --- a/src/main/java/org/olat/core/_i18n/LocalStrings_de.properties +++ b/src/main/java/org/olat/core/_i18n/LocalStrings_de.properties @@ -127,6 +127,6 @@ warn.header=Achtung warn.notdispatched=Diese Seite wurde ver\u00E4ndert. Bitte beachten Sie allf\u00E4llige Meldungen. warn.reload=Bitte benutzen Sie nicht den `Neu Laden` oder `Zur\u00FCck` Button Ihres Browsers. warning.invalid.csrf=CSRF mismatch -warning.multi.window=Sie haben mehrmals die gleiche Fenster ge\u00F6ffnet. +warning.multi.window=Sie haben mehrmals das gleiche Fenster ge\u00F6ffnet. welcome=Willkommen yes=Ja diff --git a/src/main/java/org/olat/core/_i18n/LocalStrings_en.properties b/src/main/java/org/olat/core/_i18n/LocalStrings_en.properties index 1d8c26e971993a58575531a57ce5311700275057..6fb9e80e52a05e350da0cc3c584661af714c0c8c 100644 --- a/src/main/java/org/olat/core/_i18n/LocalStrings_en.properties +++ b/src/main/java/org/olat/core/_i18n/LocalStrings_en.properties @@ -127,6 +127,6 @@ warn.header=Warning warn.notdispatched=This page has been modified. Please consider any new messages. warn.reload=Please do not use the `Reload` or `Back` button of your browser. warning.invalid.csrf=CSRF mismatch -warning.multi.window=You have opened several same windows. +warning.multi.window=You have opened the same window several times. welcome=Welcome yes=Yes diff --git a/src/main/java/org/olat/core/_i18n/LocalStrings_fr.properties b/src/main/java/org/olat/core/_i18n/LocalStrings_fr.properties index c9b5eb3a591fa9c8e0b9836c7ed1f18309301bb1..979b29746bd6d3b8b368c76a5962a1cd512864da 100644 --- a/src/main/java/org/olat/core/_i18n/LocalStrings_fr.properties +++ b/src/main/java/org/olat/core/_i18n/LocalStrings_fr.properties @@ -125,8 +125,8 @@ user.guest=invit\u00E9 warn.beta.feature=Attention\! Cette fonction se trouve dans la phase d'essai. Veuillez noter que des erreurs peuvent appara\u00EEtre si cette fonction est utilis\u00E9e. warn.header=Attention warn.notdispatched=Cette page a \u00E9t\u00E9 modifi\u00E9e. Veuillez tenir compte d'\u00E9ventuels messages. -warn.reload=Veuillez ne pas cliquer sur `Actualiser` ou `Pr\u00E9c\u00E9dent` de votre navigateur. +warn.reload=Veuillez ne pas cliquer sur "Actualiser" ou "Pr\u00E9c\u00E9dent" de votre navigateur. warning.invalid.csrf=CSRF mismatch -warning.multi.window=Vous avez ouvert plusieurs fen\u00EAtres. +warning.multi.window=Vous avez ouvert plusieurs fois la m\u00EAme fen\u00EAtre. welcome=Bienvenue yes=Oui diff --git a/src/main/java/org/olat/course/disclaimer/CourseDisclaimerManager.java b/src/main/java/org/olat/course/disclaimer/CourseDisclaimerManager.java index 32978bf8ec866ae81310ea56e3d14e51a25e40c9..84b9e7c5bd4175a616ab721228d048e9b48a03a0 100644 --- a/src/main/java/org/olat/course/disclaimer/CourseDisclaimerManager.java +++ b/src/main/java/org/olat/course/disclaimer/CourseDisclaimerManager.java @@ -23,6 +23,7 @@ import java.util.List; import org.olat.basesecurity.IdentityRef; import org.olat.core.id.Identity; +import org.olat.core.id.Roles; import org.olat.repository.RepositoryEntry; import org.olat.repository.RepositoryEntryRef; @@ -53,7 +54,7 @@ public interface CourseDisclaimerManager { * @param disc1Accepted * @param disc2Accepted */ - public void acceptDisclaimer(RepositoryEntry repositoryEntry, Identity identity, boolean disc1Accepted, boolean disc2Accepted); + public void acceptDisclaimer(RepositoryEntry repositoryEntry, Identity identity, Roles roles, boolean disc1Accepted, boolean disc2Accepted); /** * Deletes all disclaimer consent database entries related to a repository entry and a list of users @@ -86,7 +87,7 @@ public interface CourseDisclaimerManager { * @param identityRef * @return boolean */ - public boolean isAccessGranted(RepositoryEntry repositoryEntry, IdentityRef identityRef); + public boolean isAccessGranted(RepositoryEntry repositoryEntry, IdentityRef identityRef, Roles roles); /** * Returns whether any disclaimer has been accepted yet diff --git a/src/main/java/org/olat/course/disclaimer/manager/CourseDisclaimerManagerImpl.java b/src/main/java/org/olat/course/disclaimer/manager/CourseDisclaimerManagerImpl.java index f8f172fe1f1e4a3386f3d89f1dc7e9a0da9c754f..a3792fcac5a8c56303caaa68c4928711023e4e3b 100644 --- a/src/main/java/org/olat/course/disclaimer/manager/CourseDisclaimerManagerImpl.java +++ b/src/main/java/org/olat/course/disclaimer/manager/CourseDisclaimerManagerImpl.java @@ -26,6 +26,7 @@ import org.olat.basesecurity.BaseSecurityManager; import org.olat.basesecurity.IdentityRef; import org.olat.core.commons.persistence.DB; import org.olat.core.id.Identity; +import org.olat.core.id.Roles; import org.olat.core.logging.Tracing; import org.olat.course.CourseFactory; import org.olat.course.config.CourseConfig; @@ -72,8 +73,8 @@ public class CourseDisclaimerManagerImpl implements CourseDisclaimerManager, Use } @Override - public void acceptDisclaimer(RepositoryEntry repositoryEntry, Identity identitiy, boolean disc1Accepted, boolean disc2Accepted) { - if (baseSecurityManager.getRoles(identitiy).isGuestOnly()) { + public void acceptDisclaimer(RepositoryEntry repositoryEntry, Identity identitiy, Roles roles, boolean disc1Accepted, boolean disc2Accepted) { + if (roles.isGuestOnly()) { return; } @@ -94,7 +95,7 @@ public class CourseDisclaimerManagerImpl implements CourseDisclaimerManager, Use } @Override - public boolean isAccessGranted(RepositoryEntry repositoryEntry, IdentityRef identitiyRef) { + public boolean isAccessGranted(RepositoryEntry repositoryEntry, IdentityRef identitiyRef, Roles roles) { CourseConfig courseConfig = CourseFactory.loadCourse(repositoryEntry.getOlatResource().getResourceableId()).getCourseConfig(); boolean accessGranted = true; @@ -115,7 +116,7 @@ public class CourseDisclaimerManagerImpl implements CourseDisclaimerManager, Use accessGranted &= false; } } - if (baseSecurityManager.getRoles(identitiyRef).isGuestOnly()) { + if (roles.isGuestOnly()) { accessGranted &= false; } } diff --git a/src/main/java/org/olat/course/disclaimer/ui/CourseDisclaimerConsentController.java b/src/main/java/org/olat/course/disclaimer/ui/CourseDisclaimerConsentController.java index e2cbbcebee53014aed42d320c69ce9f5a9679d9e..d09692bc14bd06aac600a278e05e55b9da67a736 100644 --- a/src/main/java/org/olat/course/disclaimer/ui/CourseDisclaimerConsentController.java +++ b/src/main/java/org/olat/course/disclaimer/ui/CourseDisclaimerConsentController.java @@ -68,7 +68,7 @@ public class CourseDisclaimerConsentController extends FormBasicController { @Override protected void formOK(UserRequest ureq) { - disclaimerManager.acceptDisclaimer(repositoryEntry, getIdentity(), courseConfig.isDisclaimerEnabled(1), courseConfig.isDisclaimerEnabled(2)); + disclaimerManager.acceptDisclaimer(repositoryEntry, getIdentity(), ureq.getUserSession().getRoles(), courseConfig.isDisclaimerEnabled(1), courseConfig.isDisclaimerEnabled(2)); fireEvent(ureq, Event.DONE_EVENT); } diff --git a/src/main/java/org/olat/course/nodes/gta/ui/_i18n/LocalStrings_de.properties b/src/main/java/org/olat/course/nodes/gta/ui/_i18n/LocalStrings_de.properties index 2eb94cb2e5e7eb8f8b1c10292b42501ec6a66897..0fd9a0a92ab5edb6c3bac7c7bf0108a138ef1146 100644 --- a/src/main/java/org/olat/course/nodes/gta/ui/_i18n/LocalStrings_de.properties +++ b/src/main/java/org/olat/course/nodes/gta/ui/_i18n/LocalStrings_de.properties @@ -347,6 +347,7 @@ upload.document=Dokument hochladen uploaded.by=hochgeladen von {0} user.visibility=$org.olat.course.assessment.ui.tool\:user.visibility user.visibility.hidden=$org.olat.course.assessment.ui.tool\:user.visibility.hidden +user.visibility.hidden.tooltip=$org.olat.course.assessment.ui.tool\:user.visibility.hidden.tooltip user.visibility.visible=$org.olat.course.assessment.ui.tool\:user.visibility.visible user.visibility.visible.tooltip=$org.olat.course.assessment.ui.tool\:user.visibility.visible.tooltip wait.for.solutions=Die Musterl\u00F6sung wird zum angegebenen Zeitpunkt freigegeben. diff --git a/src/main/java/org/olat/course/nodes/gta/ui/_i18n/LocalStrings_en.properties b/src/main/java/org/olat/course/nodes/gta/ui/_i18n/LocalStrings_en.properties index 38a71a66152f789ce832234b4d34ab9b2368c36b..6c00ad7e2f8fd30fe6b37b5df9b0d601b87033b0 100644 --- a/src/main/java/org/olat/course/nodes/gta/ui/_i18n/LocalStrings_en.properties +++ b/src/main/java/org/olat/course/nodes/gta/ui/_i18n/LocalStrings_en.properties @@ -347,6 +347,7 @@ upload.document=Upload document uploaded.by=uploaded by {0} user.visibility=$org.olat.course.assessment.ui.tool\:user.visibility user.visibility.hidden=$org.olat.course.assessment.ui.tool\:user.visibility.hidden +user.visibility.hidden.tooltip=$org.olat.course.assessment.ui.tool\:user.visibility.hidden.tooltip user.visibility.visible=$org.olat.course.assessment.ui.tool\:user.visibility.visible user.visibility.visible.tooltip=$org.olat.course.assessment.ui.tool\:user.visibility.visible.tooltip wait.for.solutions=The sample solution will be displayed at the date specified above. diff --git a/src/main/java/org/olat/course/nodes/gta/ui/_i18n/LocalStrings_fr.properties b/src/main/java/org/olat/course/nodes/gta/ui/_i18n/LocalStrings_fr.properties index 267aa1ab54c1b93934ba74a37da4472e449bc2b3..402c47b46f0838139847829744d74d9ec1ca9196 100644 --- a/src/main/java/org/olat/course/nodes/gta/ui/_i18n/LocalStrings_fr.properties +++ b/src/main/java/org/olat/course/nodes/gta/ui/_i18n/LocalStrings_fr.properties @@ -347,6 +347,7 @@ upload.document=T\u00E9l\u00E9charger un document uploaded.by=t\u00E9l\u00E9charg\u00E9 par {0} user.visibility=$org.olat.course.assessment.ui.tool\:user.visibility user.visibility.hidden=$org.olat.course.assessment.ui.tool\:user.visibility.hidden +user.visibility.hidden.tooltip=$org.olat.course.assessment.ui.tool\:user.visibility.hidden.tooltip user.visibility.visible=$org.olat.course.assessment.ui.tool\:user.visibility.visible user.visibility.visible.tooltip=$org.olat.course.assessment.ui.tool\:user.visibility.visible.tooltip wait.for.solutions=Les solutions mod\u00E8les seront visible apr\u00E8s l'heure sp\u00E9cifi\u00E9e. diff --git a/src/main/java/org/olat/course/nodes/gta/ui/_i18n/LocalStrings_it.properties b/src/main/java/org/olat/course/nodes/gta/ui/_i18n/LocalStrings_it.properties index ab36d3925d62ee87b406e282130f888ff296312d..eb2606dcd243385db1f2b1cb97da917292867e59 100644 --- a/src/main/java/org/olat/course/nodes/gta/ui/_i18n/LocalStrings_it.properties +++ b/src/main/java/org/olat/course/nodes/gta/ui/_i18n/LocalStrings_it.properties @@ -259,6 +259,7 @@ upload.document=Caricare un documento uploaded.by=caricato da {0} user.visibility=$org.olat.course.assessment.ui.tool\:user.visibility user.visibility.hidden=$org.olat.course.assessment.ui.tool\:user.visibility.hidden +user.visibility.hidden.tooltip=$org.olat.course.assessment.ui.tool\:user.visibility.hidden.tooltip user.visibility.visible=$org.olat.course.assessment.ui.tool\:user.visibility.visible user.visibility.visible.tooltip=$org.olat.course.assessment.ui.tool\:user.visibility.visible.tooltip wait.for.solutions=I modelli di soluzione saranno visibili alla data sopra indicata. diff --git a/src/main/java/org/olat/course/nodes/gta/ui/_i18n/LocalStrings_pl.properties b/src/main/java/org/olat/course/nodes/gta/ui/_i18n/LocalStrings_pl.properties index d6bd3a4b6e183769845a402fe9e09797d5c97993..94b6603184196743af3b1ca693481db79f85c0e9 100644 --- a/src/main/java/org/olat/course/nodes/gta/ui/_i18n/LocalStrings_pl.properties +++ b/src/main/java/org/olat/course/nodes/gta/ui/_i18n/LocalStrings_pl.properties @@ -167,7 +167,8 @@ task.type.title=Typ zadania upload.document=Prze\u015Blij dokument uploaded.by=przes\u0142any przez {0} user.visibility=$org.olat.course.assessment.ui.tool\:user.visibility -user.visibility.visible=$org.olat.course.assessment.ui.tool\:user.visibility.visible user.visibility.hidden=$org.olat.course.assessment.ui.tool\:user.visibility.hidden +user.visibility.hidden.tooltip=$org.olat.course.assessment.ui.tool\:user.visibility.hidden.tooltip +user.visibility.visible=$org.olat.course.assessment.ui.tool\:user.visibility.visible user.visibility.visible.tooltip=$org.olat.course.assessment.ui.tool\:user.visibility.visible.tooltip warning.tasks.in.process.delete.title=$\:warning.tasks.in.process.title diff --git a/src/main/java/org/olat/course/nodes/gta/ui/_i18n/LocalStrings_pt_BR.properties b/src/main/java/org/olat/course/nodes/gta/ui/_i18n/LocalStrings_pt_BR.properties index a26605df01ae38565025b9c2f64aab52bf0f7b9c..5d92109246ec5a1739d83d4bbc6d45b91d58fe2d 100644 --- a/src/main/java/org/olat/course/nodes/gta/ui/_i18n/LocalStrings_pt_BR.properties +++ b/src/main/java/org/olat/course/nodes/gta/ui/_i18n/LocalStrings_pt_BR.properties @@ -347,6 +347,7 @@ upload.document=Enviar documento uploaded.by=enviado por user.visibility=$org.olat.course.assessment.ui.tool\:user.visibility user.visibility.hidden=$org.olat.course.assessment.ui.tool\:user.visibility.hidden +user.visibility.hidden.tooltip=$org.olat.course.assessment.ui.tool\:user.visibility.hidden.tooltip user.visibility.visible=$org.olat.course.assessment.ui.tool\:user.visibility.visible user.visibility.visible.tooltip=$org.olat.course.assessment.ui.tool\:user.visibility.visible.tooltip wait.for.solutions=A solu\u00E7\u00E3o de amostra ser\u00E1 exibida na data especificada acima. diff --git a/src/main/java/org/olat/course/nodes/opencast/ui/_i18n/LocalStrings_de.properties b/src/main/java/org/olat/course/nodes/opencast/ui/_i18n/LocalStrings_de.properties index ec18426e0831abafcaf0814cf156be39d05b167a..f9af36069f982e5a154305f5cf848342d037abfd 100644 --- a/src/main/java/org/olat/course/nodes/opencast/ui/_i18n/LocalStrings_de.properties +++ b/src/main/java/org/olat/course/nodes/opencast/ui/_i18n/LocalStrings_de.properties @@ -1,6 +1,6 @@ -config.desc.roles=Sie erhalten alle Serien/Videos der Rollen '{0}'. -config.desc.select=W\u00e4hlen Sie eine Serie oder ein Video aus, indem sie im Feld unten nach seinem Titel suchen. -config.desc.user=Sie erhalten alle Serien/Videos f\u00fcr den Benutzer '{0}'. +config.desc.roles=Sie erhalten alle Serien / Videos der Rollen '{0}'. +config.desc.select=W\u00e4hlen Sie eine Serie oder ein Video aus, indem Sie im Feld unten nach seinem Titel suchen. Geben Sie * ein, um alle Ihre Serien / Videos zu Auswahl anzuzeigen. +config.desc.user=Sie erhalten alle Serien / Videos f\u00fcr den Benutzer '{0}'. config.display=Anzeige config.display.event=Video config.display.series=Serie diff --git a/src/main/java/org/olat/course/nodes/opencast/ui/_i18n/LocalStrings_en.properties b/src/main/java/org/olat/course/nodes/opencast/ui/_i18n/LocalStrings_en.properties index 2e16549c2d909bdca831bba1820bcba53d850e0a..4f2d4a4c9982b0543361a981c0406678a96d0530 100644 --- a/src/main/java/org/olat/course/nodes/opencast/ui/_i18n/LocalStrings_en.properties +++ b/src/main/java/org/olat/course/nodes/opencast/ui/_i18n/LocalStrings_en.properties @@ -1,6 +1,6 @@ -config.desc.roles=You will get all series/videos of roles '{0}'. -config.desc.select=Select a series or a video by searching for its title in the field below. -config.desc.user=You will get all series/videos of user '{0}'. +config.desc.roles=You will get all series / videos of roles '{0}'. +config.desc.select=Select a series or a video by searching for its title in the field below. Enter * to display all your series / videos for selection. +config.desc.user=You will get all series / videos of user '{0}'. config.display=Display config.display.event=Video config.display.series=Series diff --git a/src/main/java/org/olat/course/nodes/opencast/ui/_i18n/LocalStrings_fr.properties b/src/main/java/org/olat/course/nodes/opencast/ui/_i18n/LocalStrings_fr.properties index 3a295909d9af4a5cf4fdc281ba6053e69c1bd615..ed1659fa88e2b17af3357971695ea1307b18b235 100644 --- a/src/main/java/org/olat/course/nodes/opencast/ui/_i18n/LocalStrings_fr.properties +++ b/src/main/java/org/olat/course/nodes/opencast/ui/_i18n/LocalStrings_fr.properties @@ -1,6 +1,6 @@ #Thu Aug 20 15:06:38 CEST 2020 config.desc.roles=Vous recevez toutes les s\u00E9ries et vid\u00E9os des r\u00F4les "{0}". -config.desc.select=S\u00E9lectionnez une s\u00E9rie ou une vid\u00E9o en cherchant son titre dans le champ de texte ci-dessus. +config.desc.select=S\u00E9lectionnez une s\u00E9rie ou une vid\u00E9o en cherchant son titre dans le champ de texte ci-dessus. Saisissez * pour afficher toutes vos s\u00E9ries / vid\u00E9os pour la s\u00E9lection. config.desc.user=Vous recevrez toutes les s\u00E9ries et vid\u00E9os de l'utilisateur "{0}". config.display=Affichage config.display.event=Vid\u00E9o diff --git a/src/main/java/org/olat/course/nodes/pf/ui/PFCoachController.java b/src/main/java/org/olat/course/nodes/pf/ui/PFCoachController.java index d275c6a389ab356e27f15aa3394d7e52339c2a76..97c1a0913353d58d7aa7296ee54c839c2cb80daa 100644 --- a/src/main/java/org/olat/course/nodes/pf/ui/PFCoachController.java +++ b/src/main/java/org/olat/course/nodes/pf/ui/PFCoachController.java @@ -157,9 +157,9 @@ public class PFCoachController extends FormBasicController implements Controller pfManager.uploadFileToDropBox(pfFileUploadCtr.getUpLoadFile(), pfFileUploadCtr.getUploadFileName(), 4, courseEnv, pfNode, getIdentity()); } - cmc.deactivate(); - cleanUpCMC(); - } + } + cmc.deactivate(); + cleanUpCMC(); } else if (source == cmc) { cleanUpCMC(); } diff --git a/src/main/java/org/olat/course/nodes/pf/ui/PFFileUploadController.java b/src/main/java/org/olat/course/nodes/pf/ui/PFFileUploadController.java index d936e2a6249e26d7c368fdff445b120d06eb37e3..56b376e4a91453f73704bd95eba287ec6c0b74a0 100644 --- a/src/main/java/org/olat/course/nodes/pf/ui/PFFileUploadController.java +++ b/src/main/java/org/olat/course/nodes/pf/ui/PFFileUploadController.java @@ -24,7 +24,6 @@ import java.io.File; import org.olat.core.gui.UserRequest; import org.olat.core.gui.components.form.flexible.FormItemContainer; import org.olat.core.gui.components.form.flexible.elements.FileElement; -import org.olat.core.gui.components.form.flexible.elements.StaticTextElement; import org.olat.core.gui.components.form.flexible.impl.FormBasicController; import org.olat.core.gui.components.form.flexible.impl.FormEvent; import org.olat.core.gui.components.form.flexible.impl.FormLayoutContainer; @@ -39,11 +38,10 @@ import org.olat.core.gui.control.WindowControl; public class PFFileUploadController extends FormBasicController { private FileElement uploadFileEl; - private StaticTextElement typeEl; private File uploadFile; private String uploadFileName; - private boolean uploadToAll; + private final boolean uploadToAll; public PFFileUploadController(UserRequest ureq, WindowControl wControl, boolean uploadToall) { super(ureq, wControl); @@ -54,32 +52,32 @@ public class PFFileUploadController extends FormBasicController { @Override protected void initForm(FormItemContainer formLayout, Controller listener, UserRequest ureq) { - uploadFileEl = uifactory.addFileElement(getWindowControl(), "upload", "textfield.upload", formLayout); uploadFileEl.addActionListener(FormEvent.ONCHANGE); - - typeEl = uifactory.addStaticTextElement("video.mime.type", "video.mime.type", "", formLayout); - typeEl.setVisible(false); - FormLayoutContainer buttonGroupLayout = FormLayoutContainer.createButtonLayout("buttons", getTranslator()); formLayout.add(buttonGroupLayout); + uifactory.addFormCancelButton("cancel", buttonGroupLayout, ureq, getWindowControl()); uifactory.addFormSubmitButton("submit", "upload.link", buttonGroupLayout); } + + @Override + protected void formCancelled(UserRequest ureq) { + fireEvent(ureq, Event.CANCELLED_EVENT); + } @Override protected void formOK(UserRequest ureq) { if (uploadFileEl.isUploadSuccess()) { - this.uploadFile = uploadFileEl.getUploadFile(); - this.uploadFileName = uploadFileEl.getUploadFileName(); - this.fireEvent(ureq, Event.DONE_EVENT); + uploadFile = uploadFileEl.getUploadFile(); + uploadFileName = uploadFileEl.getUploadFileName(); + fireEvent(ureq, Event.DONE_EVENT); } - } @Override protected void doDispose() { - + // } protected File getUpLoadFile () { @@ -93,5 +91,4 @@ public class PFFileUploadController extends FormBasicController { protected boolean isUploadToAll () { return uploadToAll; } - } diff --git a/src/main/java/org/olat/course/nodes/pf/ui/_i18n/LocalStrings_fr.properties b/src/main/java/org/olat/course/nodes/pf/ui/_i18n/LocalStrings_fr.properties index dfa94c53a446107451b41cca9d3831643591fda7..ddaa14c8ae7f1f1c14767e80924acaa94fc588f1 100644 --- a/src/main/java/org/olat/course/nodes/pf/ui/_i18n/LocalStrings_fr.properties +++ b/src/main/java/org/olat/course/nodes/pf/ui/_i18n/LocalStrings_fr.properties @@ -49,6 +49,6 @@ table.no.selection=Vous n'avez pas s\u00E9lectionn\u00E9 d'utilisateur. textfield.upload=T\u00E9l\u00E9charger un fichier time.frame=Limiter la p\u00E9riode de t\u00E9l\u00E9chargement timeframe.error=V\u00E9rifier que l'intervalle de temps sont correct. -upload.link=T\u00E9l\u00E9charger en masse +upload.link=T\u00E9l\u00E9verser en masse upload.success=Des fichiers ont \u00E9t\u00E9 t\u00E9l\u00E9charg\u00E9s valid.date=Entrez s'il vous pla\u00EEt une date valide. diff --git a/src/main/java/org/olat/course/run/RunMainController.java b/src/main/java/org/olat/course/run/RunMainController.java index a3627ed18f874aa4f778d93bf42992212d6d9a30..9ab3b232cb993383ce0b25df76ab28e8c160b210 100644 --- a/src/main/java/org/olat/course/run/RunMainController.java +++ b/src/main/java/org/olat/course/run/RunMainController.java @@ -282,7 +282,7 @@ public class RunMainController extends MainLayoutBasicController implements Gene // if a disclaimer is enabled, show it first if (courseModule.isDisclaimerEnabled() && course.getCourseEnvironment().getCourseConfig().isDisclaimerEnabled() && - !disclaimerManager.isAccessGranted(courseRepositoryEntry, getIdentity())) { + !disclaimerManager.isAccessGranted(courseRepositoryEntry, getIdentity(), ureq.getUserSession().getRoles())) { disclaimerController = new CourseDisclaimerConsentController(ureq, getWindowControl(), courseRepositoryEntry); listenTo(disclaimerController); coursemain.put("coursemain", disclaimerController.getInitialComponent()); diff --git a/src/main/java/org/olat/course/run/navigation/NavigationHandler.java b/src/main/java/org/olat/course/run/navigation/NavigationHandler.java index 32abb966e8a32758ce1a3281dd196a861c47ee9b..355dd3d714cd12dbc5a5e4414dd13be341cb3807 100644 --- a/src/main/java/org/olat/course/run/navigation/NavigationHandler.java +++ b/src/main/java/org/olat/course/run/navigation/NavigationHandler.java @@ -62,7 +62,9 @@ import org.olat.core.util.resource.OresHelper; import org.olat.core.util.xml.XStreamHelper; import org.olat.course.condition.additionalconditions.AdditionalConditionManager; import org.olat.course.editor.EditorMainController; +import org.olat.course.learningpath.manager.LearningPathNodeAccessProvider; import org.olat.course.nodeaccess.NodeAccessService; +import org.olat.course.nodeaccess.NodeAccessType; import org.olat.course.nodes.AbstractAccessableCourseNode; import org.olat.course.nodes.CourseNode; import org.olat.course.nodes.CourseNodeFactory; @@ -330,12 +332,18 @@ public class NavigationHandler implements Disposable { controller.addControllerListener(listeningController); } } else { - // NOTE: we do not take into account what node caused the non-access by - // being !isAtLeastOneAccessible, but always state the - // NoAccessExplanation of the Node originally called by the user - String explan = courseNode.getNoAccessExplanation(); - String sExplan = (explan == null ? "" : Formatter.formatLatexFormulas(explan)); - controller = MessageUIFactory.createInfoMessage(ureq, wControl, null, sExplan); + String sExplan; + if (LearningPathNodeAccessProvider.TYPE.equals(NodeAccessType.of(userCourseEnv).getType())) { + Translator translator = Util.createPackageTranslator(EditorMainController.class, ureq.getLocale()); + sExplan = translator.translate("form.noAccessExplanation.default"); + } else { + // NOTE: we do not take into account what node caused the non-access by + // being !isAtLeastOneAccessible, but always state the + // NoAccessExplanation of the Node originally called by the user + String explan = courseNode.getNoAccessExplanation(); + sExplan = (explan == null ? "" : Formatter.formatLatexFormulas(explan)); + } + controller = MessageUIFactory.createInfoMessage(ureq, wControl, null, sExplan); // write log information ThreadLocalUserActivityLogger.log(CourseLoggingAction.COURSE_NAVIGATION_NODE_NO_ACCESS, getClass(), LoggingResourceable.wrap(courseNode)); diff --git a/src/main/java/org/olat/ims/qti21/ui/_i18n/LocalStrings_de.properties b/src/main/java/org/olat/ims/qti21/ui/_i18n/LocalStrings_de.properties index 3e3a21dc0c491cc081de866e849ee734e9873aad..e0831e8678f87897dff4d70187b72ec61fac7c8a 100644 --- a/src/main/java/org/olat/ims/qti21/ui/_i18n/LocalStrings_de.properties +++ b/src/main/java/org/olat/ims/qti21/ui/_i18n/LocalStrings_de.properties @@ -123,7 +123,7 @@ error.input.extendedText.max=Erstellen Sie einen Text mit maximal {0} Worten. error.input.extendedText.min=Erstellen Sie einen Text mit mindestens {0} Worten. error.input.extendedText.min.max=Erstellen Sie einen Text mit mindestens {0} und maximal {1} Worten. error.integer=Falsches Zahlenformat. Beispiele\: 15, 5, 1 -error.item.ended=Die Frage wurde schon geantwortet. +error.item.ended=Die Frage wurde schon beantwortet. error.mimetype=$org.olat.core.commons.modules.bc\:WrongMimeType error.reload.question=Ein unerwarteter Fehler ist aufgetreten. Bitte pr\u00FCfen Sie die Antwort Ihrer Frage und speichern Sie erneut. error.required.format=Ihre Eingabe entspricht nicht dem erforderlichen Format. @@ -300,7 +300,7 @@ warning.assignment.inProcess=Dieser Test befindet sich bereits in Korrektur. Wir warning.download.log=Es gibt leider kein Logdatei f\u00FCr diesen Test. warning.reset.assessmenttest.data=Die Test-Resultate wurden von einem Administrator oder Kursbesitzer zur\u00FCckgesetzt. Sie k\u00F6nnen den Test nicht fortsetzen und m\u00FCssen ihn erneut starten. warning.reset.test.data.nobody=Es gibt kein Teilnehmer zu zur\u00FCcksetzen -warning.suspended.ended.assessmenttest=Sie haben schon den Test unterbrochen oder beendet, wahrscheinlich in einem anderen Fenster. Bitte, diese Fenster jetzt schliessen. +warning.suspended.ended.assessmenttest=Sie haben den Test schon unterbrochen oder beendet, wahrscheinlich in einem anderen Fenster. Bitte schlie\u00DFen Sie dieses Fenster jetzt. warning.xml.signature.notok=Unterschrift und Datei konnte nicht validiert werden. warning.xml.signature.session.not.found=Die Resultaten konnte nicht gefunden werden. diff --git a/src/main/java/org/olat/ims/qti21/ui/_i18n/LocalStrings_en.properties b/src/main/java/org/olat/ims/qti21/ui/_i18n/LocalStrings_en.properties index 15fd21fdf051b84bee32c58938557083291fe71f..a01131509619dc5b1640b884cc00e0fcc37a88b8 100644 --- a/src/main/java/org/olat/ims/qti21/ui/_i18n/LocalStrings_en.properties +++ b/src/main/java/org/olat/ims/qti21/ui/_i18n/LocalStrings_en.properties @@ -123,7 +123,7 @@ error.input.extendedText.max=Write a text with at the most {0} words. error.input.extendedText.min=Write a text with at least {0} words. error.input.extendedText.min.max=Write a text with at least {0} and at the most {1} words. error.integer=Need to be an integer. Example\: 15, 5, 1 -error.item.ended=The question was already answered. +error.item.ended=The question has already been answered. error.mimetype=$org.olat.core.commons.modules.bc\:WrongMimeType error.reload.question=An unexpected error occurred. Please check the answer to your question and save it again. error.required.format=Your input is not of the required format. @@ -299,7 +299,7 @@ warning.assignment.done=The grading of this test has already been completed. If warning.assignment.inProcess=The grading of the test has already started. If this test session is marked as invalid, all existing corrections will be lost. warning.download.log=There is not a log file for this test. warning.reset.assessmenttest.data=The test results were reset by an administrator or course owner. You cannot continue the test and have to restart it. -warning.suspended.ended.assessmenttest=You have already suspended or ended this test, probably in an other window. Please close this window. +warning.suspended.ended.assessmenttest=You have already interrupted or finished the test, probably in another window. Please close this window now. warning.reset.test.data.nobody=There isn't any participant which data can be reseted. warning.xml.signature.notok=Signature and results cannot be validate each other. warning.xml.signature.session.not.found=Tests results cannot be found. diff --git a/src/main/java/org/olat/ims/qti21/ui/editor/_i18n/LocalStrings_de.properties b/src/main/java/org/olat/ims/qti21/ui/editor/_i18n/LocalStrings_de.properties index 4817155cdc0be19487c49796857d5326b9ebf491..7968a56c092e4513bac622ebaae74c7e963d4449 100644 --- a/src/main/java/org/olat/ims/qti21/ui/editor/_i18n/LocalStrings_de.properties +++ b/src/main/java/org/olat/ims/qti21/ui/editor/_i18n/LocalStrings_de.properties @@ -57,7 +57,7 @@ error.missing.hottext=Die Frage mussen mindestens einen Hottext enthalten. error.missing.section=Sie m\u00FCssen mindestens eine Sektion im Test oder Test Part haben. error.need.correct.answer=Sie m\u00FCssen mindestens eine Antwort als korrekt markieren. error.positive.double=Falsches Zahlenformat, nur positive Nummer sind erlaubt. Beispiele\: 15.0, 5.5, 10 -error.singlechoice=Genau ein ausw\u00E4hlen +error.singlechoice=Genau eine Antwort ausw\u00E4hlen error.upper.tolerance=Die obere Schranke muss gr\u00F6sser - gleich als die L\u00F6sung sein. essay.expectedLength=Anzahl Buchstaben essay.max.strings=Max Anzahl W\u00F6rter @@ -86,8 +86,8 @@ fib.tolerance.mode.absolute.help=Die Schranke stellt eine absolute Zahl dar. Bei fib.tolerance.mode.exact=Genau fib.tolerance.mode.exact.help=Die L\u00F6sung entspricht exakt der eingegebenen L\u00F6sung unter "L\u00F6sung" fib.tolerance.mode.relative=Relativ -fib.tolerance.mode.relative.low.example=Prozent Abweichung nach unten, example 15 -fib.tolerance.mode.relative.up.example=Prozent Abweichung nach oben, example 15 +fib.tolerance.mode.relative.low.example=Prozent Abweichung nach unten, zum Beispiel 15 +fib.tolerance.mode.relative.up.example=Prozent Abweichung nach oben, zum Beispiel 15 fib.tolerance.mode.relative.help=Die Schranke stellt eine relative Zahl in Prozent dar.\u2028Beispiel\: L\u00F6sung 20, Untere Schranke 10, Obere Schranke 10 → Alle L\u00F6sungen zwischen 18 und 22 sind g\u00FCltig, denn die untere Schranke bedeutet minus 10% (20-2) und die obere Schranke plus 10% (20+2). fib.tolerance.up=Obere Schranke file=Datei diff --git a/src/main/java/org/olat/ims/qti21/ui/editor/_i18n/LocalStrings_en.properties b/src/main/java/org/olat/ims/qti21/ui/editor/_i18n/LocalStrings_en.properties index 0681fa493498f830c81279bb384110a1371830a2..4d437c8b38fb3c0a18d0cc3b47bed4934c82c3b1 100644 --- a/src/main/java/org/olat/ims/qti21/ui/editor/_i18n/LocalStrings_en.properties +++ b/src/main/java/org/olat/ims/qti21/ui/editor/_i18n/LocalStrings_en.properties @@ -57,7 +57,7 @@ error.missing.hottext=The question need at least a hottext. error.missing.section=You must have at least one section in your test or test part. error.need.correct.answer=You need a least one correct answer. error.positive.double=Only positive number are allowed. Example\: 15.0, 5.5, 10 -error.singlechoice=Choose exactly one +error.singlechoice=Choose exactly one answer error.upper.tolerance=The upper bound need to be bigger than or equal to the solution. essay.expectedLength=Number of letters essay.max.strings=Max. words diff --git a/src/main/java/org/olat/ims/qti21/ui/editor/_i18n/LocalStrings_fr.properties b/src/main/java/org/olat/ims/qti21/ui/editor/_i18n/LocalStrings_fr.properties index a7e39153e2bc8dcbdba2df136b8744392e995dd1..7344dd0ce88d6eccaa306f5a0e2c7510886d0dfc 100644 --- a/src/main/java/org/olat/ims/qti21/ui/editor/_i18n/LocalStrings_fr.properties +++ b/src/main/java/org/olat/ims/qti21/ui/editor/_i18n/LocalStrings_fr.properties @@ -58,7 +58,7 @@ error.missing.hottext=La question doit contenir au moins un hottext. error.missing.section=Vous devez avoir au moins une section dans un test ou une partie de test. error.need.correct.answer=Vous devez s\u00E9lectionner au moins une r\u00E9ponse comme correcte. error.positive.double=Seul des nombres positives sont permis. Par exemple\: 15.0, 5.5, 10 -error.singlechoice=En s\u00E9lectionner exactement une +error.singlechoice=En s\u00E9lectionner exactement une r\u00E9ponse error.upper.tolerance=La limite sup\u00E9rieure doit \u00EAtre plus grande ou \u00E9gale \u00E0 la solution. essay.expectedLength=Nombre de lettres essay.max.strings=Nombre de mots max. diff --git a/src/main/java/org/olat/ldap/manager/LDAPLoginManagerImpl.java b/src/main/java/org/olat/ldap/manager/LDAPLoginManagerImpl.java index 2856073e7882a677c0fcf1407f116384d0107a63..9b1bd25ceb1495676ea35363da2315b840e7747c 100644 --- a/src/main/java/org/olat/ldap/manager/LDAPLoginManagerImpl.java +++ b/src/main/java/org/olat/ldap/manager/LDAPLoginManagerImpl.java @@ -175,6 +175,9 @@ public class LDAPLoginManagerImpl implements LDAPLoginManager, AuthenticationPro LdapContext ctx = bindSystem(); if(ctx != null) { String userDN = ldapDao.searchUserForLogin(name, ctx); + if(userDN == null) { + userDN = ldapDao.searchUserDNByUid(name, ctx); + } if(StringHelper.containsNonWhitespace(userDN)) { Authentication currentAuth = authenticationDao.getAuthentication(name, LDAPAuthenticationController.PROVIDER_LDAP); if(currentAuth == null || currentAuth.getIdentity().equals(identity)) { @@ -414,6 +417,9 @@ public class LDAPLoginManagerImpl implements LDAPLoginManager, AuthenticationPro try { LdapContext ctx = bindSystem(); String dn = ldapDao.searchUserDNByUid(uid, ctx); + if(dn == null) { + dn = ldapDao.searchUserForLogin(uid, ctx); + } List<ModificationItem> modificationItemList = new ArrayList<>(); if(ldapLoginModule.isActiveDirectory()) { @@ -435,8 +441,8 @@ public class LDAPLoginManagerImpl implements LDAPLoginManager, AuthenticationPro //active directory need the password enquoted and unicoded (but little-endian) String quotedPassword = "\"" + pwd + "\""; - char unicodePwd[] = quotedPassword.toCharArray(); - byte pwdArray[] = new byte[unicodePwd.length * 2]; + char[] unicodePwd = quotedPassword.toCharArray(); + byte[] pwdArray = new byte[unicodePwd.length * 2]; for (int i=0; i<unicodePwd.length; i++) { pwdArray[i*2 + 1] = (byte) (unicodePwd[i] >>> 8); pwdArray[i*2 + 0] = (byte) (unicodePwd[i] & 0xff); diff --git a/src/main/java/org/olat/modules/forms/ui/_i18n/LocalStrings_it.properties b/src/main/java/org/olat/modules/forms/ui/_i18n/LocalStrings_it.properties index ba0ccd72418f0f172212ffe32192e99f41895c1a..085bb014c3656eef5ce7769ac5837246dea18450 100644 --- a/src/main/java/org/olat/modules/forms/ui/_i18n/LocalStrings_it.properties +++ b/src/main/java/org/olat/modules/forms/ui/_i18n/LocalStrings_it.properties @@ -23,7 +23,7 @@ rubric.report.avg.title=Media rubric.report.end.lable.title= rubric.report.figure.title=Dati rubric.report.median.abrev=m -rubric.report.median.title=Media +rubric.report.median.title=Mediano rubric.report.number.responses.title=Numero di risposte rubric.report.total=Totale {0} rubric.report.sdtdev.abrev=\u03C3 diff --git a/src/main/java/org/olat/modules/qpool/ui/_i18n/LocalStrings_de.properties b/src/main/java/org/olat/modules/qpool/ui/_i18n/LocalStrings_de.properties index 823a3fb953cd79c49ef5c0d7f4efb2e966cfb8c2..b60279a2cf95ad4928363ceb8e36199548d6ff9d 100644 --- a/src/main/java/org/olat/modules/qpool/ui/_i18n/LocalStrings_de.properties +++ b/src/main/java/org/olat/modules/qpool/ui/_i18n/LocalStrings_de.properties @@ -33,7 +33,7 @@ convert.format=Format convert.item=Konvertieren convert.item.long=In QTI 2.1 konvertieren convert.item.msg=Wollen sie diese {0} Fragen in das folgende Format konvertieren? -convert.item.not.possible=Sie haben keine Frage gew\u00E4hlt dass Sie konvertieren k\u00F6nnen. +convert.item.not.possible=Sie haben keine Frage gew\u00E4hlt, die Sie konvertieren k\u00F6nnen. convert.item.successful={0} Frage(n) wurde erfolgreich konvertiert. convert.item.warning={0} Frage(n) konnte nicht konvertiert werden. convert.qti21.hint=Informationen zum Konvertieren von QTI 1.2 zu QTI 2.1 finden Sie im Handbuch diff --git a/src/main/java/org/olat/modules/qpool/ui/_i18n/LocalStrings_en.properties b/src/main/java/org/olat/modules/qpool/ui/_i18n/LocalStrings_en.properties index 725275af04e3457aa7dc77d7c7e2a50be5cd8d81..b4a43717cc0b91a433ae831754e0b97e92227d90 100644 --- a/src/main/java/org/olat/modules/qpool/ui/_i18n/LocalStrings_en.properties +++ b/src/main/java/org/olat/modules/qpool/ui/_i18n/LocalStrings_en.properties @@ -33,7 +33,7 @@ convert.format=Format convert.item=Convert convert.item.long=Convert to QTI 2.1 convert.item.msg=Do you want to convert the {0} question(s) in the following format? -convert.item.not.possible=You haven't selected any question you can convert. +convert.item.not.possible=You have not selected a question that you can convert. convert.item.successful={0} question(s) successfully converted. convert.item.warning={0} was not converted. convert.qti21.hint=You will find information about the conversion from QTI 1.2 to QTI 2.1 in the manual diff --git a/src/main/java/org/olat/search/service/indexer/repository/CourseIndexer.java b/src/main/java/org/olat/search/service/indexer/repository/CourseIndexer.java index 25a9e5fc9c3d59e65f9174541cbf0105b17ac6d7..762c76b79139b80bb8d9fa77347fb247b23b2f98 100644 --- a/src/main/java/org/olat/search/service/indexer/repository/CourseIndexer.java +++ b/src/main/java/org/olat/search/service/indexer/repository/CourseIndexer.java @@ -199,7 +199,8 @@ public class CourseIndexer extends AbstractHierarchicalIndexer { CourseNodeIndexer courseNodeIndexer = getCourseNodeIndexer(courseNode); bcContextEntry.setTransientState(new CourseNodeEntry(courseNode)); - return courseNodeIndexer.checkAccess(bcContextEntry, businessControl, identity, roles) + return courseNodeIndexer != null + && courseNodeIndexer.checkAccess(bcContextEntry, businessControl, identity, roles) && super.checkAccess(bcContextEntry, businessControl, identity, roles); } diff --git a/src/test/java/org/olat/course/disclaimer/CourseDisclaimerManagerTest.java b/src/test/java/org/olat/course/disclaimer/CourseDisclaimerManagerTest.java index ca84ca6dcb6d1947122a5e5b1ce140b62e171c38..a4ce814d847b255847b481a7b767b300205f14e7 100644 --- a/src/test/java/org/olat/course/disclaimer/CourseDisclaimerManagerTest.java +++ b/src/test/java/org/olat/course/disclaimer/CourseDisclaimerManagerTest.java @@ -32,10 +32,12 @@ import java.util.List; import org.junit.Assert; import org.junit.Before; import org.junit.Test; +import org.olat.basesecurity.BaseSecurityManager; import org.olat.basesecurity.OrganisationService; import org.olat.core.commons.persistence.DB; import org.olat.core.id.Identity; import org.olat.core.id.Organisation; +import org.olat.core.id.Roles; import org.olat.course.CourseFactory; import org.olat.course.CourseModule; import org.olat.course.ICourse; @@ -67,7 +69,9 @@ public class CourseDisclaimerManagerTest extends OlatTestCase { private String disclaimer2Label2 = "Course 2 Label 2"; private Identity id1; + private Roles roles1; private Identity id2; + private Roles roles2; private RepositoryEntry repositoryEntry; private ICourse course; @@ -84,6 +88,8 @@ public class CourseDisclaimerManagerTest extends OlatTestCase { private OLATResourceManager resourceManager; @Autowired private RepositoryService repositoryService; + @Autowired + private BaseSecurityManager baseSecurityManager; @Before @@ -98,7 +104,9 @@ public class CourseDisclaimerManagerTest extends OlatTestCase { "Test custom course disclaimer"); id1 = JunitTestHelper.createAndPersistIdentityAsUser("id1"); + roles1 = baseSecurityManager.getRoles(id1); id2 = JunitTestHelper.createAndPersistIdentityAsUser("id2"); + roles2 = baseSecurityManager.getRoles(id2); dbInstance.commitAndCloseSession(); } @@ -155,13 +163,13 @@ public class CourseDisclaimerManagerTest extends OlatTestCase { Assert.assertFalse(courseDisclaimerManager.hasAnyConsent(repositoryEntry)); - courseDisclaimerManager.acceptDisclaimer(repositoryEntry, id1, true, true); - courseDisclaimerManager.acceptDisclaimer(repositoryEntry, id2, true, false); + courseDisclaimerManager.acceptDisclaimer(repositoryEntry, id1, roles1, true, true); + courseDisclaimerManager.acceptDisclaimer(repositoryEntry, id2, roles2, true, false); dbInstance.commitAndCloseSession(); - Assert.assertTrue(courseDisclaimerManager.isAccessGranted(repositoryEntry, id1)); - Assert.assertFalse(courseDisclaimerManager.isAccessGranted(repositoryEntry, id2)); + Assert.assertTrue(courseDisclaimerManager.isAccessGranted(repositoryEntry, id1, roles1)); + Assert.assertFalse(courseDisclaimerManager.isAccessGranted(repositoryEntry, id2, roles2)); assertThat(courseDisclaimerManager.getConsents(repositoryEntry)).hasSize(2); } @@ -170,28 +178,28 @@ public class CourseDisclaimerManagerTest extends OlatTestCase { public void revokeAllConsents() { initDisclaimer(); - courseDisclaimerManager.acceptDisclaimer(repositoryEntry, id1, true, true); - courseDisclaimerManager.acceptDisclaimer(repositoryEntry, id2, true, true); + courseDisclaimerManager.acceptDisclaimer(repositoryEntry, id1, roles1, true, true); + courseDisclaimerManager.acceptDisclaimer(repositoryEntry, id2, roles2, true, true); dbInstance.commitAndCloseSession(); - Assert.assertTrue(courseDisclaimerManager.isAccessGranted(repositoryEntry, id1)); - Assert.assertTrue(courseDisclaimerManager.isAccessGranted(repositoryEntry, id2)); + Assert.assertTrue(courseDisclaimerManager.isAccessGranted(repositoryEntry, id1, roles1)); + Assert.assertTrue(courseDisclaimerManager.isAccessGranted(repositoryEntry, id2, roles2)); courseDisclaimerManager.revokeAllConsents(repositoryEntry); dbInstance.commitAndCloseSession(); - Assert.assertFalse(courseDisclaimerManager.isAccessGranted(repositoryEntry, id1)); - Assert.assertFalse(courseDisclaimerManager.isAccessGranted(repositoryEntry, id2)); + Assert.assertFalse(courseDisclaimerManager.isAccessGranted(repositoryEntry, id1, roles1)); + Assert.assertFalse(courseDisclaimerManager.isAccessGranted(repositoryEntry, id2, roles2)); } @Test public void removeConsents() { initDisclaimer(); - courseDisclaimerManager.acceptDisclaimer(repositoryEntry, id1, true, true); - courseDisclaimerManager.acceptDisclaimer(repositoryEntry, id2, true, true); + courseDisclaimerManager.acceptDisclaimer(repositoryEntry, id1, roles1, true, true); + courseDisclaimerManager.acceptDisclaimer(repositoryEntry, id2, roles2, true, true); dbInstance.commitAndCloseSession(); @@ -210,13 +218,13 @@ public class CourseDisclaimerManagerTest extends OlatTestCase { public void revokeConsents() { initDisclaimer(); - courseDisclaimerManager.acceptDisclaimer(repositoryEntry, id1, true, true); - courseDisclaimerManager.acceptDisclaimer(repositoryEntry, id2, true, true); + courseDisclaimerManager.acceptDisclaimer(repositoryEntry, id1, roles1, true, true); + courseDisclaimerManager.acceptDisclaimer(repositoryEntry, id2, roles2, true, true); dbInstance.commitAndCloseSession(); - Assert.assertTrue(courseDisclaimerManager.isAccessGranted(repositoryEntry, id1)); - Assert.assertTrue(courseDisclaimerManager.isAccessGranted(repositoryEntry, id2)); + Assert.assertTrue(courseDisclaimerManager.isAccessGranted(repositoryEntry, id1, roles1)); + Assert.assertTrue(courseDisclaimerManager.isAccessGranted(repositoryEntry, id2, roles2)); List<Long> identitiesToRevoke = new ArrayList<>(); identitiesToRevoke.add(id1.getKey()); @@ -224,8 +232,8 @@ public class CourseDisclaimerManagerTest extends OlatTestCase { dbInstance.commitAndCloseSession(); - Assert.assertFalse(courseDisclaimerManager.isAccessGranted(repositoryEntry, id1)); - Assert.assertTrue(courseDisclaimerManager.isAccessGranted(repositoryEntry, id2)); + Assert.assertFalse(courseDisclaimerManager.isAccessGranted(repositoryEntry, id1, roles1)); + Assert.assertTrue(courseDisclaimerManager.isAccessGranted(repositoryEntry, id2, roles2)); assertThat(courseDisclaimerManager.getConsents(repositoryEntry)).hasSize(2); } @@ -235,8 +243,8 @@ public class CourseDisclaimerManagerTest extends OlatTestCase { Assert.assertFalse(courseDisclaimerManager.hasAnyEntry(repositoryEntry)); - courseDisclaimerManager.acceptDisclaimer(repositoryEntry, id1, true, true); - courseDisclaimerManager.acceptDisclaimer(repositoryEntry, id2, true, true); + courseDisclaimerManager.acceptDisclaimer(repositoryEntry, id1, roles1, true, true); + courseDisclaimerManager.acceptDisclaimer(repositoryEntry, id2, roles2, true, true); dbInstance.commitAndCloseSession(); @@ -250,8 +258,8 @@ public class CourseDisclaimerManagerTest extends OlatTestCase { Assert.assertFalse(courseDisclaimerManager.hasAnyConsent(repositoryEntry)); - courseDisclaimerManager.acceptDisclaimer(repositoryEntry, id1, true, true); - courseDisclaimerManager.acceptDisclaimer(repositoryEntry, id2, true, true); + courseDisclaimerManager.acceptDisclaimer(repositoryEntry, id1, roles1, true, true); + courseDisclaimerManager.acceptDisclaimer(repositoryEntry, id2, roles2, true, true); dbInstance.commitAndCloseSession(); diff --git a/src/test/java/org/olat/user/manager/lifecycle/UserLifecycleManagerTest.java b/src/test/java/org/olat/user/manager/lifecycle/UserLifecycleManagerTest.java index f8766c3b0d05eba730c852a0bb4dd8a2a297d587..fab1608f7ddbd6326777abce7719d943f57f216e 100644 --- a/src/test/java/org/olat/user/manager/lifecycle/UserLifecycleManagerTest.java +++ b/src/test/java/org/olat/user/manager/lifecycle/UserLifecycleManagerTest.java @@ -412,6 +412,7 @@ public class UserLifecycleManagerTest extends OlatTestCase { user.setProperty(UserConstants.INSTITUTIONALNAME, "Del-23"); user.setProperty(UserConstants.INSTITUTIONALUSERIDENTIFIER, "Del-24"); Identity identity = securityManager.createAndPersistIdentityAndUser(null, username, null, user, BaseSecurityModule.getDefaultAuthProviderIdentifier(), username, "secret"); + Roles roles = securityManager.getRoles(identity); dbInstance.commitAndCloseSession(); // add some stuff @@ -431,9 +432,9 @@ public class UserLifecycleManagerTest extends OlatTestCase { CourseFactory.saveCourse(courseOres.getResourceableId()); CourseFactory.closeCourseEditSession(courseOres.getResourceableId(), true); //a consent to the disclaimer - courseDisclaimerManager.acceptDisclaimer(course, identity, true, true); + courseDisclaimerManager.acceptDisclaimer(course, identity, roles, true, true); - Assert.assertTrue(courseDisclaimerManager.isAccessGranted(course, identity)); + Assert.assertTrue(courseDisclaimerManager.isAccessGranted(course, identity, roles)); Assert.assertEquals(identity.getName(), course.getInitialAuthor()); Assert.assertTrue(repositoryService.hasRoleExpanded(identity, GroupRoles.owner.name())); assertThat(courseDisclaimerManager.getConsents(course)).hasSize(1);