X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;ds=sidebyside;f=PLC%2FMethods%2FGetPersons.py;h=7ef68b287ed8d623c7523fe6c1fe21f270fc0e61;hb=8693b5a17377f059b023466b0a6e78314719e9c0;hp=e48db7bef1b10d58447caca362bd8ef14d57785e;hpb=3848e61c07f506bc9cc0710611440af7cfb47e1a;p=plcapi.git diff --git a/PLC/Methods/GetPersons.py b/PLC/Methods/GetPersons.py index e48db7b..7ef68b2 100644 --- a/PLC/Methods/GetPersons.py +++ b/PLC/Methods/GetPersons.py @@ -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