How do I return local roles in a Catalog search?

I created a page template to do the search of the child site (lineage), but how do I get the reviewers userid or email to show on the results?

`


    <tal:block tal:repeat="obj results">


  1. </tal:block>
`

Catalog searches do not return the objects themselves but proxy objects. You can use the proxies "getObject" method to get the object itself.

Content objects are "AccessControl.rolemanager.RoleManager" instances. You can use its methods to determine local roles, e.g. "get_local_roles" or "users_with_local_role".

this worked:

<span tal:replace="python:obj.getObject().users_with_local_role('Reviewer')"  />

Our local Plone User's Group has this:

https://github.com/State-College-Plone/local-roles-listing/blob/master/.getLocalRoles

Also have:

If any of those help

Keep in mind, this has to wake up all your content objects (get
from ZODB, activate), then do expensive acquired local roles all the way
up the tree of parents. In small batches on smaller sites, this can be
tolerable.

Should you get to a point where you find performance
lacking, I suggest you do some searching for work that some folks in the
community have done in add-ons using a "shadow tree" to store local
roles (requires custom local role manager PAS plugin) [1].

Sean

[1] https://www.netsight.co.uk/2014/05/16/optimising-local-role-security-reindexing-in-plone/