From efbf0c08382a9eddaa48bb386912e5c1925bbfc0 Mon Sep 17 00:00:00 2001 From: "Valentin Vallaeys (vava)" Date: Fri, 9 Sep 2022 14:34:11 +0000 Subject: [PATCH] [IMP] payment: use ondelete instead of custom error Use generic method on_delete instead of personalized one for the sake of clarity and reproductibility. task-2883630 closes odoo/odoo#99958 Signed-off-by: Antoine Vandevenne (anv) --- addons/payment/models/__init__.py | 1 - addons/payment/models/ir_ui_view.py | 16 ---------------- addons/payment/models/payment_provider.py | 8 ++++++-- 3 files changed, 6 insertions(+), 19 deletions(-) delete mode 100644 addons/payment/models/ir_ui_view.py diff --git a/addons/payment/models/__init__.py b/addons/payment/models/__init__.py index a967c84b31e..ab4ea5e5113 100644 --- a/addons/payment/models/__init__.py +++ b/addons/payment/models/__init__.py @@ -1,7 +1,6 @@ # Part of Odoo. See LICENSE file for full copyright and licensing details. from . import ir_http -from . import ir_ui_view from . import payment_provider from . import payment_icon from . import payment_token diff --git a/addons/payment/models/ir_ui_view.py b/addons/payment/models/ir_ui_view.py deleted file mode 100644 index e8afb7233b6..00000000000 --- a/addons/payment/models/ir_ui_view.py +++ /dev/null @@ -1,16 +0,0 @@ -# Part of Odoo. See LICENSE file for full copyright and licensing details. - -from odoo import _, api, models -from odoo.exceptions import UserError - - -class IrUiView(models.Model): - _inherit = 'ir.ui.view' - - @api.ondelete(at_uninstall=False) - def _unlink_if_not_referenced_by_provider(self): - referencing_providers_sudo = self.env['payment.provider'].sudo().search([ - '|', ('redirect_form_view_id', 'in', self.ids), ('inline_form_view_id', 'in', self.ids) - ]) # In sudo mode to allow non-admin users (e.g., Website designers) to read the view ids. - if referencing_providers_sudo: - raise UserError(_("You cannot delete a view that is used by a payment provider.")) diff --git a/addons/payment/models/payment_provider.py b/addons/payment/models/payment_provider.py index c837a7187a6..0e52be26180 100644 --- a/addons/payment/models/payment_provider.py +++ b/addons/payment/models/payment_provider.py @@ -68,11 +68,15 @@ class PaymentProvider(models.Model): redirect_form_view_id = fields.Many2one( string="Redirect Form Template", comodel_name='ir.ui.view', help="The template rendering a form submitted to redirect the user when making a payment", - domain=[('type', '=', 'qweb')]) + domain=[('type', '=', 'qweb')], + ondelete='restrict', + ) inline_form_view_id = fields.Many2one( string="Inline Form Template", comodel_name='ir.ui.view', help="The template rendering the inline payment form when making a direct payment", - domain=[('type', '=', 'qweb')]) + domain=[('type', '=', 'qweb')], + ondelete='restrict', + ) token_inline_form_view_id = fields.Many2one( string="Token Inline Form Template", comodel_name='ir.ui.view',