git://git.onelab.eu
/
plcapi.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
add backward compatible SliceGetTicket and SliceTicketGet functions for Emulab during...
[plcapi.git]
/
PLC
/
Methods
/
DeleteKey.py
diff --git
a/PLC/Methods/DeleteKey.py
b/PLC/Methods/DeleteKey.py
index
ae39f31
..
313c2a4
100644
(file)
--- a/
PLC/Methods/DeleteKey.py
+++ b/
PLC/Methods/DeleteKey.py
@@
-22,6
+22,7
@@
class DeleteKey(Method):
returns = Parameter(int, '1 if successful')
returns = Parameter(int, '1 if successful')
+
def call(self, auth, key_id):
# Get associated key details
keys = Keys(self.api, [key_id])
def call(self, auth, key_id):
# Get associated key details
keys = Keys(self.api, [key_id])
@@
-29,10
+30,17
@@
class DeleteKey(Method):
raise PLCInvalidArgument, "No such key"
key = keys[0]
raise PLCInvalidArgument, "No such key"
key = keys[0]
+ if key['peer_id'] is not None:
+ raise PLCInvalidArgument, "Not a local key"
+
if 'admin' not in self.caller['roles']:
if key['key_id'] not in self.caller['key_ids']:
raise PLCPermissionDenied, "Key must be associated with your account"
key.delete()
if 'admin' not in self.caller['roles']:
if key['key_id'] not in self.caller['key_ids']:
raise PLCPermissionDenied, "Key must be associated with your account"
key.delete()
+
+ # Logging variables
+ self.object_ids = [key['key_id']]
+ self.message = 'Key %d deleted' % key['key_id']
return 1
return 1