Merge remote-tracking branch 'origin/pycurl' into planetlab-4_0-branch
[plcapi.git] / PLC / Methods / DeleteSliceAttribute.py
index b1a9f49..06a99f3 100644 (file)
@@ -4,7 +4,7 @@ from PLC.Parameter import Parameter, Mixed
 from PLC.SliceAttributes import SliceAttribute, SliceAttributes
 from PLC.Slices import Slice, Slices
 from PLC.Nodes import Node, Nodes
-from PLC.Auth import PasswordAuth
+from PLC.Auth import Auth
 
 class DeleteSliceAttribute(Method):
     """
@@ -22,19 +22,19 @@ class DeleteSliceAttribute(Method):
     roles = ['admin', 'pi', 'user']
 
     accepts = [
-        PasswordAuth(),
+        Auth(),
         SliceAttribute.fields['slice_attribute_id']
         ]
 
     returns = Parameter(int, '1 if successful')
 
     def call(self, auth, slice_attribute_id):
-        slice_attributes = SliceAttributes(self.api, [slice_attribute_id]).values()
+        slice_attributes = SliceAttributes(self.api, [slice_attribute_id])
         if not slice_attributes:
             raise PLCInvalidArgument, "No such slice attribute"
         slice_attribute = slice_attributes[0]
 
-        slices = Slices(self.api, [slice_attribute['slice_id']]).values()
+        slices = Slices(self.api, [slice_attribute['slice_id']])
         if not slices:
             raise PLCInvalidArgument, "No such slice"
         slice = slices[0]
@@ -51,8 +51,9 @@ class DeleteSliceAttribute(Method):
 
             if slice_attribute['min_role_id'] is not None and \
                min(self.caller['role_ids']) > slice_attribute['min_role_id']:
-                raise PLCPermissionDenied, "Not allowed to delete the specified attribute"
+                raise PLCPermissioinDenied, "Not allowed to delete the specified attribute"
 
         slice_attribute.delete()
+       self.event_objects = {'SliceAttribute': [slice_attribute['slice_attribute_id']]}
 
         return 1