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?