src/pyams_security/plugin/userfolder.py
changeset 42 07229ac2497b
parent 25 31ad4c01e99e
child 72 6dd8bc7bb7b5
--- a/src/pyams_security/plugin/userfolder.py	Wed May 20 12:31:27 2015 +0200
+++ b/src/pyams_security/plugin/userfolder.py	Wed Jun 17 09:59:18 2015 +0200
@@ -9,8 +9,6 @@
 # WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
 # FOR A PARTICULAR PURPOSE.
 #
-from zope.component.interfaces import ISite
-from pyams_utils.traversing import get_parent
 
 __docformat__ = 'restructuredtext'
 
@@ -30,6 +28,7 @@
 from pyams_security.interfaces.notification import INotificationSettings
 from pyramid_chameleon.interfaces import IChameleonTranslate
 from pyramid_mailer.interfaces import IMailer
+from zope.component.interfaces import ISite
 from zope.lifecycleevent.interfaces import IObjectAddedEvent
 from zope.password.interfaces import IPasswordManager
 from zope.schema.interfaces import IVocabularyRegistry
@@ -42,6 +41,7 @@
 from pyams_utils.html import html_to_text
 from pyams_utils.registry import query_utility, get_utility
 from pyams_utils.request import check_request
+from pyams_utils.traversing import get_parent
 from pyramid.events import subscriber
 from pyramid_mailer.message import Message, Attachment
 from zope.container.contained import Contained
@@ -158,7 +158,7 @@
             return False
         return login not in self
 
-    def get_principal(self, principal_id):
+    def get_principal(self, principal_id, info=True):
         if not self.enabled:
             return None
         if not principal_id.startswith(self.prefix + ':'):
@@ -166,9 +166,12 @@
         prefix, login = principal_id.split(':', 1)
         user = self.get(login)
         if user is not None:
-            return PrincipalInfo(id='{prefix}:{login}'.format(prefix=self.prefix,
-                                                              login=user.login),
-                                 title=user.title)
+            if info:
+                return PrincipalInfo(id='{prefix}:{login}'.format(prefix=self.prefix,
+                                                                  login=user.login),
+                                     title=user.title)
+            else:
+                return user
 
     def get_all_principals(self, principal_id):
         if not self.enabled: