From 569efa21b08ea33aa85ce3d75cab6c7868389d67 Mon Sep 17 00:00:00 2001 From: Manuel Claeys Bouuaert Date: Tue, 1 Oct 2019 11:24:51 +0200 Subject: [PATCH 01/46] Adding beesdoo_pos module (version 9.0) Signed-off-by: Carmen Bianca BAKKER --- beesdoo_pos/__init__.py | 2 + beesdoo_pos/__openerp__.py | 35 ++++++ beesdoo_pos/data/cron.xml | 14 +++ beesdoo_pos/data/email.xml | 22 ++++ beesdoo_pos/i18n/fr_BE.po | 151 +++++++++++++++++++++++ beesdoo_pos/models/__init__.py | 1 + beesdoo_pos/models/beesdoo_pos.py | 98 +++++++++++++++ beesdoo_pos/security/ir.model.access.csv | 5 + beesdoo_pos/static/src/css/beesdoo.css | 34 +++++ beesdoo_pos/static/src/js/beesdoo.js | 95 ++++++++++++++ beesdoo_pos/static/src/xml/templates.xml | 80 ++++++++++++ beesdoo_pos/views/beesdoo_pos.xml | 38 ++++++ 12 files changed, 575 insertions(+) create mode 100644 beesdoo_pos/__init__.py create mode 100644 beesdoo_pos/__openerp__.py create mode 100644 beesdoo_pos/data/cron.xml create mode 100644 beesdoo_pos/data/email.xml create mode 100644 beesdoo_pos/i18n/fr_BE.po create mode 100644 beesdoo_pos/models/__init__.py create mode 100644 beesdoo_pos/models/beesdoo_pos.py create mode 100644 beesdoo_pos/security/ir.model.access.csv create mode 100644 beesdoo_pos/static/src/css/beesdoo.css create mode 100644 beesdoo_pos/static/src/js/beesdoo.js create mode 100644 beesdoo_pos/static/src/xml/templates.xml create mode 100644 beesdoo_pos/views/beesdoo_pos.xml diff --git a/beesdoo_pos/__init__.py b/beesdoo_pos/__init__.py new file mode 100644 index 000000000..0f7cb6b22 --- /dev/null +++ b/beesdoo_pos/__init__.py @@ -0,0 +1,2 @@ +# -*- coding: utf-8 -*- +import models \ No newline at end of file diff --git a/beesdoo_pos/__openerp__.py b/beesdoo_pos/__openerp__.py new file mode 100644 index 000000000..965ae8863 --- /dev/null +++ b/beesdoo_pos/__openerp__.py @@ -0,0 +1,35 @@ +# -*- coding: utf-8 -*- +{ + 'name': "Beescoop Point of sale", + + 'summary': """ + Module that extends the pos for the beescoop + """, + + 'description': """ + Long description of module's purpose + """, + + 'author': "Beescoop - Cellule IT", + 'website': "https://github.com/beescoop/Obeesdoo", + + # Categories can be used to filter modules in modules listing + # Check https://github.com/odoo/odoo/blob/master/openerp/addons/base/module/module_data.xml + # for the full list + 'category': 'Point Of Sale', + 'version': '9.0.1.1.0', + + # any module necessary for this one to work correctly + 'depends': ['beesdoo_base', 'beesdoo_product'], + + # always loaded + 'data': [ + 'security/ir.model.access.csv', + 'views/beesdoo_pos.xml', + 'data/email.xml', + 'data/cron.xml', + ], + 'qweb': ['static/src/xml/templates.xml'], + # only loaded in demonstration mode +} + diff --git a/beesdoo_pos/data/cron.xml b/beesdoo_pos/data/cron.xml new file mode 100644 index 000000000..9ba9ae716 --- /dev/null +++ b/beesdoo_pos/data/cron.xml @@ -0,0 +1,14 @@ + + + + send ticket + 1 + minutes + -1 + + pos.order + _send_order_cron + () + + + \ No newline at end of file diff --git a/beesdoo_pos/data/email.xml b/beesdoo_pos/data/email.xml new file mode 100644 index 000000000..6b4dc8002 --- /dev/null +++ b/beesdoo_pos/data/email.xml @@ -0,0 +1,22 @@ + + + + + + + Envoyer Reçu + ${(object.user_id.email and '%s <%s>' % (object.user_id.name, object.user_id.email) or '')|safe} + ${object.pos_reference} + ${object.partner_id.id} + + + + Ticket ${object.pos_reference} + ${object.partner_id.lang} + + + + + \ No newline at end of file diff --git a/beesdoo_pos/i18n/fr_BE.po b/beesdoo_pos/i18n/fr_BE.po new file mode 100644 index 000000000..60b659ad6 --- /dev/null +++ b/beesdoo_pos/i18n/fr_BE.po @@ -0,0 +1,151 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * beesdoo_pos +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 9.0c\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-11-13 15:23+0000\n" +"PO-Revision-Date: 2016-11-13 15:23+0000\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: beesdoo_pos +#: model:mail.template,body_html:beesdoo_pos.email_send_ticket +msgid "\n" +"Votre Ticket ${object.pos_reference}\n" +" " +msgstr "

\n" +"\n" +"

\n" +"\n" +"

Bonjour, 

Vous trouverez ci-joint votre ticket de caisse en version électronique.

Pour rappel, à partir d'octobre, le Labo market est ouvert les lundis, mardis, mercredis de 17h30 à 20h et les samedis de 10h30 à 16h.

Pour vous inscrire à des permanences BEES, rendez-vous sur http://shift.bees-coop.be/ .

Au plaisir de vous revoir au Labo market.

BEES  coop,

