From b0b87175fe360bf11088f472f6e1ba3fed22ef42 Mon Sep 17 00:00:00 2001 From: srosse <stephane.rosse@frentix.com> Date: Fri, 6 Sep 2019 09:41:07 +0200 Subject: [PATCH] OO-4150: participants cannot edit absence notices --- .../olat/modules/lecture/ui/LecturesSecurityCallback.java | 2 ++ .../modules/lecture/ui/LecturesSecurityCallbackFactory.java | 5 +++++ .../lecture/ui/coach/AbsenceNoticesListController.java | 5 ++++- 3 files changed, 11 insertions(+), 1 deletion(-) diff --git a/src/main/java/org/olat/modules/lecture/ui/LecturesSecurityCallback.java b/src/main/java/org/olat/modules/lecture/ui/LecturesSecurityCallback.java index 12a810ea7a0..393441f4c3f 100644 --- a/src/main/java/org/olat/modules/lecture/ui/LecturesSecurityCallback.java +++ b/src/main/java/org/olat/modules/lecture/ui/LecturesSecurityCallback.java @@ -46,6 +46,8 @@ public interface LecturesSecurityCallback { public boolean canAddNoticeOfAbsences(); public boolean canAddDispensations(); + + public boolean canEditAbsenceNotices(); public boolean canDeleteAbsenceNotices(); diff --git a/src/main/java/org/olat/modules/lecture/ui/LecturesSecurityCallbackFactory.java b/src/main/java/org/olat/modules/lecture/ui/LecturesSecurityCallbackFactory.java index d80fec01668..e8d6c524dc4 100644 --- a/src/main/java/org/olat/modules/lecture/ui/LecturesSecurityCallbackFactory.java +++ b/src/main/java/org/olat/modules/lecture/ui/LecturesSecurityCallbackFactory.java @@ -162,6 +162,11 @@ public class LecturesSecurityCallbackFactory { return false; } + @Override + public boolean canEditAbsenceNotices() { + return viewAs == LectureRoles.teacher || viewAs == LectureRoles.lecturemanager || viewAs == LectureRoles.mastercoach; + } + @Override public boolean canDeleteAbsenceNotices() { return viewAs == LectureRoles.lecturemanager || viewAs == LectureRoles.mastercoach; diff --git a/src/main/java/org/olat/modules/lecture/ui/coach/AbsenceNoticesListController.java b/src/main/java/org/olat/modules/lecture/ui/coach/AbsenceNoticesListController.java index c2372700e84..c9318b78dcb 100644 --- a/src/main/java/org/olat/modules/lecture/ui/coach/AbsenceNoticesListController.java +++ b/src/main/java/org/olat/modules/lecture/ui/coach/AbsenceNoticesListController.java @@ -610,7 +610,10 @@ public class AbsenceNoticesListController extends FormBasicController { VelocityContainer mainVC = createVelocityContainer("tools_notices"); // edit absence, notice of absence, dispensation String editI18nKey = AbsenceNoticeHelper.getEditKey(row.getAbsenceNotice()); - addLink(editI18nKey, "edit", "o_icon o_icon_edit", mainVC); + if(secCallback.canEditAbsenceNotices()) { + addLink(editI18nKey, "edit", "o_icon o_icon_edit", mainVC); + } + // open profile addLink("profile", "profile", "o_icon o_icon_user", mainVC); // contact teacher -- GitLab