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

Reply via email to