src/pyams_security/plugin/group.py
changeset 42 07229ac2497b
parent 15 cb45428a26a1
child 45 4d5db00d12b9
--- a/src/pyams_security/plugin/group.py	Wed May 20 12:31:27 2015 +0200
+++ b/src/pyams_security/plugin/group.py	Wed Jun 17 09:59:18 2015 +0200
@@ -19,7 +19,7 @@
 
 # import interfaces
 from pyams_security.interfaces import IGroupsFolderPlugin, ILocalGroup, IPrincipalsAddedToGroupEvent, \
-    IPrincipalsRemovedFromGroupEvent, PrincipalsAddedToGroupEvent, PrincipalsRemovedFromGroupEvent
+    IPrincipalsRemovedFromGroupEvent, PrincipalsAddedToGroupEvent, PrincipalsRemovedFromGroupEvent, ISecurityManager
 from zope.lifecycleevent.interfaces import IObjectAddedEvent
 
 # import packages
@@ -83,7 +83,7 @@
             return False
         return group_id 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 + ':'):
@@ -91,9 +91,12 @@
         prefix, group_id = principal_id.split(':', 1)
         group = self.get(group_id)
         if group is not None:
-            return PrincipalInfo(id='{prefix}:{group_id}'.format(prefix=self.prefix,
-                                                                 group_id=group.group_id),
-                                 title=group.title)
+            if info:
+                return PrincipalInfo(id='{prefix}:{group_id}'.format(prefix=self.prefix,
+                                                                     group_id=group.group_id),
+                                     title=group.title)
+            else:
+                return group
 
     def get_all_principals(self, principal_id, seen=None):
         if not self.enabled: