X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=PLC%2FMethods%2FBlacklistKey.py;h=1c03d6e70d57d045775dbe689ae4ec1a28aa872f;hb=2fe12af6440fcc9fba6c086c8db883b4fcb20583;hp=642507cfb0a92d99c46d137085da5f148d04ac57;hpb=bd6d296925f4d25989636808da134e3ab169ff71;p=plcapi.git diff --git a/PLC/Methods/BlacklistKey.py b/PLC/Methods/BlacklistKey.py index 642507c..1c03d6e 100644 --- a/PLC/Methods/BlacklistKey.py +++ b/PLC/Methods/BlacklistKey.py @@ -2,7 +2,7 @@ from PLC.Faults import * from PLC.Method import Method from PLC.Parameter import Parameter, Mixed from PLC.Keys import Key, Keys -from PLC.Auth import PasswordAuth +from PLC.Auth import Auth class BlacklistKey(Method): """ @@ -18,7 +18,7 @@ class BlacklistKey(Method): roles = ['admin'] accepts = [ - PasswordAuth(), + Auth(), Key.fields['key_id'], ] @@ -30,12 +30,17 @@ class BlacklistKey(Method): def call(self, auth, key_id): # Get associated key details - keys = Keys(self.api, [key_id]).values() + keys = Keys(self.api, [key_id]) if not keys: raise PLCInvalidArgument, "No such key" key = keys[0] + # N.B.: Can blacklist any key, even foreign ones + key.blacklist() - object_ids = [key['key_id']] + + # Logging variables + self.object_ids = [key['key_id']] + self.message = 'Key %d blacklisted' % key['key_id'] return 1