From a259983236a148985fc6489a59548b9525d4340a Mon Sep 17 00:00:00 2001 From: Matt Marcha Date: Mon, 2 Jun 2025 14:59:21 -1000 Subject: [PATCH 1/7] fix(payment_osb): Fix several warnings and errors triggered when installing/loading module - Remove explicit translations exports when exported implicitly - Add reason for always invisible field in view - Add string attribute to field to avoid duplicate label on model --- payment_lyra/helpers/tools.py | 2 +- payment_lyra/views/payment_provider_views_multi.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/payment_lyra/helpers/tools.py b/payment_lyra/helpers/tools.py index 2e4ac90..d3c29ec 100644 --- a/payment_lyra/helpers/tools.py +++ b/payment_lyra/helpers/tools.py @@ -38,7 +38,7 @@ def generate_trans_id(): return str(delta).rjust(6, '0') def lang_translate(callback, v): - return _(v) + return v def check_hash(post, key): return hmac.new(key.encode("utf-8"), eval(json.dumps(post, ensure_ascii=False)).get("kr-answer").encode("utf-8"), hashlib.sha256).hexdigest() == eval(json.dumps(post, ensure_ascii=False)).get("kr-hash") diff --git a/payment_lyra/views/payment_provider_views_multi.xml b/payment_lyra/views/payment_provider_views_multi.xml index b764cfd..4ee2d9b 100644 --- a/payment_lyra/views/payment_provider_views_multi.xml +++ b/payment_lyra/views/payment_provider_views_multi.xml @@ -16,7 +16,7 @@ - +

