Skip to content

Commit 9c8d8d4

Browse files
committed
clarify regulation group short name checks
1 parent 3e02db5 commit 9c8d8d4

File tree

2 files changed

+20
-14
lines changed

2 files changed

+20
-14
lines changed

arho_feature_template/gui/dialogs/plan_feature_form.py

+16-13
Original file line numberDiff line numberDiff line change
@@ -109,39 +109,42 @@ def _check_regulation_group_short_names(self) -> bool:
109109
existing_names = set()
110110
duplicate_names = set()
111111

112+
def _is_existing_model_with_unmodified_short_name(model: RegulationGroup, short_name: str) -> bool:
113+
return bool(model.id_ and short_name == model.short_name)
114+
115+
def _format_names(names, last_item_conjucation: str = "ja") -> str:
116+
names = list(names)
117+
formatted_names = ", ".join(f"'<b>{name}</b>'" for name in names[:-1])
118+
formatted_names += f" {last_item_conjucation} " if len(names) > 1 else ""
119+
formatted_names += f"'<b>{names[-1]}</b>'" if names else ""
120+
return formatted_names
121+
112122
for reg_group_widget in self.regulation_group_widgets:
113123
short_name = reg_group_widget.short_name.text()
114124
if not short_name:
115125
continue
116126

117127
if (
118-
not (
119-
reg_group_widget.regulation_group.id_ and short_name == reg_group_widget.regulation_group.short_name
120-
)
128+
not _is_existing_model_with_unmodified_short_name(reg_group_widget.regulation_group, short_name)
121129
and short_name in self.existing_group_short_names
122130
):
123131
existing_names.add(short_name)
132+
124133
if short_name in seen_names:
125134
duplicate_names.add(short_name)
126-
seen_names.add(short_name)
127135

128-
def format_names(names, last_item_conjucation: str = "ja"):
129-
names = list(names)
130-
formatted_names = ", ".join(f"'<b>{name}</b>'" for name in names[:-1])
131-
formatted_names += f" {last_item_conjucation} " if len(names) > 1 else ""
132-
formatted_names += f"'<b>{names[-1]}</b>'" if names else ""
133-
return formatted_names
136+
seen_names.add(short_name)
134137

135138
if existing_names:
136139
if len(existing_names) == 1:
137-
msg = f"Kaavamääräysryhmä lyhyellä nimellä {format_names(existing_names)} on jo olemassa."
140+
msg = f"Kaavamääräysryhmä lyhyellä nimellä {_format_names(existing_names)} on jo olemassa."
138141
else:
139-
msg = f"Kaavamääräysryhmät lyhyillä nimillä {format_names(existing_names)} ovat jo olemassa."
142+
msg = f"Kaavamääräysryhmät lyhyillä nimillä {_format_names(existing_names)} ovat jo olemassa."
140143
QMessageBox.critical(self, "Virhe", msg)
141144
return False
142145

143146
if duplicate_names:
144-
msg = f"Lomakkeella on useita kaavamääräysryhmiä, joilla on lyhyt nimi {format_names(duplicate_names, 'tai')}."
147+
msg = f"Lomakkeella on useita kaavamääräysryhmiä, joilla on lyhyt nimi {_format_names(duplicate_names, 'tai')}."
145148
QMessageBox.critical(self, "Virhe", msg)
146149
return False
147150

arho_feature_template/gui/dialogs/plan_regulation_group_form.py

+4-1
Original file line numberDiff line numberDiff line change
@@ -147,10 +147,13 @@ def _initalize_regulation_from_config(self, config: RegulationConfig, parent: QT
147147
def _check_short_name(self) -> bool:
148148
short_name = self.short_name.text()
149149

150+
def _is_existing_model_with_unmodified_short_name(model: RegulationGroup, short_name: str) -> bool:
151+
return bool(model.id_ and short_name == model.short_name)
152+
150153
if not short_name:
151154
return True
152155
if (
153-
not (self.regulation_group.id_ and short_name == self.regulation_group.short_name)
156+
not _is_existing_model_with_unmodified_short_name(self.regulation_group, short_name)
154157
and short_name in self.existing_group_short_names
155158
):
156159
msg = f"Kaavamääräysryhmä lyhyellä nimellä '<b>{short_name}</b>' on jo olemassa."

0 commit comments

Comments
 (0)