Checking if disposition as of date was changed manually.

This commit is contained in:
roxana
2016-10-21 11:13:51 +03:00
parent 699e29bb28
commit 7d82844048

View File

@@ -18,6 +18,8 @@
*/ */
package org.alfresco.module.org_alfresco_module_rm.disposition; package org.alfresco.module.org_alfresco_module_rm.disposition;
import static org.apache.commons.lang3.BooleanUtils.isNotTrue;
import java.io.Serializable; import java.io.Serializable;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Collection; import java.util.Collection;
@@ -280,26 +282,30 @@ public class DispositionServiceImpl extends ServiceBaseImpl
if (dsNextAction != null) if (dsNextAction != null)
{ {
if (!dsNextAction.getWriteMode().equals(WriteMode.READ_ONLY)) final NodeRef action = dsNextAction.getNextActionNodeRef();
if (isNotTrue((Boolean)nodeService.getProperty(action, PROP_MANUALLY_SET_AS_OF)))
{ {
final NodeRef action = dsNextAction.getNextActionNodeRef(); if (!dsNextAction.getWriteMode().equals(WriteMode.READ_ONLY))
final String dispositionActionName = dsNextAction.getNextActionName();
final Date dispositionActionDate = dsNextAction.getNextActionDateAsOf();
AuthenticationUtil.runAsSystem(new RunAsWork<Void>()
{ {
@Override final String dispositionActionName = dsNextAction.getNextActionName();
public Void doWork() final Date dispositionActionDate = dsNextAction.getNextActionDateAsOf();
AuthenticationUtil.runAsSystem(new RunAsWork<Void>()
{ {
nodeService.setProperty(action, PROP_DISPOSITION_AS_OF, dispositionActionDate); @Override
if (dsNextAction.getWriteMode().equals(WriteMode.DATE_AND_NAME)) public Void doWork()
{ {
nodeService.setProperty(action, PROP_DISPOSITION_ACTION_NAME, dispositionActionName); nodeService.setProperty(action, PROP_DISPOSITION_AS_OF, dispositionActionDate);
if (dsNextAction.getWriteMode().equals(WriteMode.DATE_AND_NAME))
{
nodeService.setProperty(action, PROP_DISPOSITION_ACTION_NAME, dispositionActionName);
}
return null;
} }
return null; });
} }
});
} }
dsNodeRef = dsNextAction.getDispositionNodeRef(); dsNodeRef = dsNextAction.getDispositionNodeRef();
} }
} }