Guten Abend,
nach langem Suchen und kein Finden der passenden Antwort bin ich nun hier gelandet. Ich bilde mit Plone einen Workfow ab. In diesem Workflow sollen Dokuments von öffentlichen Ordnern in die privaten Nutzerordner verschoben werden und der Status des Dokuments angepasst werden.
Als ich zu Beginn das ganze als Administrator versuchte kam die folgende Fehlermeldung:
No workflow provides the "einreichen" action. Daraufhin habe ich in meinen Intitialstatus (private) die einreichen-Transition hinzugefügt und ich konnte das Workflowskript ausführen.
Nun jedoch habe ich mich als normaler Nutzer angemeldet. Dieser Nutzer hat eine lokale Rolle für das Objekt, welches ich verschieben möchte. Wenn ich nun allerdings das Skript wieder ausführe, kommt wieder die Meldung:
No workflow provides the "einreichen" action. Mein Skript sieht wie folgt aus:
obj = state_change.object
id = obj.getId()
wf_tool = context.portal_workflow
nutzerID = obj.getModulverantwortlichen().getId()
nutzerOrdner = context.portal_membership.getHomeFolder(nutzerID)
quellOrdner = obj.aq_parent
nutzerOrdner.manage_pasteObjects(quellOrdner.manage_copyObjects([id,]))
new_obj = nutzerOrdner[id]
context.portal_workflow.doActionFor(new_obj,'einreichen', comment='') #Fehlermeldung hier
...
Alles anzeigen
Das Traceback sieht so aus:
Traceback (innermost last):
Module ZPublisher.Publish, line 115, in publish
Module ZPublisher.mapply, line 88, in mapply
Module ZPublisher.Publish, line 41, in call_object
Module Products.CMFFormController.FSControllerPythonScript, line 104, in __call__
Module Products.CMFFormController.Script, line 145, in __call__
Module Products.CMFCore.FSPythonScript, line 108, in __call__
Module Shared.DC.Scripts.Bindings, line 311, in __call__
Module Shared.DC.Scripts.Bindings, line 348, in _bindAndExec
Module Products.CMFCore.FSPythonScript, line 164, in _exec
Module None, line 42, in content_status_modify
- <FSControllerPythonScript at /Plone/content_status_modify used for /Plone/ModulFolder/pti114-bier>
- Line 42
Module Products.CMFCore.WorkflowTool, line 302, in doActionFor
Module Products.CMFCore.WorkflowTool, line 620, in _invokeWithNotification
Module Products.DCWorkflow.DCWorkflow, line 291, in doActionFor
Module Products.DCWorkflow.DCWorkflow, line 476, in _changeStateOf
Module Products.DCWorkflow.DCWorkflow, line 579, in _executeTransition
Module Shared.DC.Scripts.Bindings, line 311, in __call__
Module Shared.DC.Scripts.Bindings, line 348, in _bindAndExec
Module Products.PythonScripts.PythonScript, line 326, in _exec
Module None, line 19, in lock_and_edit
- <PythonScript at /Plone/portal_workflow/Modulworkflow/scripts/lock_and_edit>
- Line 19
Module Products.CMFCore.WorkflowTool, line 295, in doActionFor
WorkflowException: No workflow provides the "einreichen" action.
Alles anzeigen
Wäre schön wenn mir jemand helfen könnte und mir Hinweise oder Tipps geben könnte um diesen Fehler zu beseitigen.
Schon mal recht herzlichen Dank im voraus.