X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=PLC%2FMethods%2FAddSlice.py;h=0274e0191627252fab90d310d6cfbff69c6a9d4d;hb=bd0cbf4f7f2e4cf7ceda500bfa6f98c0a700018b;hp=001e0f943722fbcea564fa3a14829f6d49da337c;hpb=c4274cc50530a9e9e7043a5614f1432eb20659ef;p=plcapi.git diff --git a/PLC/Methods/AddSlice.py b/PLC/Methods/AddSlice.py index 001e0f9..0274e01 100644 --- a/PLC/Methods/AddSlice.py +++ b/PLC/Methods/AddSlice.py @@ -1,4 +1,3 @@ -# $Id$ import re from PLC.Faults import * @@ -35,7 +34,8 @@ class AddSlice(Method): roles = ['admin', 'pi'] - accepted_fields = Row.accepted_fields(can_update, [Slice.fields,Slice.tags]) + accepted_fields = Row.accepted_fields(can_update, Slice.fields) + accepted_fields.update(Slice.tags) accepts = [ Auth(), @@ -48,6 +48,8 @@ class AddSlice(Method): [native,tags,rejected]=Row.split_fields(slice_fields,[Slice.fields,Slice.tags]) + # type checking + native = Row.check_fields (native, self.accepted_fields) if rejected: raise PLCInvalidArgument, "Cannot add Slice with column(s) %r"%rejected @@ -80,9 +82,9 @@ class AddSlice(Method): "Site %s has reached (%d) its maximum allowable slice count (%d)"%(site['name'], len(site['slice_ids']), site['max_slices']) - if not site['enabled']: - raise PLCInvalidArgument, "Site %s is disabled and can cannot create slices" % (site['name']) - + if not site['enabled']: + raise PLCInvalidArgument, "Site %s is disabled and can cannot create slices" % (site['name']) + slice = Slice(self.api, native) slice['creator_person_id'] = self.caller['person_id'] slice['site_id'] = site['site_id'] @@ -98,7 +100,7 @@ class AddSlice(Method): else: UpdateSliceTag(self.api).__call__(auth,slice_tags[0]['slice_tag_id'],value) - self.event_objects = {'Slice': [slice['slice_id']]} + self.event_objects = {'Slice': [slice['slice_id']]} self.message = "Slice %d created" % slice['slice_id'] return slice['slice_id']