Skip to content

Commit 2553db4

Browse files
committed
[FIX][spp_area_base] Improve language activation robustness
- Process each missing language individually instead of bulk search - Strip whitespace and convert to lowercase for each language code - Skip empty language codes after processing - Add page reload action return for better user feedback - More resilient to malformed language data and edge cases - Ensures all valid languages are properly activated - Improves error handling and user experience in area import workflow
1 parent 62eda53 commit 2553db4

File tree

1 file changed

+11
-4
lines changed

1 file changed

+11
-4
lines changed

spp_area_base/models/area_import.py

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -222,15 +222,22 @@ def activate_languages(self):
222222
Activate the languages found in the import file.
223223
"""
224224
self.ensure_one()
225-
missing_languages = list(set(self.missing_languages.split(", ").lower()))
226-
languages = self.env[_res_lang_model].search([("iso_code", "in", missing_languages)])
227-
if languages:
228-
languages.write({"active": True})
225+
missing_languages = list(set(self.missing_languages.split(", ")))
226+
for lang in missing_languages:
227+
lang = lang.strip().lower()
228+
if lang:
229+
language = self.env[_res_lang_model].search([("iso_code", "=", lang)])
230+
if language:
231+
language.write({"active": True})
229232
self.update({
230233
"missing_languages": None,
231234
"locked_reason": None,
232235
"locked": False,
233236
})
237+
return {
238+
"type": "ir.actions.client",
239+
"tag": "reload",
240+
}
234241

235242
def _scan_and_create_parse_jobs(self):
236243
"""

0 commit comments

Comments
 (0)