X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=PLC%2FMethods%2FAdmAddPerson.py;h=2b90f61a20364b3a68c90d7fe293d99714d6b942;hb=32a7859efc899b826dc5d7a7cde4f7e0606e09ee;hp=574f0509a2962844d0e738d4aa4549107b01d60c;hpb=5316eb9f6e95615eea6f970183f1ae121b3b3c5c;p=plcapi.git diff --git a/PLC/Methods/AdmAddPerson.py b/PLC/Methods/AdmAddPerson.py index 574f050..2b90f61 100644 --- a/PLC/Methods/AdmAddPerson.py +++ b/PLC/Methods/AdmAddPerson.py @@ -2,42 +2,29 @@ from PLC.Faults import * from PLC.Method import Method from PLC.Parameter import Parameter, Mixed from PLC.Persons import Person, Persons -from PLC.Auth import PasswordAuth +from PLC.Auth import Auth +from PLC.Methods.AddPerson import AddPerson -class AdmAddPerson(Method): - """ - Adds a new account. Any fields specified in optional_vals are - used, otherwise defaults are used. - - Accounts are disabled by default. To enable an account, use - AdmSetPersonEnabled() or AdmUpdatePerson(). +can_update = lambda (field, value): field in \ + ['title', 'email', 'password', 'phone', 'url', 'bio'] - Returns the new person_id (> 0) if successful, faults otherwise. +class AdmAddPerson(AddPerson): + """ + Deprecated. See AddPerson. """ - roles = ['admin', 'pi'] + status = "deprecated" - can_update = lambda (field, value): field in \ - ['title', 'email', 'password', 'phone', 'url', 'bio'] - update_fields = dict(filter(can_update, Person.fields.items())) + person_fields = dict(filter(can_update, Person.fields.items())) accepts = [ - PasswordAuth(), + Auth(), Person.fields['first_name'], Person.fields['last_name'], - update_fields + person_fields ] - returns = Parameter(int, 'New person_id (> 0) if successful') - - def call(self, auth, first_name, last_name, optional_vals = {}): - if filter(lambda field: field not in self.update_fields, optional_vals): - raise PLCInvalidArgument, "Invalid fields specified" - - person = Person(self.api, optional_vals) - person['first_name'] = first_name - person['last_name'] = last_name - person['enabled'] = False - person.flush() - - return person['person_id'] + def call(self, auth, first_name, last_name, person_fields = {}): + person_fields['first_name'] = first_name + person_fields['last_name'] = last_name + return AddPerson.call(self, auth, person_fields)