Für Plone 4.3 kann das aktuelle Stadium mit plone.api ermittelt werden:
import plone.api
wftool = plone.api.portal.get_tool('portal_workflow')
review_state = wftool.getInfoFor(context, 'review_state')
Für Plone ≤ 4.2 erhalten wir das Workflow-Tool noch mit getToolByName
:
from Products.CMFCore.utils import getToolByName
wftool = getToolByName(context, 'portal_workflow'
review_state = wftool.getInfoFor(context, 'review_state')
Bemerkung
Wird das Stadium im Catalog Tool (portal_catalog
)
abgefragt, so wird das Stadium als Metaangabe des Objekts ausgegeben:
from Products.CMFCore.utils import getToolByName
catalog = getToolByName(context, 'portal_catalog')
for result in catalog(portal_type = ('Document', 'News Item'),
review_state = ('published', 'public', 'visible',)):
review_state = result.review_state
# do something with the review state
wftool.doActionFor(context, action='publish')