From 18a549b6e79f25821f0a06cd29af40b60804ef3b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thibault=20Delavall=C3=A9e?= Date: Tue, 31 Jan 2023 15:19:53 +0000 Subject: [PATCH] [REF] snailmail(_account): remove unused snailmail.confirm wizard Snailmail holds an abstract model 'snailmail.confirm' that implements some kind of generic confirmation flow. It is nowadays used in a single case that is the 'snailmail.confirm.invoice' wizard that inherits of it in snailmail_account. In this commit we remove the base abstract model, as it is defined once and does not really add value. This kind of generic model actually adds more noise than solves issues. The invoice confirmation wizard is now completely defined in snailmail account bridge, easing understanding of models. Task-3046371 (Mail: Better Language Support in Composer) closes odoo/odoo#111901 Related: odoo/upgrade#4299 Signed-off-by: Thibault Delavallee (tde) --- addons/snailmail/__manifest__.py | 1 - addons/snailmail/wizard/__init__.py | 1 - addons/snailmail/wizard/snailmail_confirm.py | 50 ------------------- addons/snailmail_account/__manifest__.py | 1 + addons/snailmail_account/wizard/__init__.py | 2 +- .../wizard/account_invoice_send.py | 2 +- .../wizard/snailmail_confirm_invoice.py | 39 +++++++++++++++ .../wizard/snailmail_confirm_invoice_send.py | 20 -------- .../snailmail_confirm_invoice_views.xml} | 9 ++-- 9 files changed, 47 insertions(+), 78 deletions(-) delete mode 100644 addons/snailmail/wizard/snailmail_confirm.py create mode 100644 addons/snailmail_account/wizard/snailmail_confirm_invoice.py delete mode 100644 addons/snailmail_account/wizard/snailmail_confirm_invoice_send.py rename addons/{snailmail/wizard/snailmail_confirm_views.xml => snailmail_account/wizard/snailmail_confirm_invoice_views.xml} (56%) diff --git a/addons/snailmail/__manifest__.py b/addons/snailmail/__manifest__.py index 8b8665b2f99..670b6554536 100644 --- a/addons/snailmail/__manifest__.py +++ b/addons/snailmail/__manifest__.py @@ -15,7 +15,6 @@ Allows users to send documents by post 'data/snailmail_data.xml', 'views/report_assets.xml', 'views/snailmail_views.xml', - 'wizard/snailmail_confirm_views.xml', 'wizard/snailmail_letter_format_error_views.xml', 'wizard/snailmail_letter_missing_required_fields_views.xml', 'security/ir.model.access.csv', diff --git a/addons/snailmail/wizard/__init__.py b/addons/snailmail/wizard/__init__.py index 3e4ec78d4c0..8f36d5d735c 100644 --- a/addons/snailmail/wizard/__init__.py +++ b/addons/snailmail/wizard/__init__.py @@ -1,3 +1,2 @@ -from . import snailmail_confirm from . import snailmail_letter_format_error from . import snailmail_letter_missing_required_fields diff --git a/addons/snailmail/wizard/snailmail_confirm.py b/addons/snailmail/wizard/snailmail_confirm.py deleted file mode 100644 index 42fe4e0c832..00000000000 --- a/addons/snailmail/wizard/snailmail_confirm.py +++ /dev/null @@ -1,50 +0,0 @@ -# -*- coding: utf-8 -*- -# Part of Odoo. See LICENSE file for full copyright and licensing details. - -from odoo import api, fields, models, _ - - -class SnailmailConfirm(models.AbstractModel): - _name = 'snailmail.confirm' - _description = 'Snailmail Confirm' - - model_name = fields.Char() - - @api.model - def show_warning(self): - return not self.env['ir.config_parameter'].sudo().get_param('%s.warning_shown' % self._name, False) - - def action_open(self): - view = self.env.ref('snailmail.snailmail_confirm_view') - return { - 'name': _('Snailmail'), - 'type': 'ir.actions.act_window', - 'view_mode': 'form', - 'res_model': self._name, - 'views': [(view.id, 'form')], - 'view_id': view.id, - 'target': 'new', - 'res_id': self.id, - 'context': self.env.context - } - - def action_confirm(self): - self.env['ir.config_parameter'].sudo().set_param('%s.warning_shown' % self._name, True) - self._confirm() - return self._continue() - - def action_cancel(self): - self.env['ir.config_parameter'].sudo().set_param('%s.warning_shown' % self._name, True) - return self._continue() - - """ - Called whether the user confirms or cancels posting the letter, e.g. to continue the action - """ - def _continue(self): - pass - - """ - Called only when the user confirms sending the letter - """ - def _confirm(self): - pass diff --git a/addons/snailmail_account/__manifest__.py b/addons/snailmail_account/__manifest__.py index 9374924d126..87b3da5d91c 100644 --- a/addons/snailmail_account/__manifest__.py +++ b/addons/snailmail_account/__manifest__.py @@ -11,6 +11,7 @@ Allows users to send invoices by post 'data': [ 'views/res_config_settings_views.xml', 'wizard/account_invoice_send_views.xml', + 'wizard/snailmail_confirm_invoice_views.xml', 'security/ir.model.access.csv', ], 'auto_install': True, diff --git a/addons/snailmail_account/wizard/__init__.py b/addons/snailmail_account/wizard/__init__.py index c720dbcf19c..aee08a046c9 100644 --- a/addons/snailmail_account/wizard/__init__.py +++ b/addons/snailmail_account/wizard/__init__.py @@ -1,4 +1,4 @@ # -*- coding: utf-8 -*- from . import account_invoice_send -from . import snailmail_confirm_invoice_send +from . import snailmail_confirm_invoice diff --git a/addons/snailmail_account/wizard/account_invoice_send.py b/addons/snailmail_account/wizard/account_invoice_send.py index 3fcc7f39843..86eee9c24d8 100644 --- a/addons/snailmail_account/wizard/account_invoice_send.py +++ b/addons/snailmail_account/wizard/account_invoice_send.py @@ -65,7 +65,7 @@ class AccountInvoiceSend(models.TransientModel): def send_and_print_action(self): if self.snailmail_is_letter: if self.env['snailmail.confirm.invoice'].show_warning(): - wizard = self.env['snailmail.confirm.invoice'].create({'model_name': _('Invoice'), 'invoice_send_id': self.id}) + wizard = self.env['snailmail.confirm.invoice'].create({'invoice_send_id': self.id}) return wizard.action_open() self._print_action() return self.send_and_print() diff --git a/addons/snailmail_account/wizard/snailmail_confirm_invoice.py b/addons/snailmail_account/wizard/snailmail_confirm_invoice.py new file mode 100644 index 00000000000..e92aa8e2fd4 --- /dev/null +++ b/addons/snailmail_account/wizard/snailmail_confirm_invoice.py @@ -0,0 +1,39 @@ +# -*- coding: utf-8 -*- +# Part of Odoo. See LICENSE file for full copyright and licensing details. + +from odoo import api, fields, models, _ + + +class SnailmailConfirmInvoiceSend(models.TransientModel): + _name = 'snailmail.confirm.invoice' + _description = 'Snailmail Confirm Invoice' + + invoice_send_id = fields.Many2one('account.invoice.send') + + def action_open(self): + view = self.env.ref('snailmail_account.snailmail_confirm_invoice_view_form') + return { + 'name': _('Snailmail'), + 'type': 'ir.actions.act_window', + 'view_mode': 'form', + 'res_model': self._name, + 'views': [(view.id, 'form')], + 'view_id': view.id, + 'target': 'new', + 'res_id': self.id, + 'context': self.env.context + } + + def action_confirm(self): + self.ensure_one() + self.env['ir.config_parameter'].sudo().set_param('snailmail.confirm.invoice.warning_shown', True) + return self.invoice_send_id._print_action() + + def action_cancel(self): + self.ensure_one() + self.env['ir.config_parameter'].sudo().set_param('snailmail.confirm.invoice.warning_shown', True) + return self.invoice_send_id.send_and_print_action() + + @api.model + def show_warning(self): + return not self.env['ir.config_parameter'].sudo().get_param('snailmail.confirm.invoice.warning_shown', False) diff --git a/addons/snailmail_account/wizard/snailmail_confirm_invoice_send.py b/addons/snailmail_account/wizard/snailmail_confirm_invoice_send.py deleted file mode 100644 index a3c3da40e8c..00000000000 --- a/addons/snailmail_account/wizard/snailmail_confirm_invoice_send.py +++ /dev/null @@ -1,20 +0,0 @@ -# -*- coding: utf-8 -*- -# Part of Odoo. See LICENSE file for full copyright and licensing details. - -from odoo import api, fields, models - - -class SnailmailConfirmInvoiceSend(models.TransientModel): - _name = 'snailmail.confirm.invoice' - _inherit = ['snailmail.confirm'] - _description = 'Snailmail Confirm Invoice' - - invoice_send_id = fields.Many2one('account.invoice.send') - - def _confirm(self): - self.ensure_one() - self.invoice_send_id._print_action() - - def _continue(self): - self.ensure_one() - return self.invoice_send_id.send_and_print() diff --git a/addons/snailmail/wizard/snailmail_confirm_views.xml b/addons/snailmail_account/wizard/snailmail_confirm_invoice_views.xml similarity index 56% rename from addons/snailmail/wizard/snailmail_confirm_views.xml rename to addons/snailmail_account/wizard/snailmail_confirm_invoice_views.xml index b4be1cddedd..c5797c5df98 100644 --- a/addons/snailmail/wizard/snailmail_confirm_views.xml +++ b/addons/snailmail_account/wizard/snailmail_confirm_invoice_views.xml @@ -1,11 +1,12 @@ - - snailmail.confirm.view - snailmail.confirm + + snailmail.confirm.invoice.view.form + snailmail.confirm.invoice
-

You are about to send this by post. Are you sure you want to continue?

+ +

You are about to send this Invoice by post. Are you sure you want to continue?