Skip to content

Commit a9e998a

Browse files
committed
[IMP][14.0] Module: pattern_import_export selection fields values
1 parent 3be7d81 commit a9e998a

2 files changed

Lines changed: 21 additions & 9 deletions

File tree

pattern_import_export/models/ir_exports_line.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -87,14 +87,16 @@ def _compute_required_fields(self):
8787
if ftype in ["many2one", "many2many"]:
8888
level += 1
8989
hidden_fields.remove("add_select_tab")
90+
if ftype in ["selection"]:
91+
hidden_fields.remove("add_select_tab")
9092
for idx in range(2, level + 1):
9193
required.append("field{}_id".format(idx))
9294
if ftype in ["one2many", "many2many"]:
9395
required.append("number_occurence")
9496
if ftype in "one2many":
9597
required.append("sub_pattern_config_id")
9698
record.required_fields = ",".join(required)
97-
if record.add_select_tab:
99+
if record.add_select_tab and ftype != "selection":
98100
# this field is optionnal
99101
required.append("tab_filter_id")
100102
hidden_fields = list(set(hidden_fields) - set(required))

pattern_import_export/models/pattern_config.py

Lines changed: 18 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -290,14 +290,24 @@ def _get_metadata(self):
290290
offset += rec.number_occurence or 1
291291
continue
292292

293-
permitted_records = []
294-
model_name = rec.related_model_id.model
295-
domain = (
296-
rec.tab_filter_id and ast.literal_eval(rec.tab_filter_id.domain)
297-
) or []
298-
records_matching_constraint = self.env[model_name].search(domain)
299-
permitted_records += records_matching_constraint
300-
data = rec._format_tab_records(permitted_records)
293+
selection = (
294+
self.env["ir.model.fields"].browse(rec.last_field_id.id).selection
295+
)
296+
if selection:
297+
selection_list = ast.literal_eval(selection)
298+
data = []
299+
for option in selection_list:
300+
data.append([option[0]])
301+
if rec.related_model_id.model:
302+
permitted_records = []
303+
304+
model_name = rec.related_model_id.model
305+
domain = (
306+
rec.tab_filter_id and ast.literal_eval(rec.tab_filter_id.domain)
307+
) or []
308+
records_matching_constraint = self.env[model_name].search(domain)
309+
permitted_records += records_matching_constraint
310+
data = rec._format_tab_records(permitted_records)
301311
headers = rec._get_tab_headers()
302312
tab_name = rec._get_tab_name()
303313
idx_col_validator = []

0 commit comments

Comments
 (0)