Setting tag PLCAPI-4.3-26
[plcapi.git] / PLC / Methods / GetPersons.py
index e48db7b..7ef68b2 100644 (file)
@@ -1,3 +1,5 @@
+# $Id$
+# $URL$
 from PLC.Faults import *
 from PLC.Method import Method
 from PLC.Parameter import Parameter, Mixed
@@ -27,6 +29,8 @@ class GetPersons(Method):
         Auth(),
         Mixed([Mixed(Person.fields['person_id'],
                      Person.fields['email'])],
+             Parameter(str,"email"),
+              Parameter(int,"person_id"), 
               Filter(Person.fields)),
         Parameter([str], "List of fields to return", nullok = True)
         ]
@@ -63,7 +67,7 @@ class GetPersons(Method):
         # Must query at least person_id, site_ids, and role_ids (see
         # Person.can_view() and below).
         if return_fields is not None:
-            added_fields = set(['person_id', 'site_ids', 'role_ids']).difference(return_fields)
+            added_fields = set(['person_id', 'site_ids', 'role_ids','roles']).difference(return_fields)
             return_fields += added_fields
         else:
             added_fields = []
@@ -79,6 +83,7 @@ class GetPersons(Method):
         if added_fields:
             for person in persons:
                 for field in added_fields:
-                    del person[field]
+                   if field in person:
+                       del person[field]
 
         return persons