From c461a3e3d84a4935ea0ccf1b0e892c9017188023 Mon Sep 17 00:00:00 2001 From: srosse <none@none> Date: Wed, 26 Oct 2011 14:02:54 +0200 Subject: [PATCH] FXOLAT-289: the test in the controller to check the permissions match the links viewed by the user --- .../RepositoryDetailsController.java | 28 +++++++++++++------ 1 file changed, 19 insertions(+), 9 deletions(-) diff --git a/src/main/java/org/olat/repository/controllers/RepositoryDetailsController.java b/src/main/java/org/olat/repository/controllers/RepositoryDetailsController.java index 39b0f38c292..76d171ff3ab 100644 --- a/src/main/java/org/olat/repository/controllers/RepositoryDetailsController.java +++ b/src/main/java/org/olat/repository/controllers/RepositoryDetailsController.java @@ -407,9 +407,11 @@ public class RepositoryDetailsController extends BasicController implements Gene boolean canCopy = repositoryEntry.getCanCopy(); if (isOwner) { if (isNewController) { - detailsToolC.addLink(ACTION_EDIT, translate("details.openeditor"), TOOL_EDIT, null); - detailsToolC.addLink(ACTION_EDITDESC, translate("details.chdesc"), TOOL_CHDESC, null); - detailsToolC.addLink(ACTION_EDITPROP, translate("details.chprop"), TOOL_CHPROP, null); + if(isAuthor) { + detailsToolC.addLink(ACTION_EDIT, translate("details.openeditor"), TOOL_EDIT, null); + detailsToolC.addLink(ACTION_EDITDESC, translate("details.chdesc"), TOOL_CHDESC, null); + detailsToolC.addLink(ACTION_EDITPROP, translate("details.chprop"), TOOL_CHPROP, null); + } detailsToolC.addLink(ACTION_ADD_CATALOG, translate("details.catadd"), TOOL_CATALOG, null); if ((OresHelper.isOfType(repositoryEntry.getOlatResource(), CourseModule.class)) && (!RepositoryManager.getInstance().createRepositoryEntryStatus(repositoryEntry.getStatusCode()).isClosed())) { detailsToolC.addLink(ACTION_CLOSE_RESSOURCE, translate("details.close.ressoure"), TOOL_CLOSE_RESSOURCE, null); @@ -418,20 +420,28 @@ public class RepositoryDetailsController extends BasicController implements Gene // update catalog link detailsToolC.setEnabled(TOOL_CATALOG, (repositoryEntry.getAccess() >= RepositoryEntry.ACC_USERS)); } - if (isNewController) - detailsToolC.addLink(ACTION_COPY, translate("details.copy"), TOOL_COPY, null); + if (isNewController) { + if(isAuthor) { + detailsToolC.addLink(ACTION_COPY, translate("details.copy"), TOOL_COPY, null); + } + } if (isOwner) { if (isNewController) { detailsToolC.addLink(ACTION_DELETE, translate("details.delete")); detailsToolC.addLink(ACTION_GROUPS, translate("details.groups")); } // enable - detailsToolC.setEnabled(TOOL_EDIT, handler.supportsEdit(repositoryEntry)); - detailsToolC.setEnabled(TOOL_CHDESC, true); - detailsToolC.setEnabled(TOOL_CHPROP, true); + if(isAuthor) { + detailsToolC.setEnabled(TOOL_EDIT, handler.supportsEdit(repositoryEntry)); + detailsToolC.setEnabled(TOOL_CHDESC, true); + detailsToolC.setEnabled(TOOL_CHPROP, true); + } + canCopy = true; } - detailsToolC.setEnabled(TOOL_COPY, canCopy); + if(isAuthor) { + detailsToolC.setEnabled(TOOL_COPY, canCopy); + } } if (isNewController) detailsToolC.addLink(ACTION_CLOSE, translate("details.close"), null, "b_toolbox_close"); -- GitLab