mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-07-31 17:39:05 +00:00
RM-1942 (Hold creator can't view the hold he has created)
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/BRANCHES/V2.3@97278 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
@@ -289,8 +289,7 @@ public class FilePlanPermissionServiceImpl extends ServiceBaseImpl
|
||||
)
|
||||
public void onCreateHold(final ChildAssociationRef childAssocRef)
|
||||
{
|
||||
mandatory("childAssocRef", childAssocRef);
|
||||
setupPermissions(childAssocRef.getParentRef(), childAssocRef.getChildRef());
|
||||
createContainerElement(childAssocRef);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -306,19 +305,37 @@ public class FilePlanPermissionServiceImpl extends ServiceBaseImpl
|
||||
notificationFrequency = TRANSACTION_COMMIT
|
||||
)
|
||||
public void onCreateTransfer(final ChildAssociationRef childAssocRef)
|
||||
{
|
||||
createContainerElement(childAssocRef);
|
||||
}
|
||||
|
||||
/**
|
||||
* Helper method to create a container element, e.g. transfer folder or hold
|
||||
*
|
||||
* @param childAssocRef
|
||||
*/
|
||||
private void createContainerElement(final ChildAssociationRef childAssocRef)
|
||||
{
|
||||
mandatory("childAssocRef", childAssocRef);
|
||||
|
||||
final NodeRef childRef = childAssocRef.getChildRef();
|
||||
NodeRef childRef = childAssocRef.getChildRef();
|
||||
setupPermissions(childAssocRef.getParentRef(), childRef);
|
||||
grantFilingPermissionToCreator(childRef);
|
||||
}
|
||||
|
||||
/**
|
||||
* Helper method to give filing permissions to the currently logged in user who creates the node (transfer folder, hold, etc.)
|
||||
*
|
||||
* @param nodeRef The node reference of the created object
|
||||
*/
|
||||
private void grantFilingPermissionToCreator(final NodeRef nodeRef)
|
||||
{
|
||||
final String user = AuthenticationUtil.getFullyAuthenticatedUser();
|
||||
|
||||
final boolean hasUserPermission = authenticationUtil.runAs(new AuthenticationUtil.RunAsWork<Boolean>()
|
||||
{
|
||||
public Boolean doWork()
|
||||
{
|
||||
return getPermissionService().hasPermission(childRef, RMPermissionModel.FILING) == AccessStatus.ALLOWED;
|
||||
return getPermissionService().hasPermission(nodeRef, RMPermissionModel.FILING) == AccessStatus.ALLOWED;
|
||||
}
|
||||
}, user);
|
||||
|
||||
@@ -328,7 +345,7 @@ public class FilePlanPermissionServiceImpl extends ServiceBaseImpl
|
||||
{
|
||||
public Void doWork()
|
||||
{
|
||||
getPermissionService().setPermission(childRef, user, RMPermissionModel.FILING, true);
|
||||
getPermissionService().setPermission(nodeRef, user, RMPermissionModel.FILING, true);
|
||||
return null;
|
||||
}
|
||||
});
|
||||
|
Reference in New Issue
Block a user