X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=PLC%2FMethods%2FDeletePerson.py;h=91267ca49e780ecde8c16fb78230398dab5b1bc4;hb=7ff3079ce042525acbf00e0d4fe555e8988c128d;hp=7046e81e1e6971b1922d8f9bb3253672e34cb7bd;hpb=3f30de17c58880c0f6f1d64ea573c3fe56e32a38;p=plcapi.git diff --git a/PLC/Methods/DeletePerson.py b/PLC/Methods/DeletePerson.py index 7046e81..91267ca 100644 --- a/PLC/Methods/DeletePerson.py +++ b/PLC/Methods/DeletePerson.py @@ -1,3 +1,5 @@ +# $Id$ +# $URL$ from PLC.Faults import * from PLC.Method import Method from PLC.Parameter import Parameter, Mixed @@ -25,17 +27,16 @@ class DeletePerson(Method): returns = Parameter(int, '1 if successful') - event_type = 'Delete' - object_type = 'Person' - def call(self, auth, person_id_or_email): # Get account information persons = Persons(self.api, [person_id_or_email]) if not persons: raise PLCInvalidArgument, "No such account" - person = persons[0] + if person['peer_id'] is not None: + raise PLCInvalidArgument, "Not a local account" + # Authenticated function assert self.caller is not None @@ -44,6 +45,9 @@ class DeletePerson(Method): raise PLCPermissionDenied, "Not allowed to delete specified account" person.delete() - self.object_ids = [person['person_id']] + + # Logging variables + self.event_objects = {'Person': [person['person_id']]} + self.message = 'Person %d deleted' % person['person_id'] return 1