diff --git a/openpype/settings/entities/dict_mutable_keys_entity.py b/openpype/settings/entities/dict_mutable_keys_entity.py index 19eb83072ef..a185e217891 100644 --- a/openpype/settings/entities/dict_mutable_keys_entity.py +++ b/openpype/settings/entities/dict_mutable_keys_entity.py @@ -251,8 +251,18 @@ def schema_validations(self): ) raise EntitySchemaError(self, reason) - for child_obj in self.children_by_key.values(): - child_obj.schema_validations() + # Validate object type schema + child_validated = False + for child_entity in self.children_by_key.values(): + child_entity.schema_validations() + child_validated = True + break + + if not child_validated: + key = "__tmp__" + tmp_child = self._add_key(key) + tmp_child.schema_validations() + self.children_by_key.pop(key) def get_child_path(self, child_obj): result_key = None diff --git a/openpype/settings/entities/list_entity.py b/openpype/settings/entities/list_entity.py index ee647264b75..da28d14fe96 100644 --- a/openpype/settings/entities/list_entity.py +++ b/openpype/settings/entities/list_entity.py @@ -167,8 +167,18 @@ def schema_validations(self): ) raise EntitySchemaError(self, reason) - for child_obj in self.children: - child_obj.schema_validations() + # Validate object type schema + child_validated = False + for child_entity in self.children: + child_entity.schema_validations() + child_validated = True + break + + if not child_validated: + idx = 0 + tmp_child = self._add_new_item(idx) + tmp_child.schema_validations() + self.children.pop(idx) def get_child_path(self, child_obj): result_idx = None diff --git a/openpype/settings/entities/schemas/projects_schema/schemas/schema_anatomy_imageio.json b/openpype/settings/entities/schemas/projects_schema/schemas/schema_anatomy_imageio.json index edd5c18f51c..3c589f94929 100644 --- a/openpype/settings/entities/schemas/projects_schema/schemas/schema_anatomy_imageio.json +++ b/openpype/settings/entities/schemas/projects_schema/schemas/schema_anatomy_imageio.json @@ -247,8 +247,7 @@ "label": "Used in plugins", "object_type": { "type": "text", - "key": "pluginClass", - "label": "Plugin Class" + "key": "pluginClass" } }, { @@ -295,8 +294,7 @@ "label": "Used in plugins", "object_type": { "type": "text", - "key": "pluginClass", - "label": "Plugin Class" + "key": "pluginClass" } }, { diff --git a/openpype/settings/entities/schemas/projects_schema/schemas/schema_publish_gui_filter.json b/openpype/settings/entities/schemas/projects_schema/schemas/schema_publish_gui_filter.json index 1539bd07386..f27ca9586fe 100644 --- a/openpype/settings/entities/schemas/projects_schema/schemas/schema_publish_gui_filter.json +++ b/openpype/settings/entities/schemas/projects_schema/schemas/schema_publish_gui_filter.json @@ -4,7 +4,6 @@ "key": "filters", "label": "Publish GUI Filters", "object_type": { - "type": "raw-json", - "label": "Plugins" + "type": "raw-json" } } diff --git a/openpype/settings/entities/schemas/system_schema/host_settings/schema_blender.json b/openpype/settings/entities/schemas/system_schema/host_settings/schema_blender.json index e6e7381e9f7..e72b1fac5b7 100644 --- a/openpype/settings/entities/schemas/system_schema/host_settings/schema_blender.json +++ b/openpype/settings/entities/schemas/system_schema/host_settings/schema_blender.json @@ -28,7 +28,6 @@ "object_type": { "type": "dict", "collapsible": true, - "checkbox_key": "enabled", "children": [ { "type": "schema_template", diff --git a/openpype/settings/entities/schemas/system_schema/host_settings/schema_djv.json b/openpype/settings/entities/schemas/system_schema/host_settings/schema_djv.json index a95cedf7c3b..229ca42b045 100644 --- a/openpype/settings/entities/schemas/system_schema/host_settings/schema_djv.json +++ b/openpype/settings/entities/schemas/system_schema/host_settings/schema_djv.json @@ -28,7 +28,6 @@ "object_type": { "type": "dict", "collapsible": true, - "checkbox_key": "enabled", "children": [ { "type": "schema_template", diff --git a/openpype/settings/entities/schemas/system_schema/host_settings/schema_houdini.json b/openpype/settings/entities/schemas/system_schema/host_settings/schema_houdini.json index 22a5b2e737d..ee88d90e8e3 100644 --- a/openpype/settings/entities/schemas/system_schema/host_settings/schema_houdini.json +++ b/openpype/settings/entities/schemas/system_schema/host_settings/schema_houdini.json @@ -28,7 +28,6 @@ "object_type": { "type": "dict", "collapsible": true, - "checkbox_key": "enabled", "children": [ { "type": "schema_template", diff --git a/openpype/settings/entities/schemas/system_schema/host_settings/schema_maya.json b/openpype/settings/entities/schemas/system_schema/host_settings/schema_maya.json index 7c33671fa71..9a81eda88d4 100644 --- a/openpype/settings/entities/schemas/system_schema/host_settings/schema_maya.json +++ b/openpype/settings/entities/schemas/system_schema/host_settings/schema_maya.json @@ -28,7 +28,6 @@ "object_type": { "type": "dict", "collapsible": true, - "checkbox_key": "enabled", "children": [ { "type": "schema_template", diff --git a/openpype/settings/entities/schemas/system_schema/host_settings/schema_shell.json b/openpype/settings/entities/schemas/system_schema/host_settings/schema_shell.json index e344f985940..fcbb415b128 100644 --- a/openpype/settings/entities/schemas/system_schema/host_settings/schema_shell.json +++ b/openpype/settings/entities/schemas/system_schema/host_settings/schema_shell.json @@ -24,7 +24,6 @@ "object_type": { "type": "dict", "collapsible": true, - "checkbox_key": "enabled", "children": [ { "type": "schema_template", diff --git a/openpype/settings/entities/schemas/system_schema/host_settings/schema_tvpaint.json b/openpype/settings/entities/schemas/system_schema/host_settings/schema_tvpaint.json index eac09be113c..3c13336eb14 100644 --- a/openpype/settings/entities/schemas/system_schema/host_settings/schema_tvpaint.json +++ b/openpype/settings/entities/schemas/system_schema/host_settings/schema_tvpaint.json @@ -28,7 +28,6 @@ "object_type": { "type": "dict", "collapsible": true, - "checkbox_key": "enabled", "children": [ { "type": "schema_template", diff --git a/openpype/settings/entities/schemas/system_schema/host_settings/schema_unreal.json b/openpype/settings/entities/schemas/system_schema/host_settings/schema_unreal.json index c5096197d63..17528995337 100644 --- a/openpype/settings/entities/schemas/system_schema/host_settings/schema_unreal.json +++ b/openpype/settings/entities/schemas/system_schema/host_settings/schema_unreal.json @@ -28,7 +28,6 @@ "object_type": { "type": "dict", "collapsible": true, - "checkbox_key": "enabled", "children": [ { "type": "schema_template", diff --git a/openpype/settings/entities/schemas/system_schema/host_settings/template_nuke.json b/openpype/settings/entities/schemas/system_schema/host_settings/template_nuke.json index 3f25c7d72fc..0055d0b1910 100644 --- a/openpype/settings/entities/schemas/system_schema/host_settings/template_nuke.json +++ b/openpype/settings/entities/schemas/system_schema/host_settings/template_nuke.json @@ -29,7 +29,6 @@ "object_type": { "type": "dict", "collapsible": true, - "checkbox_key": "enabled", "children": [ { "type": "schema_template",