From bb27f4ad1af57c4ba2615822b6aa9ef997318481 Mon Sep 17 00:00:00 2001 From: Manoj Kumar <80808962+mkumar-02@users.noreply.github.com> Date: Thu, 8 Aug 2024 19:14:45 +0530 Subject: [PATCH 1/2] ID Deduplication: Remove ID Type from config when deleted --- .../models/res_config_settings.py | 26 +++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/g2p_registry_id_deduplication/models/res_config_settings.py b/g2p_registry_id_deduplication/models/res_config_settings.py index a31765f..1a105f5 100644 --- a/g2p_registry_id_deduplication/models/res_config_settings.py +++ b/g2p_registry_id_deduplication/models/res_config_settings.py @@ -43,3 +43,29 @@ def get_values(self): else None, ) return res + + +class G2PIDType(models.Model): + _inherit = "g2p.id.type" + + def unlink(self): + ids_to_delete = self.ids + + res = super().unlink() + + ir_config = self.env["ir.config_parameter"].sudo() + ind_id_types_param = ir_config.get_param( + "g2p_registry_id_deduplication.ind_deduplication_id_types_ids" + ) + + if ind_id_types_param: + ind_id_types_ids = safe_eval.safe_eval(ind_id_types_param) + updated_ind_id_types_ids = [ + id_type for id_type in ind_id_types_ids if id_type not in ids_to_delete + ] + ir_config.set_param( + "g2p_registry_id_deduplication.ind_deduplication_id_types_ids", + updated_ind_id_types_ids, + ) + + return res From 367851400f73c8e3f930390373db981e7da5fc9e Mon Sep 17 00:00:00 2001 From: mkumar-02 Date: Fri, 9 Aug 2024 10:37:45 +0530 Subject: [PATCH 2/2] ID Deduplication: Code refactor Signed-off-by: mkumar-02 --- .../i18n/g2p_registration_portal_user.pot | 110 ------------------ .../models/registrant.py | 4 +- 2 files changed, 2 insertions(+), 112 deletions(-) delete mode 100644 g2p_registration_portal_user/i18n/g2p_registration_portal_user.pot diff --git a/g2p_registration_portal_user/i18n/g2p_registration_portal_user.pot b/g2p_registration_portal_user/i18n/g2p_registration_portal_user.pot deleted file mode 100644 index 8138005..0000000 --- a/g2p_registration_portal_user/i18n/g2p_registration_portal_user.pot +++ /dev/null @@ -1,110 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * g2p_registration_portal_user -# -msgid "" -msgstr "" -"Project-Id-Version: Odoo Server 17.0\n" -"Report-Msgid-Bugs-To: \n" -"Last-Translator: \n" -"Language-Team: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Plural-Forms: \n" - -#. module: g2p_registration_portal_user -#: model:ir.model,name:g2p_registration_portal_user.model_res_partner -msgid "Contact" -msgstr "" - -#. module: g2p_registration_portal_user -#: model_terms:ir.actions.act_window,help:g2p_registration_portal_user.view_odk_app_action -msgid "Create a odk app user" -msgstr "" - -#. module: g2p_registration_portal_user -#: model:ir.model.fields,field_description:g2p_registration_portal_user.field_odk_app_user__create_uid -msgid "Created by" -msgstr "" - -#. module: g2p_registration_portal_user -#: model:ir.model.fields,field_description:g2p_registration_portal_user.field_odk_app_user__create_date -msgid "Created on" -msgstr "" - -#. module: g2p_registration_portal_user -#: model:ir.model.fields,field_description:g2p_registration_portal_user.field_odk_app_user__display_name -msgid "Display Name" -msgstr "" - -#. module: g2p_registration_portal_user -#. odoo-python -#: code:addons/g2p_registration_portal_user/models/res_partner.py:0 -#, python-format -msgid "Failed to fetch app users" -msgstr "" - -#. module: g2p_registration_portal_user -#: model:ir.model.fields,field_description:g2p_registration_portal_user.field_odk_app_user__id -msgid "ID" -msgstr "" - -#. module: g2p_registration_portal_user -#: model:ir.model.fields,field_description:g2p_registration_portal_user.field_odk_app_user__write_uid -msgid "Last Updated by" -msgstr "" - -#. module: g2p_registration_portal_user -#: model:ir.model.fields,field_description:g2p_registration_portal_user.field_odk_app_user__write_date -msgid "Last Updated on" -msgstr "" - -#. module: g2p_registration_portal_user -#: model:ir.model,name:g2p_registration_portal_user.model_odk_app_user -#: model:ir.model.fields,field_description:g2p_registration_portal_user.field_res_partner__odk_app_user -#: model:ir.model.fields,field_description:g2p_registration_portal_user.field_res_users__odk_app_user -msgid "ODK App User" -msgstr "" - -#. module: g2p_registration_portal_user -#: model:ir.model.fields,field_description:g2p_registration_portal_user.field_odk_app_user__odk_user_id -msgid "ODK App User ID" -msgstr "" - -#. module: g2p_registration_portal_user -#: model:ir.model.fields,field_description:g2p_registration_portal_user.field_odk_app_user__name -msgid "ODK App User Name" -msgstr "" - -#. module: g2p_registration_portal_user -#: model:ir.model.fields,field_description:g2p_registration_portal_user.field_res_partner__odk_config_id -#: model:ir.model.fields,field_description:g2p_registration_portal_user.field_res_users__odk_config_id -msgid "ODK Config" -msgstr "" - -#. module: g2p_registration_portal_user -#: model_terms:ir.ui.view,arch_db:g2p_registration_portal_user.view_res_partner_form_inherit_registration -msgid "ODk User Configuration" -msgstr "" - -#. module: g2p_registration_portal_user -#: model:ir.model.fields,field_description:g2p_registration_portal_user.field_odk_app_user__partner_id -msgid "Partner" -msgstr "" - -#. module: g2p_registration_portal_user -#: model_terms:ir.ui.view,arch_db:g2p_registration_portal_user.res_partner_view_search_g2p_inherits -msgid "Registration Portal User" -msgstr "" - -#. module: g2p_registration_portal_user -#: model:ir.model.fields,field_description:g2p_registration_portal_user.field_res_partner__session -#: model:ir.model.fields,field_description:g2p_registration_portal_user.field_res_users__session -msgid "Session Token" -msgstr "" - -#. module: g2p_registration_portal_user -#: model:ir.actions.act_window,name:g2p_registration_portal_user.view_odk_app_action -msgid "odk.app.user.action" -msgstr "" diff --git a/g2p_registry_id_deduplication/models/registrant.py b/g2p_registry_id_deduplication/models/registrant.py index a1438c1..bc35b79 100644 --- a/g2p_registry_id_deduplication/models/registrant.py +++ b/g2p_registry_id_deduplication/models/registrant.py @@ -4,6 +4,7 @@ from odoo import _, fields, models from odoo.exceptions import UserError +from odoo.tools import safe_eval _logger = logging.getLogger(__name__) @@ -108,8 +109,7 @@ def get_id_types_with_kind(self, id_field, is_group): ir_config = self.env["ir.config_parameter"].sudo() id_type_ids_str = ir_config.get_param(f"g2p_registry_id_deduplication.{id_field}", default=None) - id_type_ids = id_type_ids_str.strip("][").split(", ") if id_type_ids_str is not None else [""] - id_type_ids = id_type_ids if len(id_type_ids[0]) != 0 else [] + id_type_ids = safe_eval.safe_eval(id_type_ids_str) if len(id_type_ids) < 1: raise UserError(_("Deduplication is not configured"))