On 5/12/11 12:12 PM, Yuri wrote:
Preface: I'm tryng to access an object via a browser view, the object
normally is not accessible by the user.

What I did:

abstracts =
self.portal_catalog.unrestrictedSearchResults(sessions=self.this_session)
results = []
for abs in abstracts:
obj = self.context.unrestrictedTraverse(abs.getPath())
abs_data = {'title': abs.Title, 'abstract': obj.getAbstract(), 'autori':
obj.autori_view(), 'url':obj.absolute_url(), 'posteroral':
obj.getAbstract_type()}

this works.

What about the workflow status?

status_info =
wftool.getStatusOf("rivista_elettronica_publication_workflow", obj)
status_id = status_info['review_state'] <- error

What happens if you do

wftool.getInfoFor(obj, 'review_state')

Raphael

status_title =
wftool.getTitleForStateOnType(status_info['review_state'],'EEPArticleNG')
abs_data['status'] = {'id': status_id, 'title': status_title}
results.append(abs_data)

this does not work because th object seems not to be wrapped correctly
(I think, I don't understand what this means exactly).

What I did (luckly, it is a custom content type) was to create a getme()
call in my content type, which returns self.

so:

status_info =
wftool.getStatusOf("rivista_elettronica_publication_workflow",
obj.getme()) <- return myself really!
status_id = status_info['review_state']

and this works!

So, the question is, why obj =
self.context.unrestrictedTraverse(abs.getPath()) (abs is the brain)
don't return the obejct in a "good" way, so the workflow tool can handle
it? What is the right way to do pass the object to getStatusOf?

P.S: abs.getObject() does not to work because the user does not have
access to that object (even if I'm on a browser view):

Module Products.ZCatalog.CatalogBrains, line 86, in getObject
Module OFS.Traversable, line 301, in restrictedTraverse
Module OFS.Traversable, line 232, in unrestrictedTraverse
- __traceback_info__: ([], 'lxyzw')
Unauthorized: You are not allowed to access 'lxyzw' in this context


_______________________________________________
Product-Developers mailing list
[email protected]
https://lists.plone.org/mailman/listinfo/plone-product-developers

Reply via email to