X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=PLC%2FMethods%2FUpdateSlice.py;h=333bac186cd5379f0cf6885c3289d0e4cf7f6e83;hb=c4fb0b1d1fabecb314cc4d5db802ac9c6ffe3708;hp=bc28a5519178df14a0c4c49d59e76f332b44cfe7;hpb=405f2d547603094beb95ef7ab222f776959598d3;p=plcapi.git diff --git a/PLC/Methods/UpdateSlice.py b/PLC/Methods/UpdateSlice.py index bc28a55..333bac1 100644 --- a/PLC/Methods/UpdateSlice.py +++ b/PLC/Methods/UpdateSlice.py @@ -14,8 +14,7 @@ from PLC.SliceTags import SliceTags from PLC.Methods.AddSliceTag import AddSliceTag from PLC.Methods.UpdateSliceTag import UpdateSliceTag -can_update = ['instantiation', 'url', 'description', 'max_nodes', 'expires'] + \ - Slice.related_fields.keys() +can_update = ['instantiation', 'url', 'description', 'max_nodes', 'expires'] class UpdateSlice(Method): """ @@ -35,7 +34,10 @@ class UpdateSlice(Method): roles = ['admin', 'pi', 'user'] - accepted_fields = Row.accepted_fields(can_update, [Slice.fields,Slice.related_fields,Slice.tags]) + accepted_fields = Row.accepted_fields(can_update, Slice.fields) + # xxx check the related_fields feature + accepted_fields.update(Slice.related_fields) + accepted_fields.update(Slice.tags) accepts = [ Auth(), @@ -48,11 +50,11 @@ class UpdateSlice(Method): def call(self, auth, slice_id_or_name, slice_fields): - slice_fields = Row.check_fields (slice_fields, self.accepted_fields) - # split provided fields [native,related,tags,rejected] = Row.split_fields(slice_fields,[Slice.fields,Slice.related_fields,Slice.tags]) - + + # type checking + native = Row.check_fields (native, self.accepted_fields) if rejected: raise PLCInvalidArgument, "Cannot update Slice column(s) %r"%rejected