UpdatePerson.py
[plcapi.git] / PLC / Methods / AdmDeletePerson.py
index 8a4fd93..ff29e8b 100644 (file)
@@ -1,45 +1,8 @@
-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.Methods.DeletePerson import DeletePerson
 
-class AdmDeletePerson(Method):
+class AdmDeletePerson(DeletePerson):
     """
-    Mark an existing account as deleted.
-
-    Users and techs can only delete themselves. PIs can only delete
-    themselves and other non-PIs at their sites. Admins can delete
-    anyone.
-
-    Returns 1 if successful, faults otherwise.
+    Deprecated. See DeletePerson.
     """
 
-    roles = ['admin', 'pi', 'user', 'tech']
-
-    accepts = [
-        PasswordAuth(),
-        Mixed(Person.fields['person_id'],
-              Person.fields['email'])
-        ]
-
-    returns = Parameter(int, '1 if successful')
-
-    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.values()[0]
-
-        # Authenticated function
-        assert self.caller is not None
-
-        # Check if we can update this account
-        if not self.caller.can_update(person):
-            raise PLCPermissionDenied, "Not allowed to delete specified account"
-
-        person.delete()
-
-        return 1
+    status = "deprecated"