h2o
h2o

Reputation: 513

Accessing an object's workflow state in collective.easytemplate

I would like to use collective.easytemplate to generate templated emails (for content rules). However, I am not sure if it can output an objects workflow state. Anybody know if it is possible and how it is done?

Thanks.

Upvotes: 1

Views: 1181

Answers (2)

Spanky
Spanky

Reputation: 5776

The portal_catalog also has an index of the workflow's Review State, so if you don't already have the object you're working on (e.g. context ≠ the object) you could use the catalog, look up the object and get the review state from the resulting "brains" object.

Apparently there are ALSO browser view methods available to you as well, and I notice that one of them is workflow_state. See:

http://plone.org/documentation/manual/theme-reference/page/otherinfo

Upvotes: 1

Alex
Alex

Reputation: 4345

You can, it is possible, and one way is to use the portal_workflow tool e.g. from parts/omelette/plone/app/contentrules/tests/test_action_workflow.py:

 self.assertEquals('published', 
     self.portal.portal_workflow.getInfoFor(self.folder.d1, 'review_state'))

More generally, something like:

context.portal_workflow.getInfoFor(context, 'review_state')

in a page template should work. Or use the portal_catalog as Spanky suggests e.g. if "obj" is a catalog "brain" (i.e. part of a result set from a catalog search) then:

obj.review_state

should work.

Upvotes: 4

Related Questions