diff options
Diffstat (limited to 'addons/snailmail_account')
5 files changed, 39 insertions, 3 deletions
diff --git a/addons/snailmail_account/__manifest__.py b/addons/snailmail_account/__manifest__.py index bf71da11897..758f2f15cf3 100644 --- a/addons/snailmail_account/__manifest__.py +++ b/addons/snailmail_account/__manifest__.py @@ -12,6 +12,7 @@ Allows users to send invoices by post 'views/res_config_settings_views.xml', 'views/assets.xml', 'wizard/account_invoice_send_views.xml', + 'security/ir.model.access.csv', ], 'auto_install': True, } diff --git a/addons/snailmail_account/security/ir.model.access.csv b/addons/snailmail_account/security/ir.model.access.csv new file mode 100644 index 00000000000..02ff3cfefa3 --- /dev/null +++ b/addons/snailmail_account/security/ir.model.access.csv @@ -0,0 +1,2 @@ +id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink +access_snailmail_confirm_invoice,access_snailmail_confirm_invoice,model_snailmail_confirm_invoice,account.group_account_invoice,1,1,1,0 diff --git a/addons/snailmail_account/wizard/__init__.py b/addons/snailmail_account/wizard/__init__.py index 1a67eb15ca1..c720dbcf19c 100644 --- a/addons/snailmail_account/wizard/__init__.py +++ b/addons/snailmail_account/wizard/__init__.py @@ -1,3 +1,4 @@ # -*- coding: utf-8 -*- from . import account_invoice_send +from . import snailmail_confirm_invoice_send diff --git a/addons/snailmail_account/wizard/account_invoice_send.py b/addons/snailmail_account/wizard/account_invoice_send.py index 28f1a28bdf2..c4c74f9b9df 100644 --- a/addons/snailmail_account/wizard/account_invoice_send.py +++ b/addons/snailmail_account/wizard/account_invoice_send.py @@ -57,9 +57,21 @@ class AccountInvoiceSend(models.TransientModel): def send_and_print_action(self): if self.snailmail_is_letter: - if self.invalid_addresses and self.composition_mode == "mass_mail": - self.notify_invalid_addresses() - self.snailmail_print_action() + if self.env['snailmail.confirm.invoice'].show_warning(): + wizard = self.env['snailmail.confirm.invoice'].create({'model_name': _('Invoice'), 'invoice_send_id': self.id}) + return wizard.action_open() + self._print_action() + return self.send_and_print() + + def _print_action(self): + if not self.snailmail_is_letter: + return + + if self.invalid_addresses and self.composition_mode == "mass_mail": + self.notify_invalid_addresses() + self.snailmail_print_action() + + def send_and_print(self): res = super(AccountInvoiceSend, self).send_and_print_action() return res diff --git a/addons/snailmail_account/wizard/snailmail_confirm_invoice_send.py b/addons/snailmail_account/wizard/snailmail_confirm_invoice_send.py new file mode 100644 index 00000000000..a3c3da40e8c --- /dev/null +++ b/addons/snailmail_account/wizard/snailmail_confirm_invoice_send.py @@ -0,0 +1,20 @@ +# -*- 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() |
