+ self.category = tag['category']
+ self.min_role_id = tag['min_role_id']
+ self.status = None
+
+ # Create a new slicetag that will be written to the DB later
+ def initialize(self, tagname, value, node, network):
+ tt = network.lookupTagType(tagname)
+ self.id = Slicetag.newid
+ Slicetag.newid -=1
+ self.slice_id = network.slice.id
+ self.tagname = tagname
+ self.value = value
+ if node:
+ self.node_id = node.id
+ else:
+ self.node_id = None
+ self.category = tt.category
+ self.min_role_id = tt.min_role_id
+ self.status = "new"
+
+ def permit_update(self, role_id, value = None):
+ if value and self.value == value:
+ return True
+ if role_id > self.min_role_id:
+ return False
+ return True
+
+ def change(self, value):
+ if self.value != value:
+ self.value = value
+ self.status = "change"
+ else:
+ self.status = "updated"
+