diff --git a/beesdoo_pos/__manifest__.py b/beesdoo_pos/__manifest__.py index f0a7f35..8483f81 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 0da51d6..0000000 --- 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 6c7caa5..0000000 --- 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 60b659a..0000000 --- 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 7fa2823..b08301b 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 @@ class BeescoopPosPartner(models.Model): 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 9d85762..0000000 --- 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 4889768..39a76d7 100644 --- a/beesdoo_pos/static/src/js/beesdoo.js +++ b/beesdoo_pos/static/src/js/beesdoo.js @@ -1,7 +1,7 @@ odoo.define('beescoop.pos', function (require) { "use strict"; var module = require("point_of_sale.screens"); - var Model = require('web.DataModel'); + var rpc = require('web.rpc') var set_customer_info = function(el_class, value, prefix) { var el = this.$(el_class); el.empty(); @@ -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; @@ -54,15 +23,22 @@ odoo.define('beescoop.pos', function (require) { } 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); - }); + this._rpc({ + model: 'res.partner', + method: 'get_eater', + args: [customer_id], + }, { + shadow: true, + }, { + timeout: 1000, + }) + .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: '); + }).fail(function (type, error){ + loaded.reject(err); + }); }, }); @@ -74,15 +50,23 @@ odoo.define('beescoop.pos', function (require) { 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); - }); + this._rpc({ + model: 'res.partner', + method: 'get_eater', + args: [customer_id], + }, { + shadow: true, + }, { + timeout: 1000, + }) + .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: '); + }).fail(function (type, error){ + loaded.reject(err); + }); }, renderElement : function() { this._super(); diff --git a/beesdoo_pos/static/src/xml/templates.xml b/beesdoo_pos/static/src/xml/templates.xml index 54afadd..c72afe8 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 6e0d90c..f87f2f8 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 - - - -