X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=PLC%2FMethods%2FBlacklistKey.py;h=1c03d6e70d57d045775dbe689ae4ec1a28aa872f;hb=2fe12af6440fcc9fba6c086c8db883b4fcb20583;hp=27339ecd08d51bebc4cab698f8ab28beccb8694d;hpb=884648f408afa62446914ad8d93c8f42ed05d6c2;p=plcapi.git diff --git a/PLC/Methods/BlacklistKey.py b/PLC/Methods/BlacklistKey.py index 27339ec..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() + + # Logging variables self.object_ids = [key['key_id']] + self.message = 'Key %d blacklisted' % key['key_id'] return 1