Skip to content

Commit 78a0724

Browse files
committed
Merge PR #122 into 14.0
Signed-off-by simahawk
2 parents 049dba9 + 3841bd6 commit 78a0724

File tree

2 files changed

+21
-4
lines changed

2 files changed

+21
-4
lines changed

connector_importer/components/importer.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -291,13 +291,14 @@ def _load_mapper_options(self):
291291
"""Retrieve mapper options."""
292292
return {"override_existing": self.must_override_existing}
293293

294-
# TODO: make these contexts customizable via recordset settings
295294
def _odoo_default_context(self):
296295
"""Default context to be used in both create and write methods"""
297-
return {
296+
ctx = {
298297
"importer_type_id": self.recordset.import_type_id.id,
299298
"tracking_disable": True,
300299
}
300+
ctx.update(self.work.options.importer.get("ctx", {}))
301+
return ctx
301302

302303
def _odoo_create_context(self):
303304
"""Inject context variables on create, merged by odoorecord handler."""

connector_importer/tests/test_record_importer_basic.py

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,11 +18,12 @@ def _get_components(self):
1818

1919
return [PartnerRecordImporter, PartnerMapper]
2020

21-
def _get_importer(self):
21+
def _get_importer(self, options=None):
22+
options = options or {"importer": {}, "mapper": {}}
2223
with self.backend.work_on(
2324
self.record._name,
2425
components_registry=self.comp_registry,
25-
options=DotDict({"importer": {}, "mapper": {}}),
26+
options=DotDict(options),
2627
) as work:
2728
return work.component(usage="record.importer", model_name="res.partner")
2829

@@ -103,3 +104,18 @@ def test_importer_get_mapper(self):
103104
importer._mapper_name = "fake.partner.mapper"
104105
mapper = importer._get_mapper()
105106
self.assertEqual(mapper._name, "fake.partner.mapper")
107+
108+
def test_importer_context(self):
109+
importer = self._get_importer(
110+
options={"importer": {"ctx": {"key1": 1, "key2": 2}}, "mapper": {}}
111+
)
112+
importer._init_importer(self.recordset)
113+
self.assertEqual(
114+
importer._odoo_create_context(),
115+
{
116+
"importer_type_id": self.recordset.import_type_id.id,
117+
"tracking_disable": True,
118+
"key1": 1,
119+
"key2": 2,
120+
},
121+
)

0 commit comments

Comments
 (0)