From 495048549930490623cbe646452d8b3c77f646a2 Mon Sep 17 00:00:00 2001 From: aboeckle <alexander.boeckle@frentix.com> Date: Tue, 11 Aug 2020 14:43:48 +0200 Subject: [PATCH] OO-4455: Revoke consents right fix --- .../CourseDisclaimerConsentOverviewController.java | 14 ++++++++------ .../member/MembersManagementMainController.java | 2 +- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/src/main/java/org/olat/course/disclaimer/ui/CourseDisclaimerConsentOverviewController.java b/src/main/java/org/olat/course/disclaimer/ui/CourseDisclaimerConsentOverviewController.java index 41cebe176ea..76f07041271 100644 --- a/src/main/java/org/olat/course/disclaimer/ui/CourseDisclaimerConsentOverviewController.java +++ b/src/main/java/org/olat/course/disclaimer/ui/CourseDisclaimerConsentOverviewController.java @@ -87,6 +87,8 @@ public class CourseDisclaimerConsentOverviewController extends FormBasicControll public static final String TABLE_ACTION_CONTACT = "tbl_contact"; private final AtomicInteger counter = new AtomicInteger(); + private final boolean canRevokeConsents; + private ToolsController toolsCtrl; private CloseableCalloutWindowController toolsCalloutCtrl; private UserInfoMainController visitingCardCtrl; @@ -95,7 +97,6 @@ public class CourseDisclaimerConsentOverviewController extends FormBasicControll private FlexiTableElement tableEl; private CourseDisclaimerConsentTableModel tableModel; - private boolean isAdministrativeUser; private List<UserPropertyHandler> userPropertyHandlers; private RepositoryEntry repositoryEntry; @@ -119,17 +120,18 @@ public class CourseDisclaimerConsentOverviewController extends FormBasicControll private BaseSecurity securityManager; public CourseDisclaimerConsentOverviewController(UserRequest ureq, WindowControl wControl, - RepositoryEntry repositoryEntry, TooledStackedPanel stackedPanel) { + RepositoryEntry repositoryEntry, TooledStackedPanel stackedPanel, boolean canRevokeConsents) { super(ureq, wControl, "consent_list"); setTranslator(Util.createPackageTranslator(AbstractMemberListController.class, getLocale(), getTranslator())); setTranslator(userManager.getPropertyHandlerTranslator(getTranslator())); - isAdministrativeUser = securityModule.isUserAllowedAdminProps(ureq.getUserSession().getRoles()); + boolean isAdministrativeUser = securityModule.isUserAllowedAdminProps(ureq.getUserSession().getRoles()); userPropertyHandlers = userManager.getUserPropertyHandlersFor(USER_PROPS_ID, isAdministrativeUser); this.repositoryEntry = repositoryEntry; this.courseConfig = CourseFactory.loadCourse(repositoryEntry.getOlatResource().getResourceableId()).getCourseConfig(); this.toolbarPanel = stackedPanel; + this.canRevokeConsents = canRevokeConsents; initForm(ureq); loadModel(); @@ -189,7 +191,7 @@ public class CourseDisclaimerConsentOverviewController extends FormBasicControll revokeBtn = uifactory.addFormLink("consents.selected.revoke", formLayout, Link.BUTTON); buttonLayout.add(revokeBtn); - if (isAdministrativeUser) { + if (canRevokeConsents) { removeBtn = uifactory.addFormLink("consents.selected.delete", formLayout, Link.BUTTON); buttonLayout.add(removeBtn); } @@ -207,13 +209,13 @@ public class CourseDisclaimerConsentOverviewController extends FormBasicControll if (rows.isEmpty()) { revokeBtn.setVisible(false); - if (removeBtn != null && isAdministrativeUser) { + if (removeBtn != null && canRevokeConsents) { removeBtn.setVisible(false); } tableEl.setSearchEnabled(false); } else { revokeBtn.setVisible(true); - if (removeBtn != null && isAdministrativeUser) { + if (removeBtn != null && canRevokeConsents) { removeBtn.setVisible(true); } tableEl.setSearchEnabled(true); diff --git a/src/main/java/org/olat/course/member/MembersManagementMainController.java b/src/main/java/org/olat/course/member/MembersManagementMainController.java index 15bef21778b..aea5ab6af67 100644 --- a/src/main/java/org/olat/course/member/MembersManagementMainController.java +++ b/src/main/java/org/olat/course/member/MembersManagementMainController.java @@ -278,7 +278,7 @@ public class MembersManagementMainController extends MainLayoutBasicController i } else if (CMD_CONSENTS.equals(cmd)) { if ((entryAdmin || principal || memberManagementRight || groupManagementRight) && courseModule.isDisclaimerEnabled()) { if(disclaimerController == null) { - disclaimerController = new CourseDisclaimerConsentOverviewController(ureq, bwControl, repoEntry, toolbarPanel); + disclaimerController = new CourseDisclaimerConsentOverviewController(ureq, bwControl, repoEntry, toolbarPanel, entryAdmin || memberManagementRight || groupManagementRight); listenTo(disclaimerController); } mainVC.put("content", disclaimerController.getInitialComponent()); -- GitLab