From b4e64a828dfce8c86d27c9593c06e7730d5ef4b7 Mon Sep 17 00:00:00 2001 From: Matt Marcha Date: Thu, 14 Aug 2025 14:17:22 -1000 Subject: [PATCH 2/7] fix(payment_lyra): Remove unnecessary explicit translations --- payment_lyra/helpers/constants.py | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/payment_lyra/helpers/constants.py b/payment_lyra/helpers/constants.py index d16bd97..4648c51 100644 --- a/payment_lyra/helpers/constants.py +++ b/payment_lyra/helpers/constants.py @@ -38,19 +38,19 @@ } LYRA_LANGUAGES = { - 'cn': _lt("Chinese"), - 'de': _lt("German"), - 'es': _lt("Spanish"), - 'en': _lt("English"), - 'fr': _lt("French"), - 'it': _lt("Italian"), - 'jp': _lt("Japanese"), - 'nl': _lt("Dutch"), - 'pl': _lt("Polish"), - 'pt': _lt("Portuguese"), - 'ru': _lt("Russian"), - 'sv': _lt("Swedish"), - 'tr': _lt("Turkish"), + 'cn': "Chinese", + 'de': "German", + 'es': "Spanish", + 'en': "English", + 'fr': "French", + 'it': "Italian", + 'jp': "Japanese", + 'nl': "Dutch", + 'pl': "Polish", + 'pt': "Portuguese", + 'ru': "Russian", + 'sv': "Swedish", + 'tr': "Turkish", } LYRA_CARDS = { From 793dad48dc3544e134909c5a6a981b1f802f4d5e Mon Sep 17 00:00:00 2001 From: Matt Marcha Date: Thu, 14 Aug 2025 14:18:08 -1000 Subject: [PATCH 3/7] fix(payment_lyra): Duplicated field label --- payment_lyra/models/payment_provider.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/payment_lyra/models/payment_provider.py b/payment_lyra/models/payment_provider.py index e2c3129..3b7fe53 100644 --- a/payment_lyra/models/payment_provider.py +++ b/payment_lyra/models/payment_provider.py @@ -123,7 +123,7 @@ def _get_default_entry_mode(self): lyra_embedded_compact_mode = fields.Selection(string='Compact mode', help='This option allows to display the embedded payment fields in a compact mode.', selection=[('0', 'Disabled'), ('1', 'Enabled')], default='0') lyra_embedded_payment_attempts = fields.Char(string='Payment attempts number for cards', help='Maximum number of payment by cards retries after a failed payment (between 0 and 2). If blank, the gateway default value is 2.') - image = fields.Char() + image = fields.Char("Image (OSB)") environment = fields.Char() lyra_redirect = False From 37f442136773455af83413b9e73f152ca2910afe Mon Sep 17 00:00:00 2001 From: Matt Marcha Date: Thu, 14 Aug 2025 14:20:29 -1000 Subject: [PATCH 4/7] fix(payment_lyra): Fix crash on module's install Replace request.env by self.env to fetch records & add 'sale' dependency --- payment_lyra/__manifest__.py | 2 +- payment_lyra/models/payment_provider.py | 9 +++++---- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/payment_lyra/__manifest__.py b/payment_lyra/__manifest__.py index 363d6b6..4184bf3 100644 --- a/payment_lyra/__manifest__.py +++ b/payment_lyra/__manifest__.py @@ -15,7 +15,7 @@ 'author': 'Lyra Network', 'website': 'https://www.lyra.com/', 'license': 'AGPL-3', - 'depends': ['payment'], + 'depends': ['payment','sale'], 'data': [ 'views/payment_provider_views.xml', 'views/payment_lyra_templates.xml', diff --git a/payment_lyra/models/payment_provider.py b/payment_lyra/models/payment_provider.py index 3b7fe53..9b4c4b7 100644 --- a/payment_lyra/models/payment_provider.py +++ b/payment_lyra/models/payment_provider.py @@ -51,6 +51,7 @@ def _lyra_compute_multi_warning(self): for provider in self: provider.lyra_multi_warning = (constants.LYRA_PLUGIN_FEATURES.get('restrictmulti') == True) if (provider.code == 'lyramulti') else False + @staticmethod def lyra_get_doc_field_value(): docs_uri = constants.LYRA_ONLINE_DOC_URI doc_field_html = '' @@ -65,7 +66,7 @@ def _get_entry_modes(self): return [(c, l) for c, l in modes.items()] def _get_default_entry_mode(self): - module_upgrade = request.env['ir.module.module'].search([('state', '=', 'to upgrade'), ('name', '=', 'payment_lyra')]) + module_upgrade = self.env['ir.module.module'].search([('state', '=', 'to upgrade'), ('name', '=', 'payment_lyra')]) if module_upgrade: return ("redirect") @@ -144,7 +145,7 @@ def _get_compatible_providers(self, *args, currency_id=None, **kwargs): @api.model def multi_add(self, filename, noupdate): if (constants.LYRA_PLUGIN_FEATURES.get('multi') == True): - module_upgrade = request.env['ir.module.module'].search([('state', '=', 'to upgrade'), ('name', '=', 'payment_lyra')]) + module_upgrade = self.env['ir.module.module'].search([('state', '=', 'to upgrade'), ('name', '=', 'payment_lyra')]) file = path.join(path.dirname(path.dirname(path.abspath(__file__)))) + filename mode = 'update' if module_upgrade else 'init' convert_xml_import(self.env, 'payment_lyra', file, None, mode, noupdate) @@ -272,7 +273,7 @@ def lyra_form_generate_values(self, values): return lyra_tx_values def lyra_generate_values_from_order(self, data): - sale_order = request.env['sale.order'].sudo().search([('id', '=', data['order_id'])]).exists() + sale_order = self.env['sale.order'].sudo().search([('id', '=', data['order_id'])]).exists() currency = self._lyra_get_currency(data['currency_id']) amount = float(sale_order.amount_total) @@ -420,7 +421,7 @@ def _lyra_get_currency(self, currency_id): def _lyra_get_inline_form_values( self, amount, currency, partner_id, is_validation, payment_method_sudo, sale_order_id, **kwargs ): - sale_order = request.env['sale.order'].sudo().search([('id', '=', sale_order_id)]).exists() + sale_order = self.env['sale.order'].sudo().search([('id', '=', sale_order_id)]).exists() values = { "provider_id": self.id, "provider_code" : "lyra", From c1a37bea5a6afdd189ed6d1cafaf3dc44132b973 Mon Sep 17 00:00:00 2001 From: Matt Marcha Date: Thu, 14 Aug 2025 14:21:11 -1000 Subject: [PATCH 5/7] fix(payment_lyra): give root permission to fetch payment providers from template This was causing some payment tests to fail --- payment_lyra/views/payment_lyra_templates.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/payment_lyra/views/payment_lyra_templates.xml b/payment_lyra/views/payment_lyra_templates.xml index bfa05c2..97c4626 100644 --- a/payment_lyra/views/payment_lyra_templates.xml +++ b/payment_lyra/views/payment_lyra_templates.xml @@ -70,7 +70,7 @@