Skip to content

Commit

Permalink
Fix Traceback in Add entities dialog (#3057)
Browse files Browse the repository at this point in the history
  • Loading branch information
soininen authored Mar 4, 2025
2 parents 309b783 + 70a89eb commit cdc4b87
Show file tree
Hide file tree
Showing 3 changed files with 13 additions and 9 deletions.
9 changes: 5 additions & 4 deletions spinetoolbox/spine_db_editor/widgets/add_items_dialogs.py
Original file line number Diff line number Diff line change
Expand Up @@ -608,9 +608,8 @@ def accept(self):
created_entities = {}
for db_map, data in db_map_data.items():
for item in data:
created_entities.update(
{item["name"]: db_map.get_entity_item(class_id=item["class_id"], name=item["name"])}
)
entity_name = item["name"]
created_entities[entity_name] = db_map.get_entity_item(class_id=item["class_id"], name=entity_name)
entity_alternatives = self.make_entity_alternatives(created_entities)
if entity_alternatives: # If alternatives have been defined
self.db_mngr.add_entity_alternatives(entity_alternatives)
Expand All @@ -630,9 +629,11 @@ def make_entity_alternatives(self, entities):
alternative = row_data[alternative_column]
if not alternative:
continue
alternative = alternative.split("@")[0]
entity_name = row_data[name_column]
entity = entities[entity_name]
if not entity:
continue
alternative = alternative.split("@")[0]
db_names = row_data[db_column]
for db_name in db_names.split(", "):
db_map = self.keyed_db_maps[db_name]
Expand Down
4 changes: 2 additions & 2 deletions tests/spine_db_editor/widgets/helpers.py
Original file line number Diff line number Diff line change
Expand Up @@ -110,7 +110,7 @@ def add_entity_tree_item(item_names, view, menu_action_text, dialog_class):

def add_zero_dimension_entity_class(view, name):
view._context_item = view.model().root_item
add_entity_tree_item({0: name}, view, "Add entity classes", AddEntityClassesDialog)
add_entity_tree_item({0: name}, view, "Add entity classes...", AddEntityClassesDialog)


def add_entity(view, name, entity_class_index=0, alternative=None, group=None):
Expand All @@ -123,7 +123,7 @@ def add_entity(view, name, entity_class_index=0, alternative=None, group=None):
data.update({1: alternative})
if group:
data.update({2: group})
add_entity_tree_item(data, view, "Add entities", AddEntitiesDialog)
add_entity_tree_item(data, view, "Add entities...", AddEntitiesDialog)


def select_item_with_index(view, index, extend=False):
Expand Down
9 changes: 6 additions & 3 deletions tests/spine_db_editor/widgets/test_custom_qtreeview.py
Original file line number Diff line number Diff line change
Expand Up @@ -324,7 +324,10 @@ def test_add_entity_class_with_another_class_as_preselected_first_dimension(self
entity_class_index = entity_model.index(0, 0, root_index)
entity_tree_view._context_item = entity_model.item_from_index(entity_class_index)
add_entity_tree_item(
{1: "my_first_dimension_is_an_entity_class"}, entity_tree_view, "Add entity classes", AddEntityClassesDialog
{1: "my_first_dimension_is_an_entity_class"},
entity_tree_view,
"Add entity classes...",
AddEntityClassesDialog,
)
view = self._db_editor.ui.treeView_entity
model = view.model()
Expand All @@ -349,14 +352,14 @@ def _add_multidimensional_class(self, class_name, dimension_names):
add_entity_tree_item(
item_names,
self._db_editor.ui.treeView_entity,
"Add entity classes",
"Add entity classes...",
AddEntityClassesDialog,
)

def _add_multidimensional_entity(self, element_name, entity_names):
item_names = dict(enumerate(entity_names))
item_names[len(entity_names)] = element_name
add_entity_tree_item(item_names, self._db_editor.ui.treeView_entity, "Add entities", AddEntitiesDialog)
add_entity_tree_item(item_names, self._db_editor.ui.treeView_entity, "Add entities...", AddEntitiesDialog)


class TestEntityTreeViewWithExistingZeroDimensionalEntities(TestBase):
Expand Down

0 comments on commit cdc4b87

Please sign in to comment.