a single tag type for slice attributes, iterface settings, node tags and ilinks
[plcapi.git] / PLC / Methods / UpdateSliceAttribute.py
index 43cf1f3..3c21403 100644 (file)
@@ -24,7 +24,7 @@ class UpdateSliceAttribute(Method):
         Auth(),
         SliceAttribute.fields['slice_attribute_id'],
        Mixed(SliceAttribute.fields['value'],
-              InitScript.fields['initscript_id'])
+              InitScript.fields['name'])
         ]
 
     returns = Parameter(int, '1 if successful')
@@ -40,9 +40,6 @@ class UpdateSliceAttribute(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']:
@@ -57,8 +54,8 @@ class UpdateSliceAttribute(Method):
                min(self.caller['role_ids']) > slice_attribute['min_role_id']:
                 raise PLCPermissionDenied, "Not allowed to update the specified attribute"
        
-       if slice_attribute['name'] in ['plc_initscript_id']:
-            initscripts = InitScripts(self.api, {'enabled': True, 'initscript_id': int(value)})
+       if slice_attribute['tagname'] in ['initscript']:
+            initscripts = InitScripts(self.api, {'enabled': True, 'name': value})
             if not initscripts:
                 raise PLCInvalidArgument, "No such plc initscript"