From: Mark Huang Date: Wed, 11 Oct 2006 15:44:14 +0000 (+0000) Subject: removed is_primary concept from keys table X-Git-Tag: pycurl-7_13_1~611 X-Git-Url: http://git.onelab.eu/?a=commitdiff_plain;h=a847547d0e53e5704a01293987b3f32430ef184c;p=plcapi.git removed is_primary concept from keys table --- diff --git a/PLC/Methods/SetPersonPrimaryKey.py b/PLC/Methods/SetPersonPrimaryKey.py deleted file mode 100644 index e4c459f5..00000000 --- a/PLC/Methods/SetPersonPrimaryKey.py +++ /dev/null @@ -1,51 +0,0 @@ -from PLC.Faults import * -from PLC.Method import Method -from PLC.Parameter import Parameter, Mixed -from PLC.Persons import Person, Persons -from PLC.Keys import Key, Keys -from PLC.Auth import PasswordAuth - -class SetPersonPrimaryKey(Method): - """ - Makes the specified key the person's primary key. The person - must already be associated with the key. - - Admins may update anyone. All others may only update themselves. - """ - - roles = ['admin', 'pi', 'user', 'tech'] - - accepts = [ - PasswordAuth(), - Mixed(Person.fields['person_id'], - Person.fields['email']), - Key.fields['key_id'] - ] - - returns = Parameter(int, '1 if successful') - - def call(self, auth, person_id_or_email, key_id): - # 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 - - # Get key information - keys = Keys(self.api, [key_id]) - if not keys: - raise PLCInvalidArgument, "No such key" - - key = keys.values()[0] - - if 'admin' not in self.caller['roles']: - if key['key_id'] not in person['key_ids']: - raise PLCInvalidArgument, "Not associated with specified key" - - key.set_primary_key(person) - - return 1