" + +#. module: beesdoo_pos +#: model:mail.template,subject:beesdoo_pos.email_send_ticket +msgid "${object.pos_reference}" +msgstr "${object.pos_reference}" + +#. module: beesdoo_pos +#: model:ir.model,name:beesdoo_pos.model_account_bank_statement_cashbox +msgid "Account Bank Statement Cashbox Details" +msgstr "Détails" + +#. module: beesdoo_pos +#. openerp-web +#: code:addons/beesdoo_pos/static/src/xml/templates.xml:17 +#: code:addons/beesdoo_pos/static/src/xml/templates.xml:35 +#, python-format +msgid "Balance:" +msgstr "Balance:" + +#. module: beesdoo_pos +#: model:ir.ui.view,arch_db:beesdoo_pos.beescoop_pos_inherit +msgid "Bill Value" +msgstr "Bill Value" + +#. module: beesdoo_pos +#: model:ir.model.fields,field_description:beesdoo_pos.field_pos_config_bill_value +msgid "Bill value" +msgstr "Bill value" + +#. module: beesdoo_pos +#: code:addons/beesdoo_pos/models/beesdoo_pos.py:38 +#, python-format +msgid "Cannot send the ticket, no email address found on the client" +msgstr "Cannot send the ticket, no email address found on the client" + +#. module: beesdoo_pos +#: model:ir.model.fields,field_description:beesdoo_pos.field_bill_value_create_uid +msgid "Created by" +msgstr "Créé par" + +#. module: beesdoo_pos +#: model:ir.model.fields,field_description:beesdoo_pos.field_bill_value_create_date +msgid "Created on" +msgstr "Créé le" + +#. module: beesdoo_pos +#: model:ir.model.fields,field_description:beesdoo_pos.field_bill_value_display_name +msgid "Display Name" +msgstr "Nom affiché" + +#. module: beesdoo_pos +#: code:addons/beesdoo_pos/models/beesdoo_pos.py:36 +#, python-format +msgid "Error: no order found" +msgstr "Error: no order found" + +#. module: beesdoo_pos +#: model:ir.model.fields,field_description:beesdoo_pos.field_bill_value_id +msgid "ID" +msgstr "ID" + +#. module: beesdoo_pos +#: model:ir.model.fields,field_description:beesdoo_pos.field_bill_value___last_update +msgid "Last Modified on" +msgstr "Dernière modification le" + +#. module: beesdoo_pos +#: model:ir.model.fields,field_description:beesdoo_pos.field_bill_value_write_uid +msgid "Last Updated by" +msgstr "Mis à jour par" + +#. module: beesdoo_pos +#: model:ir.model.fields,field_description:beesdoo_pos.field_bill_value_write_date +msgid "Last Updated on" +msgstr "Mis à jour le" + +#. module: beesdoo_pos +#: model:ir.model.fields,field_description:beesdoo_pos.field_bill_value_name +msgid "Name" +msgstr "Nom" + +#. module: beesdoo_pos +#: model:ir.model,name:beesdoo_pos.model_res_partner +msgid "Partner" +msgstr "Partenaire" + +#. module: beesdoo_pos +#: model:ir.model,name:beesdoo_pos.model_pos_order +msgid "Point of Sale" +msgstr "Point de vente" + +#. module: beesdoo_pos +#: model:ir.model.fields,field_description:beesdoo_pos.field_bill_value_pos +msgid "Pos" +msgstr "Pos" + +#. module: beesdoo_pos +#. openerp-web +#: code:addons/beesdoo_pos/static/src/xml/templates.xml:6 +#, python-format +msgid "Send Receipt By Mail" +msgstr "Send Receipt By Mail" + +#. module: beesdoo_pos +#: model:mail.template,report_name:beesdoo_pos.email_send_ticket +msgid "Ticket ${object.pos_reference}" +msgstr "Ticket ${object.pos_reference}" + +#. module: beesdoo_pos +#: code:addons/beesdoo_pos/models/beesdoo_pos.py:41 +#, python-format +msgid "Ticket sent" +msgstr "Ticket sent" + +#. module: beesdoo_pos +#: model:ir.model,name:beesdoo_pos.model_bill_value +msgid "bill_value" +msgstr "bill_value" + +#. module: beesdoo_pos +#: model:ir.model,name:beesdoo_pos.model_pos_config +msgid "pos.config" +msgstr "pos.config" + diff --git a/beesdoo_pos/models/__init__.py b/beesdoo_pos/models/__init__.py new file mode 100644 index 000000000..e5c2cf4d1 --- /dev/null +++ b/beesdoo_pos/models/__init__.py @@ -0,0 +1 @@ +import beesdoo_pos \ No newline at end of file diff --git a/beesdoo_pos/models/beesdoo_pos.py b/beesdoo_pos/models/beesdoo_pos.py new file mode 100644 index 000000000..b02f3c771 --- /dev/null +++ b/beesdoo_pos/models/beesdoo_pos.py @@ -0,0 +1,98 @@ +# -*- coding: utf-8 -*- +from openerp import models, fields, api, _ +import logging + +_logger = logging.getLogger(__name__) + +class BeesPOS(models.Model): + _inherit = 'pos.config' + + bill_value = fields.One2many('bill_value', 'pos', copy=True) + +class BillValue(models.Model): + _name = 'bill_value' + _order = 'name asc' + + name = fields.Float(string='Name') + pos = fields.Many2one('pos.config') + +class BeesAccountBankStatement(models.Model): + _inherit = 'account.bank.statement.cashbox' + + def _get_default_line(self): + if not self.env.context.get('active_id'): + return [] + + pos_session_rec = self.env['pos.session'].browse(self.env.context['active_id']) + return [(0, 0, {'coin_value' : bill_value_rec.name, 'subtotal':0.0}) for bill_value_rec in pos_session_rec.config_id.bill_value] + + cashbox_lines_ids = fields.One2many(default=_get_default_line) + +class BeescoopPosOrder(models.Model): + + _inherit = 'pos.order' + + print_status = fields.Selection([('no_print', 'Do not Print'), + ('to_print', 'To print'), + ('printed', 'Printed')], + default="no_print", string="Print Status") + + @api.model + def send_order(self, receipt_name): + order = self.search([('pos_reference', '=', receipt_name)]) + if not order: + return _('Error: no order found') + if not order.partner_id.email: + return _('Cannot send the ticket, no email address found on the client') + order.print_status = 'to_print' + + return _("Ticket will be sent") + + @api.model + def _send_order_cron(self): + mail_template = self.env.ref("beesdoo_pos.email_send_ticket") + _logger.info("Start to send ticket") + for order in self.search([('print_status', '=', 'to_print')]): + if not order.partner_id.email: + continue + + mail_template.send_mail(order.id, force_send=True) + order.print_status = 'printed' + #Make sure we commit the change to not send ticket twice + self.env.cr.commit() + + +class BeescoopPosPartner(models.Model): + _inherit = 'res.partner' + + def _get_eater(self): + eaters = [False, False, False] + for i, eater in enumerate(self.child_eater_ids): + eaters[i] = eater.name + return tuple(eaters) + + @api.multi + def get_eater(self): + eater1, eater2, eater3 = self._get_eater() + return eater1, eater2, eater3 + +from openerp.addons.point_of_sale.report import pos_receipt + +class order_tva_included(pos_receipt.order): + + def __init__(self, cr, uid, name, context): + super(order_tva_included, self).__init__(cr, uid, name, context=context) + self.env = api.Environment(cr, uid, context) + + def netamount(self, order_line_id): + order_line = self.env['pos.order.line'].browse(order_line_id) + if order_line.order_id.config_id.iface_tax_included: + return order_line.price_subtotal_incl + else: + return order_line.price_subtotal + + +class report_order_receipt(models.AbstractModel): + _inherit = 'report.point_of_sale.report_receipt' + _template = 'point_of_sale.report_receipt' + _wrapped_report_class = order_tva_included \ No newline at end of file diff --git a/beesdoo_pos/security/ir.model.access.csv b/beesdoo_pos/security/ir.model.access.csv new file mode 100644 index 000000000..1017b5735 --- /dev/null +++ b/beesdoo_pos/security/ir.model.access.csv @@ -0,0 +1,5 @@ +"id","name","model_id/id","group_id/id","perm_read","perm_write","perm_create","perm_unlink" +"bill_value_read_all","Read All","beesdoo_pos.model_bill_value","","True","False","False","False" +"bill_value_accountant_all","All Comptable","beesdoo_pos.model_bill_value","account.group_account_user","True","True","True","True" +"bill_value_pos_manager_all","All POS manager","beesdoo_pos.model_bill_value","point_of_sale.group_pos_manager","True","True","True","True" +"account_bank_statement_cashbox POS user","account.bank.statement.cashbox POS User","account.model_account_bank_statement_cashbox","point_of_sale.group_pos_user","True","True","True","False" diff --git a/beesdoo_pos/static/src/css/beesdoo.css b/beesdoo_pos/static/src/css/beesdoo.css new file mode 100644 index 000000000..66180cddd --- /dev/null +++ b/beesdoo_pos/static/src/css/beesdoo.css @@ -0,0 +1,34 @@ +.message-send { + margin: 16px; + text-align: center; +} + +.customer-information { + margin: 16px 24px 16px 24px; + font-weight: bold; + font-size: 16px; +} + +.customer-name { + font-size: 18px; +} + +.pos .actionpad .button.set-customer { + height: 108px; +} + +.pos .actionpad .button .fa-user { + left: 5px; + top: 38px; +} + + +.customer-information-pay { + font-weight: normal; + font-size: 12px; + text-align: left; +} + +.pos .actionpad .button.pay { + height: 108px; +} \ No newline at end of file diff --git a/beesdoo_pos/static/src/js/beesdoo.js b/beesdoo_pos/static/src/js/beesdoo.js new file mode 100644 index 000000000..e28bbdbd4 --- /dev/null +++ b/beesdoo_pos/static/src/js/beesdoo.js @@ -0,0 +1,95 @@ +odoo.define('beescoop.pos', function (require) { + "use strict"; + var module = require("point_of_sale.screens"); + var Model = require('web.DataModel'); + var set_customer_info = function(el_class, value, prefix) { + var el = this.$(el_class); + el.empty(); + if (prefix && value) { + value = prefix + value + } + if (value) { + el.append(value); + } + } + + module.ReceiptScreenWidget = module.ReceiptScreenWidget.include({ + send : function() { + var self = this; + var loaded = new $.Deferred(); + var order = this.pos.get_order().name; + var records = new Model('pos.order').call('send_order', [order], {}, { shadow: false, timeout: 10000}); + records.then(function(result){ + var el = self.$('.message-send') + el.empty(); + el.append('

