Revision: 18492
Author:   bvanhalderen
Date:     2009-06-11 16:17:37 +0200 (Thu, 11 Jun 2009)
Log Message:
-----------
HREPTWO-2727, HREPTWO-2655: This should be redundant piece of code,
but because the events are not always delivered, we force an update of
the editor to preview mode.  Roll back when event generation properly
performed.

Modified Paths:
--------------
    
hippo-ecm/trunk/addon/reviewed-action/frontend/src/main/java/org/hippoecm/frontend/plugins/reviewedactions/EditingReviewedActionsWorkflowPlugin.java

Modified: 
hippo-ecm/trunk/addon/reviewed-action/frontend/src/main/java/org/hippoecm/frontend/plugins/reviewedactions/EditingReviewedActionsWorkflowPlugin.java
===================================================================
--- 
hippo-ecm/trunk/addon/reviewed-action/frontend/src/main/java/org/hippoecm/frontend/plugins/reviewedactions/EditingReviewedActionsWorkflowPlugin.java
        2009-06-11 14:08:52 UTC (rev 18491)
+++ 
hippo-ecm/trunk/addon/reviewed-action/frontend/src/main/java/org/hippoecm/frontend/plugins/reviewedactions/EditingReviewedActionsWorkflowPlugin.java
        2009-06-11 14:17:37 UTC (rev 18492)
@@ -39,7 +39,9 @@
 import org.hippoecm.frontend.plugins.reviewedactions.dialogs.OnCloseDialog;
 import org.hippoecm.frontend.service.EditorException;
 import org.hippoecm.frontend.service.IEditor;
+import org.hippoecm.frontend.service.IEditor.Mode;
 import org.hippoecm.frontend.service.IEditorFilter;
+import org.hippoecm.frontend.service.IEditorManager;
 import org.hippoecm.frontend.service.IValidateService;
 import org.hippoecm.frontend.session.UserSession;
 import org.hippoecm.repository.api.HippoNodeType;
@@ -176,6 +178,7 @@
                 BasicReviewedActionsWorkflow workflow = 
(BasicReviewedActionsWorkflow) wf;
                 workflow.commitEditableInstance();
 
+                // FIXME more stable solution for this.
                 DateFormat df = 
DateFormat.getDateTimeInstance(DateFormat.SHORT, DateFormat.SHORT);
                 info(new StringResourceModel("saved", 
EditingReviewedActionsWorkflowPlugin.this, null,
                         new Object[] { df.format(new Date()) }).getString());
@@ -200,9 +203,26 @@
                 new 
ResourceReference(EditingReviewedActionsWorkflowPlugin.class, 
"document-done-16.png")) {
             @Override
             public String execute(Workflow wf) throws Exception {
+                Node docNode = null;
+                try {
+                    docNode = ((WorkflowDescriptorModel) 
EditingReviewedActionsWorkflowPlugin.this.getModel()).getNode();
+                } catch(RepositoryException ex) {
+                    // ignore, we can't handle this.
+                }
+                
                 BasicReviewedActionsWorkflow workflow = 
(BasicReviewedActionsWorkflow) wf;
                 workflow.commitEditableInstance();
                 ((UserSession) Session.get()).getJcrSession().refresh(true);
+                
+                IEditorManager editorMgr = 
getPluginContext().getService(getPluginConfig().getString(IEditorManager.EDITOR_ID),
 IEditorManager.class);
+                if (editorMgr != null) {
+                    JcrNodeModel docModel = new JcrNodeModel(docNode);
+                    IEditor editor = editorMgr.getEditor(docModel);
+                    if (editor != null) {
+                        editor.setMode(Mode.VIEW);
+                    }
+                }
+
                 return null;
             }
         });

_______________________________________________
Hippocms-svn mailing list
[email protected]
http://lists.hippo.nl/mailman/listinfo/hippocms-svn

Reply via email to