From 6477725f05311098ca29942a5d36115d61adb11a Mon Sep 17 00:00:00 2001 From: Manoj Kumar Date: Thu, 28 Nov 2024 14:22:18 +0530 Subject: [PATCH] ODK Importer: Fixed Program enrollement issue Signed-off-by: Manoj Kumar --- g2p_odk_importer_program/models/__init__.py | 2 +- g2p_odk_importer_program/models/odk_client.py | 19 ++++++++++--------- g2p_odk_importer_program/models/odk_config.py | 7 ------- g2p_odk_importer_program/models/odk_import.py | 12 ++++++++++++ .../views/odk_import_views.xml | 6 ++---- 5 files changed, 25 insertions(+), 21 deletions(-) delete mode 100644 g2p_odk_importer_program/models/odk_config.py create mode 100644 g2p_odk_importer_program/models/odk_import.py 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 - - - - + +