' + result + '

'); + },function(err){ + loaded.reject(err); + }); + }, + renderElement: function() { + var self = this; + this._super(); + this.$('.button.send').click(function(){ + if (!self._locked) { + self.send(); + } + }); + }, + show: function(){ + this._super(); + var self = this; + this.$('.message-send').empty(); + }, + }) + + module.ActionpadWidget = module.ActionpadWidget.include({ + renderElement : function() { + var self = this; + var loaded = new $.Deferred(); + this._super(); + if (!this.pos.get_client()) { + return + + } + var customer_id = this.pos.get_client().id; + var res = new Model('res.partner').call('get_eater', + [ customer_id ], undefined, { shadow: true, timeout: 1000}); + res.then(function(result) { + set_customer_info.call(self, '.customer-delegate1', result[0], 'Eater 1: '); + set_customer_info.call(self, '.customer-delegate2', result[1], 'Eater 2: '); + set_customer_info.call(self, '.customer-delegate3', result[2], 'Eater 3: '); + }, function(err) { + loaded.reject(err); + }); + }, + }); + + module.PaymentScreenWidget.include({ + render_customer_info : function() { + var self = this; + var loaded = new $.Deferred(); + if (!this.pos.get_client()) { + return + } + var customer_id = this.pos.get_client().id; + var res = new Model('res.partner').call('get_eater', [ customer_id ], undefined, { shadow: true, timeout: 1000}); + res.then(function(result) { + set_customer_info.call(self, '.customer-name', self.pos.get_client().name); + set_customer_info.call(self, '.customer-delegate1', result[0], 'Eater 1: '); + set_customer_info.call(self, '.customer-delegate2', result[1], 'Eater 2: '); + set_customer_info.call(self, '.customer-delegate3', result[2], 'Eater 3: '); + }, function(err) { + loaded.reject(err); + }); + }, + renderElement : function() { + this._super(); + this.render_customer_info(); + }, + customer_changed : function() { + this._super(); + this.render_customer_info(); + }, + }); +}); diff --git a/beesdoo_pos/static/src/xml/templates.xml b/beesdoo_pos/static/src/xml/templates.xml new file mode 100644 index 000000000..ab30a426b --- /dev/null +++ b/beesdoo_pos/static/src/xml/templates.xml @@ -0,0 +1,80 @@ + + + + +
+ + Send Receipt By Mail +
+
+
+
+
+ + + + +
+ +
+ +
+ +
+
+
+
+ + + + +
+ +
+ +
+ +
+ +
+
+
+
+
+ + + + + + + + + + + + + + + +
Name
+ +
+
+ + + + + + + + + + + +
+
+ +
+
+
+
diff --git a/beesdoo_pos/views/beesdoo_pos.xml b/beesdoo_pos/views/beesdoo_pos.xml new file mode 100644 index 000000000..d7868ff79 --- /dev/null +++ b/beesdoo_pos/views/beesdoo_pos.xml @@ -0,0 +1,38 @@ + + + + bees.pos.config.form.view + pos.config + + + + + + + + + + + + + + + account.bnk_stmt_cashbox.form + account.bank.statement.cashbox + + + + 1 + + + + + + + From 89173e72d5d0463d22a0bde4b5bbc11a72da1896 Mon Sep 17 00:00:00 2001 From: Manuel Claeys Bouuaert Date: Tue, 1 Oct 2019 11:53:09 +0200 Subject: [PATCH 02/46] beesdoo_pos module : migration to version 10.0, 11.0 and 12.0 Signed-off-by: Carmen Bianca BAKKER --- beesdoo_pos/__init__.py | 3 +- .../{__openerp__.py => __manifest__.py} | 1 - beesdoo_pos/data/cron.xml | 5 +-- beesdoo_pos/data/email.xml | 3 +- beesdoo_pos/models/__init__.py | 2 +- beesdoo_pos/models/beesdoo_pos.py | 44 +++++++++---------- beesdoo_pos/views/beesdoo_pos.xml | 6 +-- 7 files changed, 31 insertions(+), 33 deletions(-) rename beesdoo_pos/{__openerp__.py => __manifest__.py} (97%) diff --git a/beesdoo_pos/__init__.py b/beesdoo_pos/__init__.py index 0f7cb6b22..9a7e03ede 100644 --- a/beesdoo_pos/__init__.py +++ b/beesdoo_pos/__init__.py @@ -1,2 +1 @@ -# -*- coding: utf-8 -*- -import models \ No newline at end of file +from . import models \ No newline at end of file diff --git a/beesdoo_pos/__openerp__.py b/beesdoo_pos/__manifest__.py similarity index 97% rename from beesdoo_pos/__openerp__.py rename to beesdoo_pos/__manifest__.py index 965ae8863..b9d7bdf6b 100644 --- a/beesdoo_pos/__openerp__.py +++ b/beesdoo_pos/__manifest__.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- { 'name': "Beescoop Point of sale", diff --git a/beesdoo_pos/data/cron.xml b/beesdoo_pos/data/cron.xml index 9ba9ae716..0da51d678 100644 --- a/beesdoo_pos/data/cron.xml +++ b/beesdoo_pos/data/cron.xml @@ -6,9 +6,8 @@ minutes -1 - pos.order - _send_order_cron - () + + model._send_order_cron() \ No newline at end of file diff --git a/beesdoo_pos/data/email.xml b/beesdoo_pos/data/email.xml index 6b4dc8002..23719d693 100644 --- a/beesdoo_pos/data/email.xml +++ b/beesdoo_pos/data/email.xml @@ -10,7 +10,8 @@ ${object.partner_id.id} - + + Ticket ${object.pos_reference} ${object.partner_id.lang} + bees.pos.config.form.view pos.config - + @@ -35,4 +35,4 @@ - + From 3ec6c869a69d7ed9584191f4aeac95541cdcc78a Mon Sep 17 00:00:00 2001 From: Manuel Claeys Bouuaert Date: Fri, 4 Oct 2019 13:32:14 +0200 Subject: [PATCH 03/46] [FIX] Fix version number, data tags and import ordering Signed-off-by: Carmen Bianca BAKKER --- beesdoo_pos/__manifest__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/beesdoo_pos/__manifest__.py b/beesdoo_pos/__manifest__.py index b9d7bdf6b..4fcea354d 100644 --- a/beesdoo_pos/__manifest__.py +++ b/beesdoo_pos/__manifest__.py @@ -16,7 +16,7 @@ # Check https://github.com/odoo/odoo/blob/master/openerp/addons/base/module/module_data.xml # for the full list 'category': 'Point Of Sale', - 'version': '9.0.1.1.0', + 'version': '12.0.1.0.0', # any module necessary for this one to work correctly 'depends': ['beesdoo_base', 'beesdoo_product'], From baa64a45910cfa6de5389b09008ba4385e5c328c Mon Sep 17 00:00:00 2001 From: Manuel Claeys Bouuaert Date: Mon, 7 Oct 2019 15:59:42 +0200 Subject: [PATCH 04/46] [FIX] remove button and functionality of print receipt Signed-off-by: Carmen Bianca BAKKER --- beesdoo_pos/data/email.xml | 2 +- beesdoo_pos/models/beesdoo_pos.py | 2 +- beesdoo_pos/static/src/js/beesdoo.js | 5 +++-- beesdoo_pos/static/src/xml/templates.xml | 4 +++- 4 files changed, 8 insertions(+), 5 deletions(-) diff --git a/beesdoo_pos/data/email.xml b/beesdoo_pos/data/email.xml index 23719d693..6c7caa5ae 100644 --- a/beesdoo_pos/data/email.xml +++ b/beesdoo_pos/data/email.xml @@ -10,7 +10,7 @@ ${object.partner_id.id} - + Ticket ${object.pos_reference} ${object.partner_id.lang} diff --git a/beesdoo_pos/models/beesdoo_pos.py b/beesdoo_pos/models/beesdoo_pos.py index 4640f0988..7fa2823f3 100644 --- a/beesdoo_pos/models/beesdoo_pos.py +++ b/beesdoo_pos/models/beesdoo_pos.py @@ -75,7 +75,7 @@ def get_eater(self): eater1, eater2, eater3 = self._get_eater() return eater1, eater2, eater3 -# TODO: put back when 'pos_receipt.order' will be back point_of_sale.action_report_pos_receipt +# TODO: will be taken care of in separate 'pos_order_email' module # from odoo.addons.point_of_sale.report import pos_receipt # # class order_tva_included(pos_receipt.order): diff --git a/beesdoo_pos/static/src/js/beesdoo.js b/beesdoo_pos/static/src/js/beesdoo.js index e28bbdbd4..488976841 100644 --- a/beesdoo_pos/static/src/js/beesdoo.js +++ b/beesdoo_pos/static/src/js/beesdoo.js @@ -13,7 +13,8 @@ odoo.define('beescoop.pos', function (require) { } } - module.ReceiptScreenWidget = module.ReceiptScreenWidget.include({ +// TODO: will be taken care of in separate 'pos_order_email' module +/* module.ReceiptScreenWidget = module.ReceiptScreenWidget.include({ send : function() { var self = this; var loaded = new $.Deferred(); @@ -41,7 +42,7 @@ odoo.define('beescoop.pos', function (require) { var self = this; this.$('.message-send').empty(); }, - }) + })*/ module.ActionpadWidget = module.ActionpadWidget.include({ renderElement : function() { diff --git a/beesdoo_pos/static/src/xml/templates.xml b/beesdoo_pos/static/src/xml/templates.xml index ab30a426b..54afadd28 100644 --- a/beesdoo_pos/static/src/xml/templates.xml +++ b/beesdoo_pos/static/src/xml/templates.xml @@ -1,6 +1,7 @@ - + + From ffcdff318799d03353b2dda9b9e954060523b462 Mon Sep 17 00:00:00 2001 From: Elouan Le Bars Date: Tue, 12 Nov 2019 10:17:16 +0100 Subject: [PATCH 05/46] [ADD] b_pos : default customer barcode config Override default data so as to set encoding to EAN-13. Signed-off-by: Carmen Bianca BAKKER --- beesdoo_pos/__manifest__.py | 2 +- beesdoo_pos/data/default_barcode_pattern.xml | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) create mode 100644 beesdoo_pos/data/default_barcode_pattern.xml diff --git a/beesdoo_pos/__manifest__.py b/beesdoo_pos/__manifest__.py index 4fcea354d..522389948 100644 --- a/beesdoo_pos/__manifest__.py +++ b/beesdoo_pos/__manifest__.py @@ -26,9 +26,9 @@ 'security/ir.model.access.csv', 'views/beesdoo_pos.xml', 'data/email.xml', + 'data/default_barcode_pattern.xml', 'data/cron.xml', ], 'qweb': ['static/src/xml/templates.xml'], # only loaded in demonstration mode } - diff --git a/beesdoo_pos/data/default_barcode_pattern.xml b/beesdoo_pos/data/default_barcode_pattern.xml new file mode 100644 index 000000000..8d093f2f5 --- /dev/null +++ b/beesdoo_pos/data/default_barcode_pattern.xml @@ -0,0 +1,7 @@ + + + + ean13 + + + From 835fb92c91d35b4aac972122a6871c6712e5c4d1 Mon Sep 17 00:00:00 2001 From: houssine Date: Sun, 26 Jan 2020 12:43:22 +0100 Subject: [PATCH 06/46] [LIC] put right licence and version Signed-off-by: Carmen Bianca BAKKER --- beesdoo_pos/__manifest__.py | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/beesdoo_pos/__manifest__.py b/beesdoo_pos/__manifest__.py index 522389948..f0a7f35fd 100644 --- a/beesdoo_pos/__manifest__.py +++ b/beesdoo_pos/__manifest__.py @@ -1,3 +1,10 @@ +# Copyright 2017 - 2020 BEES coop SCRLfs +# - Elouan Lebars +# - Rémy Taymans +# - Elise Dupont +# - Thibault François +# - Grégoire Leeuwerck +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). { 'name': "Beescoop Point of sale", @@ -12,16 +19,11 @@ 'author': "Beescoop - Cellule IT", 'website': "https://github.com/beescoop/Obeesdoo", - # Categories can be used to filter modules in modules listing - # Check https://github.com/odoo/odoo/blob/master/openerp/addons/base/module/module_data.xml - # for the full list 'category': 'Point Of Sale', 'version': '12.0.1.0.0', - # any module necessary for this one to work correctly 'depends': ['beesdoo_base', 'beesdoo_product'], - # always loaded 'data': [ 'security/ir.model.access.csv', 'views/beesdoo_pos.xml', @@ -30,5 +32,6 @@ 'data/cron.xml', ], 'qweb': ['static/src/xml/templates.xml'], - # only loaded in demonstration mode + + 'installable': True, } From df50807dc72c6d01bbd841b468c657aca0097174 Mon Sep 17 00:00:00 2001 From: houssine Date: Sun, 26 Jan 2020 12:43:34 +0100 Subject: [PATCH 07/46] [CLEAN] remove extra tag Signed-off-by: Carmen Bianca BAKKER --- beesdoo_pos/views/beesdoo_pos.xml | 60 +++++++++++++++---------------- 1 file changed, 29 insertions(+), 31 deletions(-) diff --git a/beesdoo_pos/views/beesdoo_pos.xml b/beesdoo_pos/views/beesdoo_pos.xml index 907928a7c..6e0d90c3c 100644 --- a/beesdoo_pos/views/beesdoo_pos.xml +++ b/beesdoo_pos/views/beesdoo_pos.xml @@ -1,38 +1,36 @@ - - - bees.pos.config.form.view - pos.config - - - - - - - - - + + bees.pos.config.form.view + pos.config + + + + + + + + - + + - - account.bnk_stmt_cashbox.form - account.bank.statement.cashbox - - - - 1 - + + account.bnk_stmt_cashbox.form + account.bank.statement.cashbox + + + + 1 - + + - - + From 3467163fede8fb8e826405ecdf9538f5f928ac11 Mon Sep 17 00:00:00 2001 From: Manuel Claeys Bouuaert Date: Fri, 17 Apr 2020 14:05:51 +0200 Subject: [PATCH 08/46] [REM] beesdoo_pos: remove 'Bill Value' (standard in v12) and 'Send Orders by email' (replace with OCA module) Signed-off-by: Carmen Bianca BAKKER --- beesdoo_pos/__manifest__.py | 5 +- beesdoo_pos/data/cron.xml | 13 -- beesdoo_pos/data/email.xml | 23 ---- beesdoo_pos/i18n/fr_BE.po | 151 ----------------------- beesdoo_pos/models/beesdoo_pos.py | 84 +------------ beesdoo_pos/security/ir.model.access.csv | 5 - beesdoo_pos/static/src/js/beesdoo.js | 31 ----- beesdoo_pos/static/src/xml/templates.xml | 13 -- beesdoo_pos/views/beesdoo_pos.xml | 27 ---- 9 files changed, 2 insertions(+), 350 deletions(-) delete mode 100644 beesdoo_pos/data/cron.xml delete mode 100644 beesdoo_pos/data/email.xml delete mode 100644 beesdoo_pos/i18n/fr_BE.po delete mode 100644 beesdoo_pos/security/ir.model.access.csv diff --git a/beesdoo_pos/__manifest__.py b/beesdoo_pos/__manifest__.py index f0a7f35fd..8483f81ee 100644 --- a/beesdoo_pos/__manifest__.py +++ b/beesdoo_pos/__manifest__.py @@ -13,7 +13,7 @@ """, 'description': """ - Long description of module's purpose + This module adds the eaters of the customer to the POS ActionpadWidget and PaymentScreenWidget. """, 'author': "Beescoop - Cellule IT", @@ -25,11 +25,8 @@ 'depends': ['beesdoo_base', 'beesdoo_product'], 'data': [ - 'security/ir.model.access.csv', 'views/beesdoo_pos.xml', - 'data/email.xml', 'data/default_barcode_pattern.xml', - 'data/cron.xml', ], 'qweb': ['static/src/xml/templates.xml'], diff --git a/beesdoo_pos/data/cron.xml b/beesdoo_pos/data/cron.xml deleted file mode 100644 index 0da51d678..000000000 --- a/beesdoo_pos/data/cron.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - send ticket - 1 - minutes - -1 - - - model._send_order_cron() - - - \ No newline at end of file diff --git a/beesdoo_pos/data/email.xml b/beesdoo_pos/data/email.xml deleted file mode 100644 index 6c7caa5ae..000000000 --- a/beesdoo_pos/data/email.xml +++ /dev/null @@ -1,23 +0,0 @@ - - - - - - - Envoyer Reçu - ${(object.user_id.email and '%s <%s>' % (object.user_id.name, object.user_id.email) or '')|safe} - ${object.pos_reference} - ${object.partner_id.id} - - - - - Ticket ${object.pos_reference} - ${object.partner_id.lang} - - - - - \ No newline at end of file diff --git a/beesdoo_pos/i18n/fr_BE.po b/beesdoo_pos/i18n/fr_BE.po deleted file mode 100644 index 60b659ad6..000000000 --- a/beesdoo_pos/i18n/fr_BE.po +++ /dev/null @@ -1,151 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * beesdoo_pos -# -msgid "" -msgstr "" -"Project-Id-Version: Odoo Server 9.0c\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-13 15:23+0000\n" -"PO-Revision-Date: 2016-11-13 15:23+0000\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: beesdoo_pos -#: model:mail.template,body_html:beesdoo_pos.email_send_ticket -msgid "\n" -"Votre Ticket ${object.pos_reference}\n" -" " -msgstr "

