From 7e79c86bafa7151e53ec3889d175c799a131c643 Mon Sep 17 00:00:00 2001 From: rlucanu Date: Fri, 6 Sep 2019 16:58:52 +0300 Subject: [PATCH 1/5] RM-6943 adding implementation for AddToHold evaluator --- .../rm-ui-evaluators-context.xml | 1 + .../jscript/app/JSONConversionComponent.java | 28 +++++++++++++++++++ 2 files changed, 29 insertions(+) diff --git a/rm-community/rm-community-repo/config/alfresco/module/org_alfresco_module_rm/rm-ui-evaluators-context.xml b/rm-community/rm-community-repo/config/alfresco/module/org_alfresco_module_rm/rm-ui-evaluators-context.xml index 290e36f303..aeeb7699de 100644 --- a/rm-community/rm-community-repo/config/alfresco/module/org_alfresco_module_rm/rm-ui-evaluators-context.xml +++ b/rm-community/rm-community-repo/config/alfresco/module/org_alfresco_module_rm/rm-ui-evaluators-context.xml @@ -23,6 +23,7 @@ + diff --git a/rm-community/rm-community-repo/source/java/org/alfresco/module/org_alfresco_module_rm/jscript/app/JSONConversionComponent.java b/rm-community/rm-community-repo/source/java/org/alfresco/module/org_alfresco_module_rm/jscript/app/JSONConversionComponent.java index 1030d9b75c..f6a60aa796 100644 --- a/rm-community/rm-community-repo/source/java/org/alfresco/module/org_alfresco_module_rm/jscript/app/JSONConversionComponent.java +++ b/rm-community/rm-community-repo/source/java/org/alfresco/module/org_alfresco_module_rm/jscript/app/JSONConversionComponent.java @@ -40,11 +40,13 @@ import java.util.Set; import org.alfresco.model.ContentModel; import org.alfresco.module.org_alfresco_module_rm.capability.CapabilityService; +import org.alfresco.module.org_alfresco_module_rm.capability.RMPermissionModel; import org.alfresco.module.org_alfresco_module_rm.capability.impl.ViewRecordsCapability; import org.alfresco.module.org_alfresco_module_rm.disposition.DispositionService; import org.alfresco.module.org_alfresco_module_rm.event.EventCompletionDetails; import org.alfresco.module.org_alfresco_module_rm.fileplan.FilePlanComponentKind; import org.alfresco.module.org_alfresco_module_rm.fileplan.FilePlanService; +import org.alfresco.module.org_alfresco_module_rm.hold.HoldService; import org.alfresco.module.org_alfresco_module_rm.model.RecordsManagementModel; import org.alfresco.module.org_alfresco_module_rm.record.RecordService; import org.alfresco.module.org_alfresco_module_rm.role.FilePlanRoleService; @@ -86,6 +88,7 @@ public class JSONConversionComponent extends org.alfresco.repo.jscript.app.JS private static final String IS_RECORD_CONTRIBUTOR_GROUP_ENABLED = "isRecordContributorGroupEnabled"; private static final String RECORD_CONTRIBUTOR_GROUP_NAME = "recordContributorGroupName"; private static final String IS_VISIBLE_FOR_CURRENT_USER = "isVisibleForCurrentUser"; + private static final String IS_ANY_HOLD_VISIBLE_FOR_CURRENT_USER = "isHoldVisibleForCurrentUser"; /** true if record contributor group is enabled, false otherwise */ private boolean isRecordContributorsGroupEnabled = false; @@ -116,6 +119,9 @@ public class JSONConversionComponent extends org.alfresco.repo.jscript.app.JS */ private DispositionService dispositionService; + /** Hold service */ + private HoldService holdService; + /** Indicators */ private List indicators = new ArrayList<>(); @@ -263,6 +269,14 @@ public class JSONConversionComponent extends org.alfresco.repo.jscript.app.JS this.dispositionService = dispositionService; } + /** + * @param holdService hold service + */ + public void setHoldService(HoldService holdService) + { + this.holdService = holdService; + } + /** * The initialise method */ @@ -327,6 +341,20 @@ public class JSONConversionComponent extends org.alfresco.repo.jscript.app.JS rootJSONObject.put(IS_VISIBLE_FOR_CURRENT_USER, hasFilingPermission); } } + + List holds = holdService.heldBy(nodeRef, false); + if (!CollectionUtils.isEmpty(holds)) + { + for (NodeRef hold : holds) + { + // return true as soon as we find one hold we have filling permission on + if (AccessStatus.ALLOWED.equals(permissionService.hasPermission(hold, RMPermissionModel.FILING))) + { + rootJSONObject.put(IS_ANY_HOLD_VISIBLE_FOR_CURRENT_USER, true); + break; + } + } + } } } From 0523ca1d5ce74d5256d24179f96c0bfdae78e5d4 Mon Sep 17 00:00:00 2001 From: rlucanu Date: Thu, 12 Sep 2019 12:20:51 +0300 Subject: [PATCH 2/5] RM-6943 Changes on AddToHold evaluator --- .../rm-ui-evaluators-context.xml | 1 - .../jscript/app/JSONConversionComponent.java | 29 +++---------------- 2 files changed, 4 insertions(+), 26 deletions(-) diff --git a/rm-community/rm-community-repo/config/alfresco/module/org_alfresco_module_rm/rm-ui-evaluators-context.xml b/rm-community/rm-community-repo/config/alfresco/module/org_alfresco_module_rm/rm-ui-evaluators-context.xml index aeeb7699de..290e36f303 100644 --- a/rm-community/rm-community-repo/config/alfresco/module/org_alfresco_module_rm/rm-ui-evaluators-context.xml +++ b/rm-community/rm-community-repo/config/alfresco/module/org_alfresco_module_rm/rm-ui-evaluators-context.xml @@ -23,7 +23,6 @@ - diff --git a/rm-community/rm-community-repo/source/java/org/alfresco/module/org_alfresco_module_rm/jscript/app/JSONConversionComponent.java b/rm-community/rm-community-repo/source/java/org/alfresco/module/org_alfresco_module_rm/jscript/app/JSONConversionComponent.java index f6a60aa796..cd93b38818 100644 --- a/rm-community/rm-community-repo/source/java/org/alfresco/module/org_alfresco_module_rm/jscript/app/JSONConversionComponent.java +++ b/rm-community/rm-community-repo/source/java/org/alfresco/module/org_alfresco_module_rm/jscript/app/JSONConversionComponent.java @@ -40,13 +40,11 @@ import java.util.Set; import org.alfresco.model.ContentModel; import org.alfresco.module.org_alfresco_module_rm.capability.CapabilityService; -import org.alfresco.module.org_alfresco_module_rm.capability.RMPermissionModel; import org.alfresco.module.org_alfresco_module_rm.capability.impl.ViewRecordsCapability; import org.alfresco.module.org_alfresco_module_rm.disposition.DispositionService; import org.alfresco.module.org_alfresco_module_rm.event.EventCompletionDetails; import org.alfresco.module.org_alfresco_module_rm.fileplan.FilePlanComponentKind; import org.alfresco.module.org_alfresco_module_rm.fileplan.FilePlanService; -import org.alfresco.module.org_alfresco_module_rm.hold.HoldService; import org.alfresco.module.org_alfresco_module_rm.model.RecordsManagementModel; import org.alfresco.module.org_alfresco_module_rm.record.RecordService; import org.alfresco.module.org_alfresco_module_rm.role.FilePlanRoleService; @@ -62,6 +60,7 @@ import org.alfresco.service.cmr.model.FileInfo; import org.alfresco.service.cmr.repository.ChildAssociationRef; import org.alfresco.service.cmr.repository.NodeRef; import org.alfresco.service.cmr.security.AccessStatus; +import org.alfresco.service.cmr.security.PermissionService; import org.alfresco.service.cmr.site.SiteInfo; import org.alfresco.service.cmr.site.SiteService; import org.alfresco.service.namespace.NamespaceService; @@ -88,7 +87,7 @@ public class JSONConversionComponent extends org.alfresco.repo.jscript.app.JS private static final String IS_RECORD_CONTRIBUTOR_GROUP_ENABLED = "isRecordContributorGroupEnabled"; private static final String RECORD_CONTRIBUTOR_GROUP_NAME = "recordContributorGroupName"; private static final String IS_VISIBLE_FOR_CURRENT_USER = "isVisibleForCurrentUser"; - private static final String IS_ANY_HOLD_VISIBLE_FOR_CURRENT_USER = "isHoldVisibleForCurrentUser"; + private static final String IS_ADD_TO_HOLD_AVAILABLE = "isAddToHoldAvailable"; /** true if record contributor group is enabled, false otherwise */ private boolean isRecordContributorsGroupEnabled = false; @@ -119,9 +118,6 @@ public class JSONConversionComponent extends org.alfresco.repo.jscript.app.JS */ private DispositionService dispositionService; - /** Hold service */ - private HoldService holdService; - /** Indicators */ private List indicators = new ArrayList<>(); @@ -269,14 +265,6 @@ public class JSONConversionComponent extends org.alfresco.repo.jscript.app.JS this.dispositionService = dispositionService; } - /** - * @param holdService hold service - */ - public void setHoldService(HoldService holdService) - { - this.holdService = holdService; - } - /** * The initialise method */ @@ -342,18 +330,9 @@ public class JSONConversionComponent extends org.alfresco.repo.jscript.app.JS } } - List holds = holdService.heldBy(nodeRef, false); - if (!CollectionUtils.isEmpty(holds)) + if (AccessStatus.ALLOWED.equals(permissionService.hasPermission(nodeRef, PermissionService.WRITE))) { - for (NodeRef hold : holds) - { - // return true as soon as we find one hold we have filling permission on - if (AccessStatus.ALLOWED.equals(permissionService.hasPermission(hold, RMPermissionModel.FILING))) - { - rootJSONObject.put(IS_ANY_HOLD_VISIBLE_FOR_CURRENT_USER, true); - break; - } - } + rootJSONObject.put(IS_ADD_TO_HOLD_AVAILABLE, true); } } } From 4b1fec979a4fda16423140548b17598854b34936 Mon Sep 17 00:00:00 2001 From: rlucanu Date: Thu, 12 Sep 2019 17:04:33 +0300 Subject: [PATCH 3/5] RM-6943 added RemoveFromHold evaluator --- .../jscript/app/JSONConversionComponent.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/rm-community/rm-community-repo/source/java/org/alfresco/module/org_alfresco_module_rm/jscript/app/JSONConversionComponent.java b/rm-community/rm-community-repo/source/java/org/alfresco/module/org_alfresco_module_rm/jscript/app/JSONConversionComponent.java index cd93b38818..f98d70e154 100644 --- a/rm-community/rm-community-repo/source/java/org/alfresco/module/org_alfresco_module_rm/jscript/app/JSONConversionComponent.java +++ b/rm-community/rm-community-repo/source/java/org/alfresco/module/org_alfresco_module_rm/jscript/app/JSONConversionComponent.java @@ -87,7 +87,7 @@ public class JSONConversionComponent extends org.alfresco.repo.jscript.app.JS private static final String IS_RECORD_CONTRIBUTOR_GROUP_ENABLED = "isRecordContributorGroupEnabled"; private static final String RECORD_CONTRIBUTOR_GROUP_NAME = "recordContributorGroupName"; private static final String IS_VISIBLE_FOR_CURRENT_USER = "isVisibleForCurrentUser"; - private static final String IS_ADD_TO_HOLD_AVAILABLE = "isAddToHoldAvailable"; + private static final String IS_ADD_TO_HOLD_VISIBLE = "isAddToHoldVisible"; /** true if record contributor group is enabled, false otherwise */ private boolean isRecordContributorsGroupEnabled = false; @@ -332,7 +332,7 @@ public class JSONConversionComponent extends org.alfresco.repo.jscript.app.JS if (AccessStatus.ALLOWED.equals(permissionService.hasPermission(nodeRef, PermissionService.WRITE))) { - rootJSONObject.put(IS_ADD_TO_HOLD_AVAILABLE, true); + rootJSONObject.put(IS_ADD_TO_HOLD_VISIBLE, true); } } } From d2c2f142701da8f176bb81132d1cb17bd9623818 Mon Sep 17 00:00:00 2001 From: rlucanu Date: Fri, 13 Sep 2019 13:44:01 +0300 Subject: [PATCH 4/5] RM-6943 code review changes --- .../jscript/app/JSONConversionComponent.java | 6 ------ 1 file changed, 6 deletions(-) diff --git a/rm-community/rm-community-repo/source/java/org/alfresco/module/org_alfresco_module_rm/jscript/app/JSONConversionComponent.java b/rm-community/rm-community-repo/source/java/org/alfresco/module/org_alfresco_module_rm/jscript/app/JSONConversionComponent.java index f98d70e154..0626c8ed52 100644 --- a/rm-community/rm-community-repo/source/java/org/alfresco/module/org_alfresco_module_rm/jscript/app/JSONConversionComponent.java +++ b/rm-community/rm-community-repo/source/java/org/alfresco/module/org_alfresco_module_rm/jscript/app/JSONConversionComponent.java @@ -87,7 +87,6 @@ public class JSONConversionComponent extends org.alfresco.repo.jscript.app.JS private static final String IS_RECORD_CONTRIBUTOR_GROUP_ENABLED = "isRecordContributorGroupEnabled"; private static final String RECORD_CONTRIBUTOR_GROUP_NAME = "recordContributorGroupName"; private static final String IS_VISIBLE_FOR_CURRENT_USER = "isVisibleForCurrentUser"; - private static final String IS_ADD_TO_HOLD_VISIBLE = "isAddToHoldVisible"; /** true if record contributor group is enabled, false otherwise */ private boolean isRecordContributorsGroupEnabled = false; @@ -329,11 +328,6 @@ public class JSONConversionComponent extends org.alfresco.repo.jscript.app.JS rootJSONObject.put(IS_VISIBLE_FOR_CURRENT_USER, hasFilingPermission); } } - - if (AccessStatus.ALLOWED.equals(permissionService.hasPermission(nodeRef, PermissionService.WRITE))) - { - rootJSONObject.put(IS_ADD_TO_HOLD_VISIBLE, true); - } } } From e3e3273ab0e1ce32375ff80a2c3eb89c8a19f1b2 Mon Sep 17 00:00:00 2001 From: rlucanu Date: Fri, 13 Sep 2019 16:26:27 +0300 Subject: [PATCH 5/5] RM-6943 other code review comments --- .../jscript/app/JSONConversionComponent.java | 1 - 1 file changed, 1 deletion(-) diff --git a/rm-community/rm-community-repo/source/java/org/alfresco/module/org_alfresco_module_rm/jscript/app/JSONConversionComponent.java b/rm-community/rm-community-repo/source/java/org/alfresco/module/org_alfresco_module_rm/jscript/app/JSONConversionComponent.java index 0626c8ed52..1030d9b75c 100644 --- a/rm-community/rm-community-repo/source/java/org/alfresco/module/org_alfresco_module_rm/jscript/app/JSONConversionComponent.java +++ b/rm-community/rm-community-repo/source/java/org/alfresco/module/org_alfresco_module_rm/jscript/app/JSONConversionComponent.java @@ -60,7 +60,6 @@ import org.alfresco.service.cmr.model.FileInfo; import org.alfresco.service.cmr.repository.ChildAssociationRef; import org.alfresco.service.cmr.repository.NodeRef; import org.alfresco.service.cmr.security.AccessStatus; -import org.alfresco.service.cmr.security.PermissionService; import org.alfresco.service.cmr.site.SiteInfo; import org.alfresco.service.cmr.site.SiteService; import org.alfresco.service.namespace.NamespaceService;