Author: sshyrkov
Date: Tue Sep 4 12:52:12 2007
New Revision: 18364
URL: https://svndev.jahia.net/websvn/listing.php?sc=3D1&rev=3D18364&repname=
=3Djahia
Log:
N-Step Workflow:
1) lock the object (put in waiting for validation state) on the "rolback to=
previous step" action
2) Display "Unlock" and "Lock" actions depending on the object state
Modified:
branches/JAHIA-MINEFI-5-0-2-SPBRANCH/core/src/java/org/jahia/workflow/n=
step/NStepWorkflow.java
Modified: branches/JAHIA-MINEFI-5-0-2-SPBRANCH/core/src/java/org/jahia/work=
flow/nstep/NStepWorkflow.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/branches/JAHIA-MINEFI=
-5-0-2-SPBRANCH/core/src/java/org/jahia/workflow/nstep/NStepWorkflow.java&r=
ev=3D18364&repname=3Djahia
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- branches/JAHIA-MINEFI-5-0-2-SPBRANCH/core/src/java/org/jahia/workflow/n=
step/NStepWorkflow.java (original)
+++ branches/JAHIA-MINEFI-5-0-2-SPBRANCH/core/src/java/org/jahia/workflow/n=
step/NStepWorkflow.java Tue Sep 4 12:52:12 2007
@@ -456,12 +456,20 @@
group =3D workflowService.getRoleGroup(contentObjectInstan=
ce,
trimActionName(workflowStep.getName() + "_unlock"),
true);
- if (group.isMember(user)
- || contentObjectInstance.checkAdminAccess(user)
- || user.isRoot()) {
+ // checks:
+ // not the first step
+ // and user belongs to the allowed group
+ // or it is a root or admin (and the lock/unlcok actions w=
ere enabled on this step for at least one group)
+ if (startIndex > 1
+ && (group.isMember(user) || (contentObjectInstance
+ .checkAdminAccess(user) || user.isRoot())
+ && group.members().hasMoreElements())) {
// Add actions for making content editable
- list.add(trimActionName(UNLOCK_ACTION_NAME));
- list.add(trimActionName(LOCK_ACTION_NAME));
+ if (languageState =3D=3D EntryLoadRequest.WAITING_WORK=
FLOW_STATE) {
+ list.add(trimActionName(UNLOCK_ACTION_NAME));
+ } else {
+ list.add(trimActionName(LOCK_ACTION_NAME));
+ }
}
}
} catch (JahiaException e) {
@@ -571,7 +579,12 @@
// Unlock object
changeStatus(languageCode, jParams, object=
Key, processName,
EntryLoadRequest.STAGING_WORK=
FLOW_STATE);
+ } else {
+ // Lock object
+ changeStatus(languageCode, jParams, object=
Key, processName,
+ EntryLoadRequest.WAITING_WORK=
FLOW_STATE);
}
+ =
instance =3D instanceManager.getWorkflowInstan=
ceByObjectKey(objectKey, languageCode);
historyManager.saveWorkflowHistory(ServicesReg=
istry.getInstance().getJahiaUserManagerService().lookupUser(
instance.getAuthorEmail()).getUsername=
(),
_______________________________________________
cvs_list mailing list
[email protected]
http://lists.jahia.org/cgi-bin/mailman/listinfo/cvs_list