Fix issue: node's services won't save when clearing all the services and add default services back to the node. Set core node's services to default services (instead of leaving it empty) when a new node is created.
This commit is contained in:
parent
b7adbd289c
commit
4037da49c2
2 changed files with 14 additions and 9 deletions
|
@ -815,6 +815,10 @@ class CoreClient:
|
||||||
if NodeUtils.is_custom(node_type, model):
|
if NodeUtils.is_custom(node_type, model):
|
||||||
services = NodeUtils.get_custom_node_services(self.app.guiconfig, model)
|
services = NodeUtils.get_custom_node_services(self.app.guiconfig, model)
|
||||||
node.services[:] = services
|
node.services[:] = services
|
||||||
|
else:
|
||||||
|
services = self.default_services.get(model, None)
|
||||||
|
if services:
|
||||||
|
node.services[:] = services
|
||||||
logging.info(
|
logging.info(
|
||||||
"add node(%s) to session(%s), coordinates(%s, %s)",
|
"add node(%s) to session(%s), coordinates(%s, %s)",
|
||||||
node.name,
|
node.name,
|
||||||
|
|
|
@ -153,18 +153,19 @@ class NodeServiceDialog(Dialog):
|
||||||
)
|
)
|
||||||
|
|
||||||
def click_save(self):
|
def click_save(self):
|
||||||
# if node is custom type or current services are not the default services then
|
core_node = self.canvas_node.core_node
|
||||||
# set core node services and add node to modified services node set
|
# custom type node or CORE node with custom services
|
||||||
if (
|
if (
|
||||||
self.canvas_node.core_node.model not in self.app.core.default_services
|
core_node.model not in self.app.core.default_services
|
||||||
or self.current_services
|
or self.current_services != self.app.core.default_services[core_node.model]
|
||||||
!= self.app.core.default_services[self.canvas_node.core_node.model]
|
|
||||||
):
|
):
|
||||||
self.canvas_node.core_node.services[:] = self.current_services
|
core_node.services[:] = self.current_services
|
||||||
self.app.core.modified_service_nodes.add(self.canvas_node.core_node.id)
|
self.app.core.modified_service_nodes.add(core_node.id)
|
||||||
|
# custom services CORE node but modified back to having default services
|
||||||
|
# or just CORE nodes that don't get any change
|
||||||
else:
|
else:
|
||||||
if len(self.canvas_node.core_node.services) > 0:
|
core_node.services[:] = self.current_services
|
||||||
self.canvas_node.core_node.services[:] = []
|
self.app.core.modified_service_nodes.discard(core_node.id)
|
||||||
self.destroy()
|
self.destroy()
|
||||||
|
|
||||||
def click_cancel(self):
|
def click_cancel(self):
|
||||||
|
|
Loading…
Reference in a new issue