req.py
changeset 9821 2077c8da1893
parent 9818 e3d2012adcd0
parent 9770 112c884b2d8d
child 10256 f753f364550f
equal deleted inserted replaced
9819:95902c0b991b 9821:2077c8da1893
   205         >>> users = find('CWGroup', name=u"users").one()
   205         >>> users = find('CWGroup', name=u"users").one()
   206         >>> groups = find('CWGroup').entities()
   206         >>> groups = find('CWGroup').entities()
   207         """
   207         """
   208         parts = ['Any X WHERE X is %s' % etype]
   208         parts = ['Any X WHERE X is %s' % etype]
   209         varmaker = rqlvar_maker(defined='X')
   209         varmaker = rqlvar_maker(defined='X')
   210         eschema = self.vreg.schema[etype]
   210         eschema = self.vreg.schema.eschema(etype)
   211         for attr, value in kwargs.items():
   211         for attr, value in kwargs.items():
   212             if isinstance(value, list) or isinstance(value, tuple):
   212             if isinstance(value, list) or isinstance(value, tuple):
   213                 raise NotImplementedError("List of values are not supported")
   213                 raise NotImplementedError("List of values are not supported")
   214             if hasattr(value, 'eid'):
   214             if hasattr(value, 'eid'):
   215                 kwargs[attr] = value.eid
   215                 kwargs[attr] = value.eid
   297         if not kwargs:
   297         if not kwargs:
   298             return u'%s%s' % (base_url, path)
   298             return u'%s%s' % (base_url, path)
   299         return u'%s%s?%s' % (base_url, path, self.build_url_params(**kwargs))
   299         return u'%s%s?%s' % (base_url, path, self.build_url_params(**kwargs))
   300 
   300 
   301     def build_url_params(self, **kwargs):
   301     def build_url_params(self, **kwargs):
   302         """return encoded params to incorporate them in an URL"""
   302         """return encoded params to incorporate them in a URL"""
   303         args = []
   303         args = []
   304         for param, values in kwargs.iteritems():
   304         for param, values in kwargs.iteritems():
   305             if not isinstance(values, (list, tuple)):
   305             if not isinstance(values, (list, tuple)):
   306                 values = (values,)
   306                 values = (values,)
   307             for value in values:
   307             for value in values:
   363 
   363 
   364     # bound user related methods ###############################################
   364     # bound user related methods ###############################################
   365 
   365 
   366     @cached
   366     @cached
   367     def user_data(self):
   367     def user_data(self):
   368         """returns a dictionary with this user's information"""
   368         """returns a dictionary with this user's information.
       
   369 
       
   370         The keys are :
       
   371 
       
   372         login
       
   373             The user login
       
   374 
       
   375         name
       
   376             The user name, returned by user.name()
       
   377 
       
   378         email
       
   379             The user principal email
       
   380 
       
   381         """
   369         userinfo = {}
   382         userinfo = {}
   370         user = self.user
   383         user = self.user
   371         userinfo['login'] = user.login
   384         userinfo['login'] = user.login
   372         userinfo['name'] = user.name()
   385         userinfo['name'] = user.name()
   373         userinfo['email'] = user.cw_adapt_to('IEmailable').get_email()
   386         userinfo['email'] = user.cw_adapt_to('IEmailable').get_email()