Add notification plugin support to AddSliceToNodes and DeleteSliceFromNodes
[plcapi.git] / PLC / Methods / DeleteSliceFromNodes.py
index 0c1c06f..2c15d58 100644 (file)
@@ -4,6 +4,7 @@ from PLC.Parameter import Parameter, Mixed
 from PLC.Nodes import Node, Nodes
 from PLC.Slices import Slice, Slices
 from PLC.Auth import Auth
 from PLC.Nodes import Node, Nodes
 from PLC.Slices import Slice, Slices
 from PLC.Auth import Auth
+from PLC.Plugins import PluginManager
 
 class DeleteSliceFromNodes(Method):
     """
 
 class DeleteSliceFromNodes(Method):
     """
@@ -32,6 +33,9 @@ class DeleteSliceFromNodes(Method):
             raise PLCInvalidArgument, "No such slice"
         slice = slices[0]
 
             raise PLCInvalidArgument, "No such slice"
         slice = slices[0]
 
+        if slice['peer_id'] is not None:
+            raise PLCInvalidArgument, "Not a local slice"
+
         if 'admin' not in self.caller['roles']:
             if self.caller['person_id'] in slice['person_ids']:
                 pass
         if 'admin' not in self.caller['roles']:
             if self.caller['person_id'] in slice['person_ids']:
                 pass
@@ -55,4 +59,6 @@ class DeleteSliceFromNodes(Method):
         self.event_objects = {'Node': [node['node_id'] for node in nodes],
                               'Slice': [slice['slice_id']]}
 
         self.event_objects = {'Node': [node['node_id'] for node in nodes],
                               'Slice': [slice['slice_id']]}
 
+        PluginManager(self.api, auth).notify("slice.DeleteFromNodes", self.event_objects)
+
         return 1
         return 1