\n" -"\n" -"

\n" -"\n" -"

Bonjour, 

Vous trouverez ci-joint votre ticket de caisse en version électronique.

Pour rappel, à partir d'octobre, le Labo market est ouvert les lundis, mardis, mercredis de 17h30 à 20h et les samedis de 10h30 à 16h.

Pour vous inscrire à des permanences BEES, rendez-vous sur http://shift.bees-coop.be/ .

Au plaisir de vous revoir au Labo market.

BEES  coop,

" - -#. module: beesdoo_pos -#: model:mail.template,subject:beesdoo_pos.email_send_ticket -msgid "${object.pos_reference}" -msgstr "${object.pos_reference}" - -#. module: beesdoo_pos -#: model:ir.model,name:beesdoo_pos.model_account_bank_statement_cashbox -msgid "Account Bank Statement Cashbox Details" -msgstr "Détails" - -#. module: beesdoo_pos -#. openerp-web -#: code:addons/beesdoo_pos/static/src/xml/templates.xml:17 -#: code:addons/beesdoo_pos/static/src/xml/templates.xml:35 -#, python-format -msgid "Balance:" -msgstr "Balance:" - -#. module: beesdoo_pos -#: model:ir.ui.view,arch_db:beesdoo_pos.beescoop_pos_inherit -msgid "Bill Value" -msgstr "Bill Value" - -#. module: beesdoo_pos -#: model:ir.model.fields,field_description:beesdoo_pos.field_pos_config_bill_value -msgid "Bill value" -msgstr "Bill value" - -#. module: beesdoo_pos -#: code:addons/beesdoo_pos/models/beesdoo_pos.py:38 -#, python-format -msgid "Cannot send the ticket, no email address found on the client" -msgstr "Cannot send the ticket, no email address found on the client" - -#. module: beesdoo_pos -#: model:ir.model.fields,field_description:beesdoo_pos.field_bill_value_create_uid -msgid "Created by" -msgstr "Créé par" - -#. module: beesdoo_pos -#: model:ir.model.fields,field_description:beesdoo_pos.field_bill_value_create_date -msgid "Created on" -msgstr "Créé le" - -#. module: beesdoo_pos -#: model:ir.model.fields,field_description:beesdoo_pos.field_bill_value_display_name -msgid "Display Name" -msgstr "Nom affiché" - -#. module: beesdoo_pos -#: code:addons/beesdoo_pos/models/beesdoo_pos.py:36 -#, python-format -msgid "Error: no order found" -msgstr "Error: no order found" - -#. module: beesdoo_pos -#: model:ir.model.fields,field_description:beesdoo_pos.field_bill_value_id -msgid "ID" -msgstr "ID" - -#. module: beesdoo_pos -#: model:ir.model.fields,field_description:beesdoo_pos.field_bill_value___last_update -msgid "Last Modified on" -msgstr "Dernière modification le" - -#. module: beesdoo_pos -#: model:ir.model.fields,field_description:beesdoo_pos.field_bill_value_write_uid -msgid "Last Updated by" -msgstr "Mis à jour par" - -#. module: beesdoo_pos -#: model:ir.model.fields,field_description:beesdoo_pos.field_bill_value_write_date -msgid "Last Updated on" -msgstr "Mis à jour le" - -#. module: beesdoo_pos -#: model:ir.model.fields,field_description:beesdoo_pos.field_bill_value_name -msgid "Name" -msgstr "Nom" - -#. module: beesdoo_pos -#: model:ir.model,name:beesdoo_pos.model_res_partner -msgid "Partner" -msgstr "Partenaire" - -#. module: beesdoo_pos -#: model:ir.model,name:beesdoo_pos.model_pos_order -msgid "Point of Sale" -msgstr "Point de vente" - -#. module: beesdoo_pos -#: model:ir.model.fields,field_description:beesdoo_pos.field_bill_value_pos -msgid "Pos" -msgstr "Pos" - -#. module: beesdoo_pos -#. openerp-web -#: code:addons/beesdoo_pos/static/src/xml/templates.xml:6 -#, python-format -msgid "Send Receipt By Mail" -msgstr "Send Receipt By Mail" - -#. module: beesdoo_pos -#: model:mail.template,report_name:beesdoo_pos.email_send_ticket -msgid "Ticket ${object.pos_reference}" -msgstr "Ticket ${object.pos_reference}" - -#. module: beesdoo_pos -#: code:addons/beesdoo_pos/models/beesdoo_pos.py:41 -#, python-format -msgid "Ticket sent" -msgstr "Ticket sent" - -#. module: beesdoo_pos -#: model:ir.model,name:beesdoo_pos.model_bill_value -msgid "bill_value" -msgstr "bill_value" - -#. module: beesdoo_pos -#: model:ir.model,name:beesdoo_pos.model_pos_config -msgid "pos.config" -msgstr "pos.config" - diff --git a/beesdoo_pos/models/beesdoo_pos.py b/beesdoo_pos/models/beesdoo_pos.py index 7fa2823f3..b08301bd5 100644 --- a/beesdoo_pos/models/beesdoo_pos.py +++ b/beesdoo_pos/models/beesdoo_pos.py @@ -1,64 +1,4 @@ -from odoo import models, fields, api, _ -import logging - -_logger = logging.getLogger(__name__) - -class BeesPOS(models.Model): - _inherit = 'pos.config' - - bill_value = fields.One2many('bill_value', 'pos', copy=True) - -class BillValue(models.Model): - _name = 'bill_value' - _order = 'name asc' - - name = fields.Float(string='Name') - pos = fields.Many2one('pos.config') - -class BeesAccountBankStatement(models.Model): - _inherit = 'account.bank.statement.cashbox' - - def _get_default_line(self): - if not self.env.context.get('active_id'): - return [] - - pos_session_rec = self.env['pos.session'].browse(self.env.context['active_id']) - return [(0, 0, {'coin_value' : bill_value_rec.name, 'subtotal':0.0}) for bill_value_rec in pos_session_rec.config_id.bill_value] - - cashbox_lines_ids = fields.One2many(default=_get_default_line) - -class BeescoopPosOrder(models.Model): - - _inherit = 'pos.order' - - print_status = fields.Selection([('no_print', 'Do not Print'), - ('to_print', 'To print'), - ('printed', 'Printed')], - default="no_print", string="Print Status") - - @api.model - def send_order(self, receipt_name): - order = self.search([('pos_reference', '=', receipt_name)]) - if not order: - return _('Error: no order found') - if not order.partner_id.email: - return _('Cannot send the ticket, no email address found on the client') - order.print_status = 'to_print' - - return _("Ticket will be sent") - - @api.model - def _send_order_cron(self): - mail_template = self.env.ref("beesdoo_pos.email_send_ticket") - _logger.info("Start to send ticket") - for order in self.search([('print_status', '=', 'to_print')]): - if not order.partner_id.email: - continue - - mail_template.send_mail(order.id, force_send=True) - order.print_status = 'printed' - #Make sure we commit the change to not send ticket twice - self.env.cr.commit() +from odoo import models, api class BeescoopPosPartner(models.Model): @@ -74,25 +14,3 @@ def _get_eater(self): def get_eater(self): eater1, eater2, eater3 = self._get_eater() return eater1, eater2, eater3 - -# TODO: will be taken care of in separate 'pos_order_email' module -# from odoo.addons.point_of_sale.report import pos_receipt -# -# class order_tva_included(pos_receipt.order): -# -# def __init__(self, cr, uid, name, context): -# super(order_tva_included, self).__init__(cr, uid, name, context=context) -# self.env = api.Environment(cr, uid, context) -# -# def netamount(self, order_line_id): -# order_line = self.env['pos.order.line'].browse(order_line_id) -# if order_line.order_id.config_id.iface_tax_included: -# return order_line.price_subtotal_incl -# else: -# return order_line.price_subtotal -# -# -# class report_order_receipt(models.AbstractModel): -# _inherit = 'report.point_of_sale.report_receipt' -# _template = 'point_of_sale.report_receipt' -# _wrapped_report_class = order_tva_included \ No newline at end of file diff --git a/beesdoo_pos/security/ir.model.access.csv b/beesdoo_pos/security/ir.model.access.csv deleted file mode 100644 index 1017b5735..000000000 --- a/beesdoo_pos/security/ir.model.access.csv +++ /dev/null @@ -1,5 +0,0 @@ -"id","name","model_id/id","group_id/id","perm_read","perm_write","perm_create","perm_unlink" -"bill_value_read_all","Read All","beesdoo_pos.model_bill_value","","True","False","False","False" -"bill_value_accountant_all","All Comptable","beesdoo_pos.model_bill_value","account.group_account_user","True","True","True","True" -"bill_value_pos_manager_all","All POS manager","beesdoo_pos.model_bill_value","point_of_sale.group_pos_manager","True","True","True","True" -"account_bank_statement_cashbox POS user","account.bank.statement.cashbox POS User","account.model_account_bank_statement_cashbox","point_of_sale.group_pos_user","True","True","True","False" diff --git a/beesdoo_pos/static/src/js/beesdoo.js b/beesdoo_pos/static/src/js/beesdoo.js index 488976841..e57c81c99 100644 --- a/beesdoo_pos/static/src/js/beesdoo.js +++ b/beesdoo_pos/static/src/js/beesdoo.js @@ -13,37 +13,6 @@ odoo.define('beescoop.pos', function (require) { } } -// TODO: will be taken care of in separate 'pos_order_email' module -/* module.ReceiptScreenWidget = module.ReceiptScreenWidget.include({ - send : function() { - var self = this; - var loaded = new $.Deferred(); - var order = this.pos.get_order().name; - var records = new Model('pos.order').call('send_order', [order], {}, { shadow: false, timeout: 10000}); - records.then(function(result){ - var el = self.$('.message-send') - el.empty(); - el.append('

