--- 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: