From 846c96acc353567ac20fdacf77e9026b3d3ebeed Mon Sep 17 00:00:00 2001 From: rlucanu Date: Fri, 6 Sep 2019 16:58:52 +0300 Subject: [PATCH 1/6] 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 df5a142b434879f121a3ed27b5322280f6b4fde5 Mon Sep 17 00:00:00 2001 From: rlucanu Date: Thu, 12 Sep 2019 12:20:51 +0300 Subject: [PATCH 2/6] 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 12e1eeea85fe8fde7759cd6b050af6d389ad7819 Mon Sep 17 00:00:00 2001 From: rlucanu Date: Thu, 12 Sep 2019 17:04:33 +0300 Subject: [PATCH 3/6] 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 c81e054152cb014fd5c47bfcbddfa8b8b5cb56cd Mon Sep 17 00:00:00 2001 From: rlucanu Date: Fri, 13 Sep 2019 13:44:01 +0300 Subject: [PATCH 4/6] 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 daabfb504783cb6fac1436229dd5b5e93d1bab32 Mon Sep 17 00:00:00 2001 From: rlucanu Date: Fri, 13 Sep 2019 16:26:27 +0300 Subject: [PATCH 5/6] 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; From 5f95f4cbdb540fa490b71ea570f41ee3694e93f2 Mon Sep 17 00:00:00 2001 From: Ramona Popa Date: Mon, 16 Sep 2019 09:08:14 +0100 Subject: [PATCH 6/6] RM-6945: Display available actions on held active content inside a hold - added actions for isFreezeActiveContent --- .../rm-service-context.xml | 2 +- .../rm-ui-evaluators-context.xml | 1 + .../jscript/app/JSONConversionComponent.java | 18 +++++++++++++++++- 3 files changed, 19 insertions(+), 2 deletions(-) diff --git a/rm-community/rm-community-repo/config/alfresco/module/org_alfresco_module_rm/rm-service-context.xml b/rm-community/rm-community-repo/config/alfresco/module/org_alfresco_module_rm/rm-service-context.xml index 7b7a037aa7..00e1ccddaf 100644 --- a/rm-community/rm-community-repo/config/alfresco/module/org_alfresco_module_rm/rm-service-context.xml +++ b/rm-community/rm-community-repo/config/alfresco/module/org_alfresco_module_rm/rm-service-context.xml @@ -908,7 +908,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..1c7c3db3bd 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 @@ -45,6 +45,7 @@ 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.freeze.FreezeService; 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 +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 FROZEN_ACTIVE_CONTENT = "frozencontent"; /** true if record contributor group is enabled, false otherwise */ private boolean isRecordContributorsGroupEnabled = false; @@ -111,6 +113,9 @@ public class JSONConversionComponent extends org.alfresco.repo.jscript.app.JS /** site service */ private SiteService siteService; + /** freeze service */ + private FreezeService freezeService; + /** * Disposition service */ @@ -263,6 +268,12 @@ public class JSONConversionComponent extends org.alfresco.repo.jscript.app.JS this.dispositionService = dispositionService; } + /** + * + * @param freezeService + */ + public void setFreezeService(FreezeService freezeService) { this.freezeService = freezeService; } + /** * The initialise method */ @@ -292,6 +303,8 @@ public class JSONConversionComponent extends org.alfresco.repo.jscript.app.JS // Set the base root values super.setRootValues(nodeInfo, rootJSONObject, useShortQNames); + rootJSONObject.put("uiType", getUIType(nodeInfo.getNodeRef())); + // check the existence of the RM site checkRmSiteExistence(rootJSONObject); @@ -655,7 +668,10 @@ public class JSONConversionComponent extends org.alfresco.repo.jscript.app.JS } } } - + else if (freezeService.isFrozen(nodeRef)) + { + result = FROZEN_ACTIVE_CONTENT; + } return result; }