[Plone] Problem mit Archetypes und Workflow
"Stefan Bielenberg" <[email protected]>
| Newsgroups | gmane.comp.web.zope.german |
|---|---|
| Message-ID | <[email protected]> |
Hallo,
ich habe ein Problem mit Archetypes und Workflow, vielleicht könnt Ihr mir
ja weiterhelfen:
Ich habe einen eigenen Archetypen "Subscriber" erstellt, der auch
wunderbar funktioniert und alle macht, was er machen soll, solange ich
eingeloogt/authentifiziert bin. Allerdings möchte ich, dass auch nicht
authentifizierte Benutzer mit Hilfe eines vereinfachten Formulares diesen
Archetype anlegen können. Diesen Formular ruft ein Script
"createSubscriber" auf, welches den Archetypen zusammensetzt, erstellt und
ne Mail abschickt. Diesem Script habe ich die Proxy-Role "Manager"
gegeben. Am Ende des Scripts setze ich den erstellten Archetypen auf
"private" mit den folgenden Zeilen:
if context.portal_workflow.getInfoFor(page, 'review_state', '') == 'visible':
context.portal_workflow.doActionFor(page, 'hide')
Wie gesagt, eingeloggt funktioniert alles prima, nur wenn ich nicht
authentifiziert bin bekomme ich folgenden Fehler:
Site error
This site encountered an error trying to fulfill your request. The
errors were:
Error Type
WorkflowException
Error Value
No workflow provides the "hide" action.
Request made at
2009/01/12 20:17:26.435 GMT+1
Wer kann weiterhelfen? Welche Security-Einstellungen muss ich noch anpassen?
Hier ein Ausschnitt aus dem Script:
-----------
# define ID/filename
filename = 'subscriber-' + timestamp
# check if not yet exists the same ID/filename
page = getattr(context, filename, '')
if not page:
# create a new Document type
context.invokeFactory(id=filename, type_name='Subscriber')
page = getattr(context, filename)
title = surname + ' / ' + company + ' ' + time
page.setTitle(title)
page.setFirstname(firstname)
page.setSurname(surname)
page.setCompany(company)
page.setPosition(position)
page.setCountry(country)
page.setEmail(email)
# aendere den Zustand des Objekte von "visible" zu "private" mit der
Action "hide"
if context.portal_workflow.getInfoFor(page, 'review_state', '') == 'visible':
context.portal_workflow.doActionFor(page, 'hide')
--------
Vielen Dank,
Stefan
_______________________________________________
zope mailing list
[email protected]
https://mail.dzug.org/mailman/listinfo/zope