X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=PLC%2FMethods%2FUpdateSlice.py;h=901ecbc43ee738ee5ec8fce7748fc8059530307c;hb=69e72e78ebbbbe135267d2ff0b0f10a0cf4937ac;hp=de4a023feb3b5e9f84d247dea1ebe140b0069f01;hpb=4984769c242b72daf93900bfd69a177f064ae9f2;p=plcapi.git diff --git a/PLC/Methods/UpdateSlice.py b/PLC/Methods/UpdateSlice.py index de4a023f..901ecbc4 100644 --- a/PLC/Methods/UpdateSlice.py +++ b/PLC/Methods/UpdateSlice.py @@ -77,16 +77,22 @@ class UpdateSlice(Method): if 'admin' not in self.caller['roles'] and slice_fields['expires'] > max_expires: raise PLCInvalidArgument, "Cannot renew a slice beyond 8 weeks from now" + # XXX Make this a configurable policy + if slice['description'] is None or not slice['description'].strip(): + if 'description' not in slice_fields or slice_fields['description'] is None or \ + not slice_fields['description'].strip(): + raise PLCInvalidArgument, "Cannot renew a slice with an empty description or URL" + + if slice['url'] is None or not slice['url'].strip(): + if 'url' not in slice_fields or slice_fields['url'] is None or \ + not slice_fields['url'].strip(): + raise PLCInvalidArgument, "Cannot renew a slice with an empty description or URL" + if 'max_nodes' in slice_fields and slice_fields['max_nodes'] != slice['max_nodes']: if 'admin' not in self.caller['roles'] and \ 'pi' not in self.caller['roles']: raise PLCInvalidArgument, "Only admins and PIs may update max_nodes" - # XXX Make this a configurable policy - if slice['description'] is None or not slice['description'].strip() or \ - slice['url'] is None or not slice['url'].strip(): - raise PLCInvalidArgument, "Cannot renew a slice with an empty description or URL" - # Make requested associations for field in related_fields: if field in slice_fields: