diff --git a/g2p_odk_importer_program/models/__init__.py b/g2p_odk_importer_program/models/__init__.py
index 4dbdb56a..e333f328 100644
--- a/g2p_odk_importer_program/models/__init__.py
+++ b/g2p_odk_importer_program/models/__init__.py
@@ -1,4 +1,4 @@
# Part of Newlogic G2P. See LICENSE file for full copyright and licensing details.
from . import odk_client
-from . import odk_config
+from . import odk_import
diff --git a/g2p_odk_importer_program/models/odk_client.py b/g2p_odk_importer_program/models/odk_client.py
index 41c14d98..bfa9d916 100644
--- a/g2p_odk_importer_program/models/odk_client.py
+++ b/g2p_odk_importer_program/models/odk_client.py
@@ -4,17 +4,11 @@
def patched_addl_data(self, mapped_json):
- config = self.env["odk.config"].browse(self.id)
+ odk_import = self.env["odk.import"].browse(self.id)
- program_id = config.program.id
-
- if "program_registrant_info_ids" in mapped_json:
- prog_reg_info = mapped_json.get("program_registrant_info_ids", None)
-
- if not program_id:
- del mapped_json["program_registrant_info_ids"]
- return mapped_json
+ program_id = odk_import.target_program.id
+ if program_id:
mapped_json["program_membership_ids"] = [
(
0,
@@ -27,6 +21,13 @@ def patched_addl_data(self, mapped_json):
)
]
+ if "program_registrant_info_ids" in mapped_json:
+ prog_reg_info = mapped_json.get("program_registrant_info_ids", None)
+
+ if not program_id:
+ del mapped_json["program_registrant_info_ids"]
+ return mapped_json
+
mapped_json["program_registrant_info_ids"] = [
(
0,
diff --git a/g2p_odk_importer_program/models/odk_config.py b/g2p_odk_importer_program/models/odk_config.py
deleted file mode 100644
index b73c20da..00000000
--- a/g2p_odk_importer_program/models/odk_config.py
+++ /dev/null
@@ -1,7 +0,0 @@
-from odoo import fields, models
-
-
-class OdkConfig(models.Model):
- _inherit = "odk.import"
-
- program = fields.Many2one("g2p.program", domain="[('target_type', '=', target_registry)]")
diff --git a/g2p_odk_importer_program/models/odk_import.py b/g2p_odk_importer_program/models/odk_import.py
new file mode 100644
index 00000000..de02ec5c
--- /dev/null
+++ b/g2p_odk_importer_program/models/odk_import.py
@@ -0,0 +1,12 @@
+from odoo import api, fields, models
+
+
+class OdkImport(models.Model):
+ _inherit = "odk.import"
+
+ target_program = fields.Many2one("g2p.program", domain="[('target_type', '=', target_registry)]")
+
+ @api.onchange("target_registry")
+ def onchange_target_registry(self):
+ for rec in self:
+ rec.target_program = None
diff --git a/g2p_odk_importer_program/views/odk_import_views.xml b/g2p_odk_importer_program/views/odk_import_views.xml
index 9b23ce0d..64e2f6e3 100644
--- a/g2p_odk_importer_program/views/odk_import_views.xml
+++ b/g2p_odk_importer_program/views/odk_import_views.xml
@@ -5,10 +5,8 @@
odk.import
-
-
-
-
+
+