' + result + '

'); - },function(err){ - loaded.reject(err); - }); - }, - renderElement: function() { - var self = this; - this._super(); - this.$('.button.send').click(function(){ - if (!self._locked) { - self.send(); - } - }); - }, - show: function(){ - this._super(); - var self = this; - this.$('.message-send').empty(); - }, - })*/ - module.ActionpadWidget = module.ActionpadWidget.include({ renderElement : function() { var self = this; diff --git a/beesdoo_pos/static/src/xml/templates.xml b/beesdoo_pos/static/src/xml/templates.xml index 54afadd28..c72afe872 100644 --- a/beesdoo_pos/static/src/xml/templates.xml +++ b/beesdoo_pos/static/src/xml/templates.xml @@ -1,18 +1,5 @@ - - - diff --git a/beesdoo_pos/views/beesdoo_pos.xml b/beesdoo_pos/views/beesdoo_pos.xml index 6e0d90c3c..f87f2f84b 100644 --- a/beesdoo_pos/views/beesdoo_pos.xml +++ b/beesdoo_pos/views/beesdoo_pos.xml @@ -1,31 +1,4 @@ - - bees.pos.config.form.view - pos.config - - - - - - - - - - - - - - - account.bnk_stmt_cashbox.form - account.bank.statement.cashbox - - - - 1 - - - - From 2d207ca04a69c26d1e5d13188d8caf611d208c0e Mon Sep 17 00:00:00 2001 From: "robin.keunen" Date: Fri, 10 Apr 2020 17:25:04 +0200 Subject: [PATCH 13/46] [REF] add module readmes, fix manifests [REF] __manifest__: add licence, remove description [REF] add Coop IT Easy SCRLfs to authors Signed-off-by: Carmen Bianca BAKKER --- beesdoo_pos/README.rst | 59 +++ beesdoo_pos/__manifest__.py | 13 +- beesdoo_pos/readme/CONTRIBUTORS.rst | 1 + beesdoo_pos/readme/DESCRIPTION.rst | 1 + beesdoo_pos/static/description/index.html | 416 ++++++++++++++++++++++ 5 files changed, 482 insertions(+), 8 deletions(-) create mode 100644 beesdoo_pos/README.rst create mode 100644 beesdoo_pos/readme/DESCRIPTION.rst create mode 100644 beesdoo_pos/static/description/index.html diff --git a/beesdoo_pos/README.rst b/beesdoo_pos/README.rst new file mode 100644 index 000000000..5d3621fa8 --- /dev/null +++ b/beesdoo_pos/README.rst @@ -0,0 +1,59 @@ +====================== +Beescoop Point of sale +====================== + +.. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! This file is generated by oca-gen-addon-readme !! + !! changes will be overwritten. !! + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png + :target: https://odoo-community.org/page/development-status + :alt: Beta +.. |badge2| image:: https://img.shields.io/badge/licence-AGPL--3-blue.png + :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html + :alt: License: AGPL-3 +.. |badge3| image:: https://img.shields.io/badge/github-beescoop%2Fobeesdoo-lightgray.png?logo=github + :target: https://github.com/beescoop/obeesdoo/tree/12.0/beesdoo_pos + :alt: beescoop/obeesdoo + +|badge1| |badge2| |badge3| + +This module adds the eaters of the customer to the POS ActionpadWidget and PaymentScreenWidget. + +**Table of contents** + +.. contents:: + :local: + +Bug Tracker +=========== + +Bugs are tracked on `GitHub Issues `_. +In case of trouble, please check there if your issue has already been reported. +If you spotted it first, help us smashing it by providing a detailed and welcomed +`feedback `_. + +Do not contact contributors directly about support or help with technical issues. + +Credits +======= + +Authors +~~~~~~~ + +* Beescoop - Cellule IT +* Coop IT Easy SCRLfs + +Contributors +~~~~~~~~~~~~ + +* Beescoop - Cellule IT +* Coop IT Easy SCRLfs + +Maintainers +~~~~~~~~~~~ + +This module is part of the `beescoop/obeesdoo `_ project on GitHub. + +You are welcome to contribute. diff --git a/beesdoo_pos/__manifest__.py b/beesdoo_pos/__manifest__.py index d5b88fbcc..8ba8be73d 100644 --- a/beesdoo_pos/__manifest__.py +++ b/beesdoo_pos/__manifest__.py @@ -7,18 +7,15 @@ # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). { "name": "Beescoop Point of sale", - "summary": """ - Module that extends the pos for the beescoop - """, - "description": """ - This module adds the eaters of the customer to the POS ActionpadWidget and PaymentScreenWidget. - """, - "author": "Beescoop - Cellule IT", + "summary": """This module adds the eaters of the customer to the POS + ActionpadWidget and PaymentScreenWidget.""", + "author": "Beescoop - Cellule IT, Coop IT Easy SCRLfs", "website": "https://github.com/beescoop/Obeesdoo", "category": "Point Of Sale", "version": "12.0.1.0.0", "depends": ["beesdoo_base", "beesdoo_product"], - "data": ["views/beesdoo_pos.xml", "data/default_barcode_pattern.xml",], + "data": ["views/beesdoo_pos.xml", "data/default_barcode_pattern.xml"], "qweb": ["static/src/xml/templates.xml"], "installable": True, + "license": "AGPL-3", } diff --git a/beesdoo_pos/readme/CONTRIBUTORS.rst b/beesdoo_pos/readme/CONTRIBUTORS.rst index 7fd296206..0a665feeb 100644 --- a/beesdoo_pos/readme/CONTRIBUTORS.rst +++ b/beesdoo_pos/readme/CONTRIBUTORS.rst @@ -1,2 +1,3 @@ * Beescoop - Cellule IT * Coop IT Easy SCRLfs + diff --git a/beesdoo_pos/readme/DESCRIPTION.rst b/beesdoo_pos/readme/DESCRIPTION.rst new file mode 100644 index 000000000..08e6aef7c --- /dev/null +++ b/beesdoo_pos/readme/DESCRIPTION.rst @@ -0,0 +1 @@ +This module adds the eaters of the customer to the POS ActionpadWidget and PaymentScreenWidget. diff --git a/beesdoo_pos/static/description/index.html b/beesdoo_pos/static/description/index.html new file mode 100644 index 000000000..ded71a76b --- /dev/null +++ b/beesdoo_pos/static/description/index.html @@ -0,0 +1,416 @@ + + + + + + +Beescoop Point of sale + + + +
+

