Update of 
/var/cvs/contributions/CMSContainer_Modules/workflow/src/java/com/finalist/cmsc/workflow
In directory 
james.mmbase.org:/tmp/cvs-serv25054/workflow/src/java/com/finalist/cmsc/workflow

Modified Files:
        WorkflowManager.java 
Log Message:
CMSC-1073 Workflow elements should not be modified by 'anonymous'.


See also: 
http://cvs.mmbase.org/viewcvs/contributions/CMSContainer_Modules/workflow/src/java/com/finalist/cmsc/workflow
See also: http://www.mmbase.org/jira/browse/CMSC-1073


Index: WorkflowManager.java
===================================================================
RCS file: 
/var/cvs/contributions/CMSContainer_Modules/workflow/src/java/com/finalist/cmsc/workflow/WorkflowManager.java,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -b -r1.15 -r1.16
--- WorkflowManager.java        8 Aug 2008 13:44:01 -0000       1.15
+++ WorkflowManager.java        26 Sep 2008 09:33:41 -0000      1.16
@@ -4,6 +4,9 @@
 
 import org.apache.commons.lang.StringUtils;
 import org.mmbase.bridge.*;
+import org.mmbase.module.core.MMBase;
+import org.mmbase.module.core.MMObjectBuilder;
+import org.mmbase.module.core.MMObjectNode;
 import org.mmbase.storage.search.*;
 import org.mmbase.util.logging.Logger;
 import org.mmbase.util.logging.Logging;
@@ -366,11 +369,16 @@
    }
 
    protected void changeWorkflowFailPublished(Node wfItem, String status, 
String stacktrace) {
-             wfItem.setStringValue(STATUS_FIELD, status);
+      // We need to bypass the MMBase bridge to change workflow items.
+      // The bridge causes the lastmodifier field to be changed, which is 
visible for the end user.
+      MMObjectBuilder wfBuilder = 
MMBase.getMMBase().getBuilder(WORKFLOW_MANAGER_NAME);
+      MMObjectNode mmNode = wfBuilder.getNode(wfItem.getNumber());
+
+      mmNode.setValue(STATUS_FIELD, status);
              if (StringUtils.isNotEmpty(stacktrace)) {
-                 wfItem.setStringValue(STACKTRACE_FIELD, stacktrace);
+         wfItem.setValue(STACKTRACE_FIELD, stacktrace);
               }
-             wfItem.commit();
+      wfBuilder.commit(mmNode);
           }
 
 
_______________________________________________
Cvs mailing list
[email protected]
http://lists.mmbase.org/mailman/listinfo/cvs

Reply via email to