X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=PLC%2FMethods%2FUpdateNodeGroup.py;h=3af509be1322d3006ff7c519e24fe7ea58ef9a0b;hb=36c2b7ac70023306f36998c5e359fa4410aab58c;hp=dddca60780e3fa34f143cf37743a32f65e408617;hpb=7ba889dd89500f8c0695ef21bfda28291bb4f9da;p=plcapi.git diff --git a/PLC/Methods/UpdateNodeGroup.py b/PLC/Methods/UpdateNodeGroup.py index dddca60..3af509b 100644 --- a/PLC/Methods/UpdateNodeGroup.py +++ b/PLC/Methods/UpdateNodeGroup.py @@ -1,13 +1,11 @@ +# $Id$ from PLC.Faults import * from PLC.Method import Method from PLC.Parameter import Parameter, Mixed from PLC.NodeGroups import NodeGroup, NodeGroups from PLC.Auth import Auth -related_fields = NodeGroup.related_fields.keys() -can_update = lambda (field, value): field in \ - ['name', 'description'] + \ - related_fields +can_update = lambda (field, value): field in ['groupname','value'] class UpdateNodeGroup(Method): """ @@ -18,7 +16,7 @@ class UpdateNodeGroup(Method): roles = ['admin'] - nodegroup_fields = dict(filter(can_update, NodeGroup.fields.items() + NodeGroup.related_fields.items())) + nodegroup_fields = dict(filter(can_update, NodeGroup.fields.items())) accepts = [ Auth(), @@ -35,15 +33,9 @@ class UpdateNodeGroup(Method): # Get nodegroup information nodegroups = NodeGroups(self.api, [nodegroup_id_or_name]) if not nodegroups: - raise PLCInvalidArgument, "No such nodegroup" + raise PLCInvalidArgument, "No such nodegroup %r"%nodegroup_id_or_name nodegroup = nodegroups[0] - # Make requested associations - for field in related_fields: - if field in nodegroup_fields: - nodegroup.associate(auth, field, nodegroup_fields[field]) - nodegroup_fields.pop(field) - nodegroup.update(nodegroup_fields) nodegroup.sync()