Re: Rechteproblem im workflow nach doActionFor

Nicolas Höning <[email protected]>
Newsgroups gmane.comp.web.zope.german
Message-ID <[email protected]>
2009/2/16 Nicolas Höning <[email protected]>:
> Hallo
>
> Ich hoffe, ich schaffe es, mein Problem verständlich zu machen:
>
> Kurzzusammenfassung meines Problems:
> In einem IActionSucceededEvent-adapter, setze ich den workflow
> automatisch, per code, einen Schritt weiter. Wenn dieser automatisch
> generierte state-change verarbeitet wird, tritt ein Rechtefehler auf
> (anders, als wenn der Workflow "klassisch", per-klick durchgezogen
> wird)
>
>
> Lange Zusammenfassung:
> Mein ATFolder-Typ namens ContentFolderA hat die workflow-states
> initial, conf und processed.
>
> Wenn der User ein TypA-Objekt aus initial nach conf klickt, sieht er
> nur den conf - view, wenn er ein Häkchen gesetzt hat. Ansonsten wird
> mein Code die Default-Konfiguration vornehmen und das Objekt
> automatisch prozessieren (der gesamte workflow ist dann also für den
> user nur ein Schritt).
>
> Zur Konfiguration gehört es, Objekte vom TypB and das TypA-Objekt zu hängen.
> Wenn ich prozessiere, schneide ich sie aus (und füge sie woanders ein,
> aber das ist nicht mehr wichtig hier). Letzteres wird mir verboten,
> wenn der Code den workflow automatisch weitersetzt.
>
> Hier ist relevanter Code:
>
> @adapter(IContentFolderA, IActionSucceededEvent)
>  def afolder_state_changed(afolder, event):
>     wft = getToolByName(afolder, 'portal_workflow')
>     if event.action == 'configure':
>                     bid = ufolder.generateUniqueId(type_name='ContentTypB')
>                     bid = ufolder.invokeFactory(id=bid,
> type_name='ContentTypB')
>                     b = getattr(ufolder, bid)
>             if not afolder.REQUEST.has_key('custom_conf'):
>                 # skip custom conf
>                 wft.doActionFor(afolder, 'process', wf_id="my_workflow")
>     if event.action == 'process':
>         for bid in mybs:
>             cb_cut_data = afolder.manage_cutObjects([bid])
>
>
> Die letzte Zeile schlägt fehl, wenn "custom_conf" nicht gewünscht
> wurde, also wenn wft.doActionFor im code ausgeführt wird. Sie
> funktioniert, wenn der user "custom conf" wünscht, also im conf -
> status bleibt und da auf "Process" klickt (also die URL
> ?ontent_status_modify?workflow_action=process besucht).
>
> Die Fehlermeldung:
>
> (...)
>  Module OFS.CopySupport, line 105, in manage_cutObjects
> Copy Error:
> <HTML>
> (...)
>  <CENTER>
>  The action against the <em>ContentTypB.2009-02-16.9419663933</em>
> object could not be carried out. One of the following constraints
> caused the problem: <br><br>The object does not support this
> operation.<br><br>-- OR --<br><br>The currently logged-in user does
> not have the <b>Copy or Move</b> permission respective to the object.
>
>
> Ich habe schon debuggt, dass ich durchaus der Besitzer des Folders
> bin, wenn der Code fehlschlägt, also tue ich mich mit der
> Interpretation des Fehlers recht schwer.
>
> Was könnte ich tun, um dem Problem näher zu kommen?
>
> Vielen Dank,
>
> -Nicolas
>

Hallo

Ich hab beim vereinfachen des Codesnippets etwas übersehen: "ufolder"
sollte überall "afolder" heissen.

Ausserdem habe ich noch Zusatzinfo vergessen: Ich benutze Zope 2.10
und Plone 3.2.

Sorry,

-Nicolas


_______________________________________________
zope mailing list
[email protected]
https://mail.dzug.org/mailman/listinfo/zope
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.