svn keywords
[plcapi.git] / PLC / Methods / UpdateNodeGroup.py
index dddca60..b968766 100644 (file)
@@ -1,13 +1,12 @@
+# $Id$
+# $URL$
 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 +17,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 +34,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()