Beescoop Point of sale

+ + +

Beta License: AGPL-3 beescoop/obeesdoo

+

This module adds the eaters of the customer to the POS ActionpadWidget and PaymentScreenWidget.

+

Table of contents

+ +
+

Bug Tracker

+

Bugs are tracked on GitHub Issues. +In case of trouble, please check there if your issue has already been reported. +If you spotted it first, help us smashing it by providing a detailed and welcomed +feedback.

+

Do not contact contributors directly about support or help with technical issues.

+
+
+

Credits

+
+

Authors

+
    +
  • Beescoop - Cellule IT
  • +
  • Coop IT Easy SCRLfs
  • +
+
+
+

Contributors

+
    +
  • Beescoop - Cellule IT
  • +
  • Coop IT Easy SCRLfs
  • +
+
+
+

Maintainers

+

This module is part of the beescoop/obeesdoo project on GitHub.

+

You are welcome to contribute.

+
+
+
+ + From 00e6851b796bed10dce5745cd3e2f0df2b1adcd1 Mon Sep 17 00:00:00 2001 From: "robin.keunen" Date: Sun, 14 Jun 2020 16:19:05 +0200 Subject: [PATCH 14/46] [REF] pre-commit fixes Signed-off-by: Carmen Bianca BAKKER --- beesdoo_pos/readme/CONTRIBUTORS.rst | 1 - 1 file changed, 1 deletion(-) diff --git a/beesdoo_pos/readme/CONTRIBUTORS.rst b/beesdoo_pos/readme/CONTRIBUTORS.rst index 0a665feeb..7fd296206 100644 --- a/beesdoo_pos/readme/CONTRIBUTORS.rst +++ b/beesdoo_pos/readme/CONTRIBUTORS.rst @@ -1,3 +1,2 @@ * Beescoop - Cellule IT * Coop IT Easy SCRLfs - From 6a4fce6f51b4891052b248f12715ede6802e0ac5 Mon Sep 17 00:00:00 2001 From: Vincent Van Rossem Date: Wed, 9 Sep 2020 11:31:36 +0200 Subject: [PATCH 15/46] [12.0][ADD] beesdoo_pos: available_in_pos management maintains "Available in POS" (`available_in_pos`) value when unchecking "Can be Sold" (`sale_ok`). Signed-off-by: Carmen Bianca BAKKER --- beesdoo_pos/README.rst | 4 +++- beesdoo_pos/__manifest__.py | 3 ++- beesdoo_pos/models/__init__.py | 1 + beesdoo_pos/models/product.py | 16 ++++++++++++++++ beesdoo_pos/readme/DESCRIPTION.rst | 4 +++- beesdoo_pos/static/description/index.html | 4 +++- 6 files changed, 28 insertions(+), 4 deletions(-) create mode 100644 beesdoo_pos/models/product.py diff --git a/beesdoo_pos/README.rst b/beesdoo_pos/README.rst index 5d3621fa8..ceb68b4be 100644 --- a/beesdoo_pos/README.rst +++ b/beesdoo_pos/README.rst @@ -19,7 +19,9 @@ Beescoop Point of sale |badge1| |badge2| |badge3| -This module adds the eaters of the customer to the POS ActionpadWidget and PaymentScreenWidget. +This module : +- adds the eaters of the customer to the POS ActionpadWidget and PaymentScreenWidget. +- maintains "Available in POS" (`available_in_pos`) value when unchecking "Can be Sold" (`sale_ok`). **Table of contents** diff --git a/beesdoo_pos/__manifest__.py b/beesdoo_pos/__manifest__.py index 8ba8be73d..0c798e68d 100644 --- a/beesdoo_pos/__manifest__.py +++ b/beesdoo_pos/__manifest__.py @@ -1,6 +1,7 @@ # Copyright 2017 - 2020 BEES coop SCRLfs # - Elouan Lebars # - Rémy Taymans +# - Vincent Van Rossem # - Elise Dupont # - Thibault François # - Grégoire Leeuwerck @@ -12,7 +13,7 @@ "author": "Beescoop - Cellule IT, Coop IT Easy SCRLfs", "website": "https://github.com/beescoop/Obeesdoo", "category": "Point Of Sale", - "version": "12.0.1.0.0", + "version": "12.0.1.1.0", "depends": ["beesdoo_base", "beesdoo_product"], "data": ["views/beesdoo_pos.xml", "data/default_barcode_pattern.xml"], "qweb": ["static/src/xml/templates.xml"], diff --git a/beesdoo_pos/models/__init__.py b/beesdoo_pos/models/__init__.py index 09371b222..28d2ac11e 100644 --- a/beesdoo_pos/models/__init__.py +++ b/beesdoo_pos/models/__init__.py @@ -1 +1,2 @@ from . import beesdoo_pos +from . import product diff --git a/beesdoo_pos/models/product.py b/beesdoo_pos/models/product.py new file mode 100644 index 000000000..3da1a455f --- /dev/null +++ b/beesdoo_pos/models/product.py @@ -0,0 +1,16 @@ +from odoo import api, fields, models, _ + + +class ProductTemplate(models.Model): + _inherit = 'product.template' + + @api.onchange('sale_ok') + def _onchange_sale_ok(self): + """ Maintains the value of `available_in_pos` when unchecking `sale_ok`, + by storing its value before calling parent's method, + then assigning the stored value. + """ + was_available = self.available_in_pos + super(ProductTemplate, self)._onchange_sale_ok() + if not self.sale_ok: + self.available_in_pos = was_available diff --git a/beesdoo_pos/readme/DESCRIPTION.rst b/beesdoo_pos/readme/DESCRIPTION.rst index 08e6aef7c..f2e2be1ba 100644 --- a/beesdoo_pos/readme/DESCRIPTION.rst +++ b/beesdoo_pos/readme/DESCRIPTION.rst @@ -1 +1,3 @@ -This module adds the eaters of the customer to the POS ActionpadWidget and PaymentScreenWidget. +This module : +- adds the eaters of the customer to the POS ActionpadWidget and PaymentScreenWidget. +- maintains "Available in POS" (`available_in_pos`) value when unchecking "Can be Sold" (`sale_ok`). diff --git a/beesdoo_pos/static/description/index.html b/beesdoo_pos/static/description/index.html index ded71a76b..5cae37060 100644 --- a/beesdoo_pos/static/description/index.html +++ b/beesdoo_pos/static/description/index.html @@ -368,7 +368,9 @@

