Re: a new howto

Racinet Georges <[email protected]> Mon, 4 May 2009 14:30:37 +0200
Newsgroups gmane.comp.web.zope.cps.devel
Message-ID <[email protected]>
On May 4, 2009, at 12:38 PM, Guillaume GB wrote:

> Hi, sorry for the long time.
>
> Here's my code in order to get a list of user id. I think there is  
> no much chance this list can be too huge because I've apply the  
> getMergedLocalRoles method on my particular object instead of the  
> whole workspace.



> Ok, just look :
>
> def getGuestIds( self ): # list of string
>    "return the id of each member guested (having the 'MyRoleGuest'  
> role)"
>
>    mtool = getToolByName( self, 'portal_membership' )
>
>    user_with_roles_dict = mtool.getMergedLocalRoles( self )
>    # getMergedLocalRoles -->  
> Products.CPSCore.CPSMembershipTool.CPSMembershipTool
>    # return a dictionary formed as {'user:john':['Owner', ], }
>
>    guest_list = [ keyuser.split( ':' )[1] for keyuser in  
> user_with_roles_dict
>                   if "MyRoleGuest" in user_with_roles_dict[keyuser] ]
>
>
> So, I hope this is a good code.

It should work, but you don't treat the case of groups having this  
local role, e.g 'group:some_group': ['Owner', 'MyRoleGuest'] in the  
dict.

The use of groups in various local roles assignments is encouraged in  
the general case  because it's usually less prone to modifications  
(which can be costly, especially for folder hierarchies).


> Hum... now, I've something else to do but no idea on how. First, I  
> would like to detect when a user exit the view page of my object.

That's almost impossible - and breaks things like tab navigation,  
which CPS supports very well (a strong point for ease of use compared  
to most apps heavily based on session persistence)

> And then, if it's possible, detect if a user is "inactive" for a time.

We don't have that currently, either.

Cheers,

>
>
> That's all (just now :-)). I hope my english is understandable.

Can't say, I'm french, too :-)

>
>
>
> cheers,
> Guillaume GB.
>
>
> _______________________________________________
> cps-devel mailing list
> http://lists.nuxeo.com/mailman/listinfo/cps-devel

--
Georges Racinet, http://www.racinet.fr
Zope/CPS/Plone expertise, assistance & development
GPG: 0x4862FFF7







_______________________________________________
cps-devel mailing list
http://lists.nuxeo.com/mailman/listinfo/cps-devel