git://git.onelab.eu
/
plcapi.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Setting tag PLCAPI-4.3-26
[plcapi.git]
/
PLC
/
Methods
/
GetPersons.py
diff --git
a/PLC/Methods/GetPersons.py
b/PLC/Methods/GetPersons.py
index
e48db7b
..
7ef68b2
100644
(file)
--- 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
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'])],
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)
]
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:
# 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 = []
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:
if added_fields:
for person in persons:
for field in added_fields:
- del person[field]
+ if field in person:
+ del person[field]
return persons
return persons