Merge branch 'feature/RM-6943_AddoToHoldActionInCollabSite' into feature/RM-6945_DisplayActionForHeldAContentInHold

# Conflicts:
#	rm-community/rm-community-repo/config/alfresco/module/org_alfresco_module_rm/rm-ui-evaluators-context.xml
#	rm-community/rm-community-repo/source/java/org/alfresco/module/org_alfresco_module_rm/jscript/app/JSONConversionComponent.java
This commit is contained in:
Ramona Popa
2019-09-12 16:26:40 +03:00
2 changed files with 4 additions and 26 deletions

View File

@@ -23,7 +23,6 @@
<property name="jsonConversionComponentCache" ref="jsonConversionComponentCache" />
<property name="mimetypeService" ref="MimetypeService" />
<property name="dispositionService" ref="dispositionService" />
<property name="holdService" ref="HoldService" />
<property name="freezeService" ref="freezeService" />
</bean>

View File

@@ -40,14 +40,12 @@ 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.freeze.FreezeService;
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;
@@ -63,6 +61,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;
@@ -89,7 +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";
private static final String IS_ADD_TO_HOLD_AVAILABLE = "isAddToHoldAvailable";
/** true if record contributor group is enabled, false otherwise */
private boolean isRecordContributorsGroupEnabled = false;
@@ -123,9 +122,6 @@ public class JSONConversionComponent extends org.alfresco.repo.jscript.app.JS
*/
private DispositionService dispositionService;
/** Hold service */
private HoldService holdService;
/** Indicators */
private List<BaseEvaluator> indicators = new ArrayList<>();
@@ -273,14 +269,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;
}
/**
*
* @param freezeService
@@ -354,18 +342,9 @@ public class JSONConversionComponent extends org.alfresco.repo.jscript.app.JS
}
}
List<NodeRef> 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);
}
}
}