[Zope-dev] Re: Listing a groups users via Python and portal_groups

Hitesh Shetty hitesh.p.shetty at gmail.com
Fri Jul 22 10:16:24 EDT 2005


Im trying to implement a file system 
in the process i came accross Zope and ZODB
however i cant figure out where to start
since its important to study ZODB's architecture
regards
Hitesh Shetty


On 7/22/05, J Cameron Cooper <zope-dev at jcameroncooper.com> wrote:
> Takahashi, Michael wrote:
> > Thanks for the help, I actually figured it out.  It turned out that
> > portal.portal_groups.getGroupById("staff").getGroupUsers() was the
> > solution.  However, the getGroupUsers() function returns a list of
> > users, but not as strings.  So I had to convert the entire call with
> > str() in order to run a comparison.
> > 
> > So in the end this is how I achieved what I needed:
> > 
> > portal.portal_membership.getAuthenticatedMember().getId() not in \
> > str(portal.portal_groups.getGroupById("staff").getGroupUsers())
> 
> The 'getGroupUsers' is not a good idea in a CMF environment. You should 
> use the methods from the group tools. Like the ones I mentioned by name. 
> One of them even does exactly what you want::
> 
>    context.portal_groups.getGroupById('group1').getGroupMemberIds()
> 
> 		--jcc
> 
> > -----Original Message-----
> > From: J Cameron Cooper [mailto:zope-dev at jcameroncooper.com] 
> > Sent: Thursday, July 21, 2005 12:36 PM
> > To: Takahashi, Michael
> > Cc: zope-dev at zope.org
> > Subject: Re: [Zope-dev] Listing a groups users via Python and
> > portal_groups
> > 
> > Takahashi, Michael wrote:
> > 
> > 
> >>I'm trying to work on a function call using Python that will list the 
> >>users of any specified group using the function portal_groups.
> >>
> >>I've been able to successfully do this the opposite way by getting the
> > 
> > 
> >>users groups via portal_membership:
> >>
> >>portal.portal_membership.getAuthenticatedMember().getGroups()
> >>
> >>Which will return all groups this user is associated with.
> >>
> >>So I've been testing using portal_groups with function calls similar
> > 
> > to 
> > 
> >>this:
> >>
> >>portal.portal_groups.getGroupById("staff").getUsers()
> >>
> >>Where "staff" is the name of the group. This almost does what I need, 
> >>but not quite close enough because it lists all groups and all users.
> > 
> > 
> >>Any suggestions or help is greatly appreciated!
> > 
> > 
> > It acquires 'getUsers' from somewhere, I guess.
> > 
> > Group objects have 'getGroupMemberIds' and 'getGroupMembers' methods.
> > You can see this in Products.GroupUserFolder.GroupDataTool.GroupData.
> > the Products.GroupUserFolder.interfaces.portal_groupdata is a bit
> > cleaner, but seems a little behind the times, as it's missing
> > 'getGroupMemberIds'.
> > 
> > Note that this isn't a good topic for zope-dev, but more for
> > plone-users.
> > 
> > 		--jcc
> > 
> > 
> > 
> 
> 
> _______________________________________________
> Zope-Dev maillist  -  Zope-Dev at zope.org
> http://mail.zope.org/mailman/listinfo/zope-dev
> **  No cross posts or HTML encoding!  **
> (Related lists - 
>  http://mail.zope.org/mailman/listinfo/zope-announce
>  http://mail.zope.org/mailman/listinfo/zope )
>


More information about the Zope-Dev mailing list