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

Modified Files:
      Tag: b1_4
        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.9
retrieving revision 1.9.2.1
diff -u -b -r1.9 -r1.9.2.1
--- WorkflowManager.java        28 Dec 2007 09:27:52 -0000      1.9
+++ WorkflowManager.java        26 Sep 2008 09:33:29 -0000      1.9.2.1
@@ -8,6 +8,9 @@
 import net.sf.mmapps.commons.util.StringUtil;
 
 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;
@@ -348,11 +351,17 @@
    }
 
    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);
+      mmNode.setValue(STATUS_FIELD, status);
              if (!StringUtil.isEmpty(stacktrace)) {
-                 wfItem.setStringValue(STACKTRACE_FIELD, stacktrace);
+         mmNode.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