From fcd2fd8d750ca08f75700c1d3b1e6d23904df7f3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Iv=C3=A1n=20Todorovich?= Date: Thu, 12 Mar 2020 16:23:31 +0100 Subject: [PATCH] [ADD] pos_invoice_send_mail --- pos_invoice_send_mail/__init__.py | 1 + pos_invoice_send_mail/__manifest__.py | 27 ++++++++ pos_invoice_send_mail/i18n/fr.po | 64 ++++++++++++++++++ .../i18n/pos_invoice_send_mail.pot | 61 +++++++++++++++++ pos_invoice_send_mail/models/__init__.py | 2 + pos_invoice_send_mail/models/pos_config.py | 21 ++++++ pos_invoice_send_mail/models/pos_order.py | 31 +++++++++ pos_invoice_send_mail/readme/CONFIGURE.rst | 4 ++ pos_invoice_send_mail/readme/CONTRIBUTORS.rst | 3 + pos_invoice_send_mail/readme/DESCRIPTION.rst | 1 + pos_invoice_send_mail/readme/USAGE.rst | 6 ++ .../description/invoice-mail-config.png | Bin 0 -> 14630 bytes .../description/invoice-mail-screen.png | Bin 0 -> 52405 bytes pos_invoice_send_mail/static/src/js/models.js | 46 +++++++++++++ .../static/src/js/screens.js | 60 ++++++++++++++++ pos_invoice_send_mail/static/src/xml/pos.xml | 14 ++++ pos_invoice_send_mail/views/assets.xml | 11 +++ pos_invoice_send_mail/views/pos_config.xml | 21 ++++++ 18 files changed, 373 insertions(+) create mode 100644 pos_invoice_send_mail/__init__.py create mode 100644 pos_invoice_send_mail/__manifest__.py create mode 100644 pos_invoice_send_mail/i18n/fr.po create mode 100644 pos_invoice_send_mail/i18n/pos_invoice_send_mail.pot create mode 100644 pos_invoice_send_mail/models/__init__.py create mode 100644 pos_invoice_send_mail/models/pos_config.py create mode 100644 pos_invoice_send_mail/models/pos_order.py create mode 100644 pos_invoice_send_mail/readme/CONFIGURE.rst create mode 100644 pos_invoice_send_mail/readme/CONTRIBUTORS.rst create mode 100644 pos_invoice_send_mail/readme/DESCRIPTION.rst create mode 100644 pos_invoice_send_mail/readme/USAGE.rst create mode 100644 pos_invoice_send_mail/static/description/invoice-mail-config.png create mode 100644 pos_invoice_send_mail/static/description/invoice-mail-screen.png create mode 100644 pos_invoice_send_mail/static/src/js/models.js create mode 100644 pos_invoice_send_mail/static/src/js/screens.js create mode 100644 pos_invoice_send_mail/static/src/xml/pos.xml create mode 100644 pos_invoice_send_mail/views/assets.xml create mode 100644 pos_invoice_send_mail/views/pos_config.xml diff --git a/pos_invoice_send_mail/__init__.py b/pos_invoice_send_mail/__init__.py new file mode 100644 index 00000000..0650744f --- /dev/null +++ b/pos_invoice_send_mail/__init__.py @@ -0,0 +1 @@ +from . import models diff --git a/pos_invoice_send_mail/__manifest__.py b/pos_invoice_send_mail/__manifest__.py new file mode 100644 index 00000000..57be5d24 --- /dev/null +++ b/pos_invoice_send_mail/__manifest__.py @@ -0,0 +1,27 @@ +# Copyright 2019 Druidoo - Iván Todorovich +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). + +{ + 'name': 'POS Invoice Send by Mail', + 'summary': 'Send invoices by email from the POS', + 'version': '12.0.1.0.0', + 'category': 'Point of Sale', + 'author': 'Druidoo, ' + 'Odoo Community Association (OCA)', + 'website': 'https://github.com/OCA/pos', + 'license': 'AGPL-3', + 'maintainers': [ + 'ivantodorovich', + ], + 'depends': [ + 'point_of_sale', + 'mail', + ], + 'data': [ + 'views/assets.xml', + 'views/pos_config.xml', + ], + 'qweb': [ + 'static/src/xml/pos.xml', + ], +} diff --git a/pos_invoice_send_mail/i18n/fr.po b/pos_invoice_send_mail/i18n/fr.po new file mode 100644 index 00000000..909c0f6d --- /dev/null +++ b/pos_invoice_send_mail/i18n/fr.po @@ -0,0 +1,64 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * pos_order_mail +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 12.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-07-24 14:27+0000\n" +"PO-Revision-Date: 2019-07-24 14:27+0000\n" +"Last-Translator: <>\n" +"Language-Team: \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: \n" + +#. module: pos_invoice_send_mail +#: model_terms:ir.ui.view,arch_db:pos_invoice_send_mail.pos_config_view_form +msgid "Email Template" +msgstr "Modèle de courriel" + +#. module: pos_invoice_send_mail +#: model:ir.model.fields,field_description:pos_invoice_send_mail.field_pos_config__invoice_mail_template_id +#, fuzzy +msgid "Invoice Email Template" +msgstr "Modèle de courriel" + +#. module: pos_invoice_send_mail +#. openerp-web +#: code:addons/pos_invoice_send_mail/static/src/js/screens.js:48 +#, python-format +msgid "Please fill the customer email" +msgstr "" + +#. module: pos_invoice_send_mail +#: model:ir.model,name:pos_invoice_send_mail.model_pos_config +msgid "Point of Sale Configuration" +msgstr "Paramétrage du point de vente" + +#. module: pos_invoice_send_mail +#: model:ir.model,name:pos_invoice_send_mail.model_pos_order +msgid "Point of Sale Orders" +msgstr "Commandes du point de vente" + +#. module: pos_invoice_send_mail +#. openerp-web +#: code:addons/pos_invoice_send_mail/static/src/xml/pos.xml:8 +#, python-format +msgid "Send Invoice by Email" +msgstr "" + +#. module: pos_invoice_send_mail +#: model:ir.model.fields,field_description:pos_invoice_send_mail.field_pos_config__iface_invoice_mail +msgid "Send Invoice by Mail" +msgstr "" + +#. module: pos_invoice_send_mail +#. openerp-web +#: code:addons/pos_invoice_send_mail/static/src/js/screens.js:49 +#, python-format +msgid "You need to complete the customer email in order to send it." +msgstr "" diff --git a/pos_invoice_send_mail/i18n/pos_invoice_send_mail.pot b/pos_invoice_send_mail/i18n/pos_invoice_send_mail.pot new file mode 100644 index 00000000..c175f0d0 --- /dev/null +++ b/pos_invoice_send_mail/i18n/pos_invoice_send_mail.pot @@ -0,0 +1,61 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * pos_invoice_send_mail +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 12.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: <>\n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: \n" + +#. module: pos_invoice_send_mail +#: model_terms:ir.ui.view,arch_db:pos_invoice_send_mail.pos_config_view_form +msgid "Email Template" +msgstr "" + +#. module: pos_invoice_send_mail +#: model:ir.model.fields,field_description:pos_invoice_send_mail.field_pos_config__invoice_mail_template_id +msgid "Invoice Email Template" +msgstr "" + +#. module: pos_invoice_send_mail +#. openerp-web +#: code:addons/pos_invoice_send_mail/static/src/js/screens.js:48 +#, python-format +msgid "Please fill the customer email" +msgstr "" + +#. module: pos_invoice_send_mail +#: model:ir.model,name:pos_invoice_send_mail.model_pos_config +msgid "Point of Sale Configuration" +msgstr "" + +#. module: pos_invoice_send_mail +#: model:ir.model,name:pos_invoice_send_mail.model_pos_order +msgid "Point of Sale Orders" +msgstr "" + +#. module: pos_invoice_send_mail +#. openerp-web +#: code:addons/pos_invoice_send_mail/static/src/xml/pos.xml:8 +#, python-format +msgid "Send Invoice by Email" +msgstr "" + +#. module: pos_invoice_send_mail +#: model:ir.model.fields,field_description:pos_invoice_send_mail.field_pos_config__iface_invoice_mail +msgid "Send Invoice by Mail" +msgstr "" + +#. module: pos_invoice_send_mail +#. openerp-web +#: code:addons/pos_invoice_send_mail/static/src/js/screens.js:49 +#, python-format +msgid "You need to complete the customer email in order to send it." +msgstr "" + diff --git a/pos_invoice_send_mail/models/__init__.py b/pos_invoice_send_mail/models/__init__.py new file mode 100644 index 00000000..7723e42a --- /dev/null +++ b/pos_invoice_send_mail/models/__init__.py @@ -0,0 +1,2 @@ +from . import pos_order +from . import pos_config diff --git a/pos_invoice_send_mail/models/pos_config.py b/pos_invoice_send_mail/models/pos_config.py new file mode 100644 index 00000000..596c6ea2 --- /dev/null +++ b/pos_invoice_send_mail/models/pos_config.py @@ -0,0 +1,21 @@ +# Copyright 2019 Druidoo - Iván Todorovich +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). + +from odoo import models, fields + + +class PosConfig(models.Model): + _inherit = 'pos.config' + + iface_invoice_mail = fields.Boolean('Send Invoice by Mail') + + invoice_mail_template_id = fields.Many2one( + 'mail.template', + string='Invoice Email Template', + domain=[('model', '=', 'account.invoice')], + context=lambda self: { + 'default_model_id': self.ref('account.model_account_invoice').id, + }, + default=lambda self: + self.env.ref('account.email_template_edi_invoice', False), + ) diff --git a/pos_invoice_send_mail/models/pos_order.py b/pos_invoice_send_mail/models/pos_order.py new file mode 100644 index 00000000..0c2de22f --- /dev/null +++ b/pos_invoice_send_mail/models/pos_order.py @@ -0,0 +1,31 @@ +# Copyright 2019 Druidoo - Iván Todorovich +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). + +from odoo import api, models + + +class PosOrder(models.Model): + _inherit = 'pos.order' + + @api.model + def create_from_ui(self, orders): + """ Inherit method to send by email """ + order_ids = super().create_from_ui(orders) + refs_to_send_mail = [ + o['data']['name'] for o in orders + if o['data'].get('to_send_mail') + ] + # Identify orders to send email + for order in self.browse(order_ids): + if ( + order.config_id.iface_invoice_mail + and order.config_id.invoice_mail_template_id + and order.invoice_id + and not order.invoice_id.sent + and order.pos_reference in refs_to_send_mail + ): + invoice_id = order.invoice_id.with_context( + mark_invoice_as_sent=True) + invoice_id.message_post_with_template( + order.config_id.invoice_mail_template_id.id) + return order_ids diff --git a/pos_invoice_send_mail/readme/CONFIGURE.rst b/pos_invoice_send_mail/readme/CONFIGURE.rst new file mode 100644 index 00000000..37e49f9f --- /dev/null +++ b/pos_invoice_send_mail/readme/CONFIGURE.rst @@ -0,0 +1,4 @@ +Go to *Point of Sale > Configuration > Point of Sale* and +enable **Send Invoice by Mail** + +.. image:: ../static/description/invoice-mail-config.png diff --git a/pos_invoice_send_mail/readme/CONTRIBUTORS.rst b/pos_invoice_send_mail/readme/CONTRIBUTORS.rst new file mode 100644 index 00000000..7bf6c777 --- /dev/null +++ b/pos_invoice_send_mail/readme/CONTRIBUTORS.rst @@ -0,0 +1,3 @@ +* `Druidoo `_: + + * Iván Todorovich diff --git a/pos_invoice_send_mail/readme/DESCRIPTION.rst b/pos_invoice_send_mail/readme/DESCRIPTION.rst new file mode 100644 index 00000000..c4b6ffdb --- /dev/null +++ b/pos_invoice_send_mail/readme/DESCRIPTION.rst @@ -0,0 +1 @@ +Allows to send the invoice by email, from the POS. diff --git a/pos_invoice_send_mail/readme/USAGE.rst b/pos_invoice_send_mail/readme/USAGE.rst new file mode 100644 index 00000000..a739b0f3 --- /dev/null +++ b/pos_invoice_send_mail/readme/USAGE.rst @@ -0,0 +1,6 @@ +On the POS payment screen, you'll find a *Send Invoice by Email* button. + +.. image:: ../static/description/invoice-mail-screen.png + +If checked, an email will be send to the customer when the invoice +is validated. diff --git a/pos_invoice_send_mail/static/description/invoice-mail-config.png b/pos_invoice_send_mail/static/description/invoice-mail-config.png new file mode 100644 index 0000000000000000000000000000000000000000..0c5cf02d653ab73cf1c52d3f92467c4090b5a862 GIT binary patch literal 14630 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%0AGk_->68`sGBnF26$Rh;xzZQMh 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 literal 0 HcmV?d00001 diff --git a/pos_invoice_send_mail/static/src/js/models.js b/pos_invoice_send_mail/static/src/js/models.js new file mode 100644 index 00000000..2b5178e3 --- /dev/null +++ b/pos_invoice_send_mail/static/src/js/models.js @@ -0,0 +1,46 @@ +/* Copyright 2019 Druidoo - Iván Todorovich + License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl). */ + +odoo.define('pos_invoice_send_mail.models', function (require) { + "use strict"; + + var models = require('point_of_sale.models'); + + + var PosModelSuper = models.PosModel.prototype; + models.PosModel = models.PosModel.extend({ + push_and_invoice_order: function(order) { + var client = order.get_client() + if (order.is_to_send_mail() && client && !client.email) { + var res = new $.Deferred(); + res.reject({code:400, message:'Missing Customer Email', data:{}}); + return res; + } + return PosModelSuper.push_and_invoice_order.apply(this, arguments); + }, + }); + + + var OrderSuper = models.Order.prototype; + models.Order = models.Order.extend({ + initialize: function(attributes, options) { + OrderSuper.initialize.apply(this, arguments); + this.to_send_mail = false; + }, + set_to_send_mail: function(to_send_mail) { + this.assert_editable(); + this.to_send_mail = to_send_mail; + }, + is_to_send_mail: function() { + return this.to_send_mail; + }, + // We export to JSON so we can send this to the backend + // without having to reimplement push_and_invoice_order + export_as_JSON: function () { + var res = OrderSuper.export_as_JSON.apply(this, arguments); + res.to_send_mail = this.to_send_mail; + return res; + }, + }); + +}); diff --git a/pos_invoice_send_mail/static/src/js/screens.js b/pos_invoice_send_mail/static/src/js/screens.js new file mode 100644 index 00000000..79868540 --- /dev/null +++ b/pos_invoice_send_mail/static/src/js/screens.js @@ -0,0 +1,60 @@ +/* Copyright 2019 Druidoo - Iván Todorovich + License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl). */ + +odoo.define('pos_invoice_send_mail.screens', function (require) { + "use strict"; + +var core = require('web.core'); +var screens = require('point_of_sale.screens'); +var _t = core._t; + +screens.PaymentScreenWidget.include({ + renderElement: function() { + var self = this; + this._super(); + this.$('.js_send_mail').click(function(){ + self.click_send_mail(); + }); + }, + click_send_mail: function() { + var order = this.pos.get_order(); + order.set_to_send_mail(!order.is_to_send_mail()); + if (order.is_to_send_mail()) { + this.$('.js_send_mail').addClass('highlight'); + } else { + this.$('.js_send_mail').removeClass('highlight'); + } + if (order.is_to_send_mail() && !order.is_to_invoice()) { + this.click_invoice(); + } + }, + click_invoice: function() { + this._super(); + var order = this.pos.get_order(); + if (!order.is_to_invoice() && order.is_to_send_mail()) { + this.click_send_mail(); + } + }, +}); + +screens.ScreenWidget.include({ + _handleFailedPushForInvoice: function(order, refresh_screen, error) { + var self = this; + order = order || this.pos.get_order(); + this.invoicing = false; + order.finalized = false; + if (error.message === 'Missing Customer Email') { + this.gui.show_popup('confirm', { + 'title': _t('Please fill the customer email'), + 'body': _t('You need to complete the customer email in order to send it.'), + confirm: function(){ + self.gui.show_screen('clientlist', null, refresh_screen); + }, + }); + } else { + return this._super(order, refresh_screen, error); + } + }, +}); + +}); diff --git a/pos_invoice_send_mail/static/src/xml/pos.xml b/pos_invoice_send_mail/static/src/xml/pos.xml new file mode 100644 index 00000000..bd906381 --- /dev/null +++ b/pos_invoice_send_mail/static/src/xml/pos.xml @@ -0,0 +1,14 @@ + + + + + + +

+ + + + + diff --git a/pos_invoice_send_mail/views/assets.xml b/pos_invoice_send_mail/views/assets.xml new file mode 100644 index 00000000..5e726a48 --- /dev/null +++ b/pos_invoice_send_mail/views/assets.xml @@ -0,0 +1,11 @@ + + + +