Beescoop Point of sale

!! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->

Beta License: AGPL-3 beescoop/obeesdoo

-

This module adds the eaters of the customer to the POS ActionpadWidget and PaymentScreenWidget.

+

This module : +- adds the eaters of the customer to the POS ActionpadWidget and PaymentScreenWidget. +- maintains “Available in POS” (available_in_pos) value when unchecking “Can be Sold” (sale_ok).

Table of contents

    From 186f38500fbac4152cc6f7b2dfdf4304ff7b9fa3 Mon Sep 17 00:00:00 2001 From: "robin.keunen" Date: Thu, 8 Oct 2020 16:42:13 +0200 Subject: [PATCH 16/46] [FIX] beesdoo_pos: do not assign result of include Signed-off-by: Carmen Bianca BAKKER --- beesdoo_pos/static/src/js/beesdoo.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/beesdoo_pos/static/src/js/beesdoo.js b/beesdoo_pos/static/src/js/beesdoo.js index 6657eae80..58cf888bd 100644 --- a/beesdoo_pos/static/src/js/beesdoo.js +++ b/beesdoo_pos/static/src/js/beesdoo.js @@ -12,7 +12,7 @@ odoo.define('beesdoo_pos.screens', function (require) { } } - screens.ActionpadWidget = screens.ActionpadWidget.include({ + screens.ActionpadWidget.include({ renderElement : function() { var self = this; var loaded = new $.Deferred(); From 1b74e2c3178877136e19d1ab8ed4e9dddbe244ec Mon Sep 17 00:00:00 2001 From: houssine Date: Sat, 27 Mar 2021 18:50:13 +0100 Subject: [PATCH 17/46] [IMP] add autoselect invoice when customer is company Signed-off-by: Carmen Bianca BAKKER --- beesdoo_pos/__manifest__.py | 17 +++++++++++++---- beesdoo_pos/static/src/js/beesdoo.js | 21 +++++++++++++++++++++ 2 files changed, 34 insertions(+), 4 deletions(-) diff --git a/beesdoo_pos/__manifest__.py b/beesdoo_pos/__manifest__.py index 0c798e68d..aebc42b65 100644 --- a/beesdoo_pos/__manifest__.py +++ b/beesdoo_pos/__manifest__.py @@ -5,6 +5,7 @@ # - Elise Dupont # - Thibault François # - Grégoire Leeuwerck +# - Houssine Bakkali # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). { "name": "Beescoop Point of sale", @@ -13,10 +14,18 @@ "author": "Beescoop - Cellule IT, Coop IT Easy SCRLfs", "website": "https://github.com/beescoop/Obeesdoo", "category": "Point Of Sale", - "version": "12.0.1.1.0", - "depends": ["beesdoo_base", "beesdoo_product"], - "data": ["views/beesdoo_pos.xml", "data/default_barcode_pattern.xml"], - "qweb": ["static/src/xml/templates.xml"], + "version": "12.0.1.2.0", + "depends": [ + "beesdoo_base", + "beesdoo_product" + ], + "data": [ + "views/beesdoo_pos.xml", + "data/default_barcode_pattern.xml" + ], + "qweb": [ + "static/src/xml/templates.xml" + ], "installable": True, "license": "AGPL-3", } diff --git a/beesdoo_pos/static/src/js/beesdoo.js b/beesdoo_pos/static/src/js/beesdoo.js index 58cf888bd..eb1652f11 100644 --- a/beesdoo_pos/static/src/js/beesdoo.js +++ b/beesdoo_pos/static/src/js/beesdoo.js @@ -1,6 +1,10 @@ odoo.define('beesdoo_pos.screens', function (require) { "use strict"; var screens = require("point_of_sale.screens"); + var models = require('point_of_sale.models'); + + models.load_fields('res.partner', 'is_company'); + var set_customer_info = function(el_class, value, prefix) { var el = this.$(el_class); el.empty(); @@ -67,12 +71,29 @@ odoo.define('beesdoo_pos.screens', function (require) { loaded.reject(err); }); }, + + auto_invoice : function() { + var self = this; + var customer = this.pos.get_client(); + var order = this.pos.get_order(); + if (customer && customer.is_company && !order.is_to_invoice()){ + self.click_invoice(); + } + if (!customer && order.is_to_invoice()){ + self.click_invoice(); + } + }, + renderElement : function() { this._super(); this.render_customer_info(); }, + customer_changed : function() { this._super(); + if (this.pos.config.module_account){ + this.auto_invoice(); + } this.render_customer_info(); }, }); From 521578a3e9652d91d54354f377bcafcb0d3d11f6 Mon Sep 17 00:00:00 2001 From: "robin.keunen" Date: Mon, 29 Mar 2021 17:51:31 +0200 Subject: [PATCH 18/46] update precommit config Signed-off-by: Carmen Bianca BAKKER --- beesdoo_pos/models/product.py | 6 ++--- beesdoo_pos/static/src/css/beesdoo.css | 27 +++++++++---------- beesdoo_pos/static/src/xml/templates.xml | 34 ++++++++++++------------ beesdoo_pos/views/beesdoo_pos.xml | 12 ++++++--- 4 files changed, 41 insertions(+), 38 deletions(-) diff --git a/beesdoo_pos/models/product.py b/beesdoo_pos/models/product.py index 3da1a455f..a98a24ecf 100644 --- a/beesdoo_pos/models/product.py +++ b/beesdoo_pos/models/product.py @@ -1,10 +1,10 @@ -from odoo import api, fields, models, _ +from odoo import api, models class ProductTemplate(models.Model): - _inherit = 'product.template' + _inherit = "product.template" - @api.onchange('sale_ok') + @api.onchange("sale_ok") def _onchange_sale_ok(self): """ Maintains the value of `available_in_pos` when unchecking `sale_ok`, by storing its value before calling parent's method, diff --git a/beesdoo_pos/static/src/css/beesdoo.css b/beesdoo_pos/static/src/css/beesdoo.css index 1ff6a61e4..0f74971c6 100644 --- a/beesdoo_pos/static/src/css/beesdoo.css +++ b/beesdoo_pos/static/src/css/beesdoo.css @@ -1,34 +1,33 @@ .message-send { - margin: 16px; - text-align: center; + margin: 16px; + text-align: center; } .customer-information { - margin: 16px 24px 16px 24px; - font-weight: bold; - font-size: 16px; + margin: 16px 24px 16px 24px; + font-weight: bold; + font-size: 16px; } .customer-name { - font-size: 18px; + font-size: 18px; } .pos .actionpad .button.set-customer { - height: 108px; + height: 108px; } .pos .actionpad .button .fa-user { - left: 5px; - top: 38px; + left: 5px; + top: 38px; } - .customer-information-pay { - font-weight: normal; - font-size: 12px; - text-align: left; + font-weight: normal; + font-size: 12px; + text-align: left; } .pos .actionpad .button.pay { - height: 108px; + height: 108px; } diff --git a/beesdoo_pos/static/src/xml/templates.xml b/beesdoo_pos/static/src/xml/templates.xml index 7ee93ebab..02317c03f 100644 --- a/beesdoo_pos/static/src/xml/templates.xml +++ b/beesdoo_pos/static/src/xml/templates.xml @@ -1,14 +1,14 @@ - +
    - -
    - -
    - + +
    + +
    +
    @@ -18,14 +18,14 @@
    - -
    - -
    - -
    - -
    + +
    + +
    + +
    + +
    @@ -54,7 +54,7 @@ - + @@ -62,10 +62,10 @@ -
    +
    -
    +
    diff --git a/beesdoo_pos/views/beesdoo_pos.xml b/beesdoo_pos/views/beesdoo_pos.xml index 5d82fb024..a5937b2ed 100644 --- a/beesdoo_pos/views/beesdoo_pos.xml +++ b/beesdoo_pos/views/beesdoo_pos.xml @@ -1,10 +1,14 @@