regenerate
[plcapi.git] / PLC / Methods / DeleteSliceAttribute.py
index 7584f46..11ad018 100644 (file)
@@ -28,6 +28,7 @@ class DeleteSliceAttribute(Method):
 
     returns = Parameter(int, '1 if successful')
 
+
     def call(self, auth, slice_attribute_id):
         slice_attributes = SliceAttributes(self.api, [slice_attribute_id])
         if not slice_attributes:
@@ -39,6 +40,9 @@ class DeleteSliceAttribute(Method):
             raise PLCInvalidArgument, "No such slice"
         slice = slices[0]
 
+        if slice['peer_id'] is not None:
+            raise PLCInvalidArgument, "Not a local slice"
+
         assert slice_attribute['slice_attribute_id'] in slice['slice_attribute_ids']
 
         if 'admin' not in self.caller['roles']:
@@ -51,8 +55,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.object_ids = [slice_attribute['slice_attribute_id']]
 
         return 1