From 553fe9632546663cb260ab83da98c4d243166dd0 Mon Sep 17 00:00:00 2001 From: Sylvain LE GAL Date: Tue, 20 Aug 2019 17:40:30 +0200 Subject: [PATCH] [ADD] pos_check_session_state --- pos_check_session_state/README.rst | 83 ++++++++++++++++++ pos_check_session_state/__init__.py | 1 + pos_check_session_state/__manifest__.py | 28 ++++++ pos_check_session_state/i18n/fr.po | 58 ++++++++++++ pos_check_session_state/models/__init__.py | 1 + pos_check_session_state/models/pos_config.py | 13 +++ pos_check_session_state/readme/CONFIGURE.rst | 4 + .../readme/CONTRIBUTORS.rst | 1 + .../readme/DESCRIPTION.rst | 16 ++++ .../static/description/error_message.png | Bin 0 -> 51373 bytes .../static/description/icon.png | Bin 0 -> 4232 bytes .../static/description/pos_config_form.png | Bin 0 -> 42277 bytes .../static/src/js/pos_check_session_state.js | 79 +++++++++++++++++ .../src/xml/pos_check_session_state.xml | 34 +++++++ pos_check_session_state/views/templates.xml | 16 ++++ .../views/view_pos_config.xml | 22 +++++ 16 files changed, 356 insertions(+) create mode 100644 pos_check_session_state/README.rst create mode 100644 pos_check_session_state/__init__.py create mode 100644 pos_check_session_state/__manifest__.py create mode 100644 pos_check_session_state/i18n/fr.po create mode 100644 pos_check_session_state/models/__init__.py create mode 100644 pos_check_session_state/models/pos_config.py create mode 100644 pos_check_session_state/readme/CONFIGURE.rst create mode 100644 pos_check_session_state/readme/CONTRIBUTORS.rst create mode 100644 pos_check_session_state/readme/DESCRIPTION.rst create mode 100644 pos_check_session_state/static/description/error_message.png create mode 100644 pos_check_session_state/static/description/icon.png create mode 100644 pos_check_session_state/static/description/pos_config_form.png create mode 100644 pos_check_session_state/static/src/js/pos_check_session_state.js create mode 100644 pos_check_session_state/static/src/xml/pos_check_session_state.xml create mode 100644 pos_check_session_state/views/templates.xml create mode 100644 pos_check_session_state/views/view_pos_config.xml diff --git a/pos_check_session_state/README.rst b/pos_check_session_state/README.rst new file mode 100644 index 00000000..9875df61 --- /dev/null +++ b/pos_check_session_state/README.rst @@ -0,0 +1,83 @@ +=================================== +Point Of Sale - Check Session State +=================================== + +.. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! 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-grap%2Fgrap--odoo--incubator-lightgray.png?logo=github + :target: https://github.com/grap/grap-odoo-incubator/tree/8.0/pos_check_session_state + :alt: grap/grap-odoo-incubator + +|badge1| |badge2| |badge3| + +**Context** + +In Point Of Sale module, the front-end works offline, so all datas are +loaded at the beginning. +At the end of the session, if user do not close the window, it will be +possible to create new pos order on a closed session, generating errors. + +**Functionality** + +* This module prevent the possility to create a pos order via the front + end PoS UI, when session is closed. +* The session state is checked every minute by default. If the state of the + session is not opened, a blocking pop up is displayed, and user has to + reload the current page. + +.. figure:: https://raw.githubusercontent.com/grap/grap-odoo-incubator/8.0/pos_check_session_state/static/description/error_message.png + +**Table of contents** + +.. contents:: + :local: + +Configuration +============= + +* Go to Point of Sale / Configuration / Point of Sales +* Open a PoS Config and set a frequency for the check + +.. figure:: https://raw.githubusercontent.com/grap/grap-odoo-incubator/8.0/pos_check_session_state/static/description/pos_config_form.png + +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 +~~~~~~~ + +* GRAP + +Contributors +~~~~~~~~~~~~ + +* Sylvain LE GAL + +Maintainers +~~~~~~~~~~~ + + + +This module is part of the `grap/grap-odoo-incubator `_ project on GitHub. + + +You are welcome to contribute. diff --git a/pos_check_session_state/__init__.py b/pos_check_session_state/__init__.py new file mode 100644 index 00000000..0650744f --- /dev/null +++ b/pos_check_session_state/__init__.py @@ -0,0 +1 @@ +from . import models diff --git a/pos_check_session_state/__manifest__.py b/pos_check_session_state/__manifest__.py new file mode 100644 index 00000000..b187f6c4 --- /dev/null +++ b/pos_check_session_state/__manifest__.py @@ -0,0 +1,28 @@ +# Copyright (C) 2015-Today GRAP (http://www.grap.coop) +# @author: Sylvain LE GAL (https://twitter.com/legalsylvain) +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + +{ + 'name': 'Point Of Sale - Check Session State', + 'summary': 'Check if the session state is still opened', + 'version': '12.0.1.0.0', + 'category': 'Point Of Sale', + 'author': "GRAP", + 'website': 'http://www.grap.coop', + 'license': 'AGPL-3', + 'depends': [ + 'point_of_sale', + ], + 'data': [ + 'views/templates.xml', + 'views/view_pos_config.xml', + ], + 'qweb': [ + 'static/src/xml/pos_check_session_state.xml', + ], + 'images': [ + 'static/description/error_message.png', + 'static/description/pos_config_form.png', + ], + 'installable': True, +} diff --git a/pos_check_session_state/i18n/fr.po b/pos_check_session_state/i18n/fr.po new file mode 100644 index 00000000..42581c2b --- /dev/null +++ b/pos_check_session_state/i18n/fr.po @@ -0,0 +1,58 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * pos_check_session_state +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 12.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-07-03 12:10+0000\n" +"PO-Revision-Date: 2019-07-03 12:10+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: pos_check_session_state +#: model_terms:ir.ui.view,arch_db:pos_check_session_state.view_pos_config_form +msgid "Check Session State" +msgstr "Vérifier l'état de la session" + +#. module: pos_check_session_state +#: model:ir.model.fields,field_description:pos_check_session_state.field_pos_config__check_session_state_frequency +msgid "Frequency of Checking the State of the Session" +msgstr "Fréquence de vérification de l'état de la session" + +#. module: pos_check_session_state +#. openerp-web +#: code:addons/pos_check_session_state/static/src/xml/pos_check_session_state.xml:24 +#, python-format +msgid "Please close the current Point Of Sale Window and open it again to use a correct session." +msgstr "Veuillez fermer la fenêtre courante du point de vente et en ouvrir une autre, afin d'utiliser une session correcte." + +#. module: pos_check_session_state +#: model:ir.model,name:pos_check_session_state.model_pos_config +msgid "Point of Sale Configuration" +msgstr "Paramétrage du point de vente" + +#. module: pos_check_session_state +#. openerp-web +#: code:addons/pos_check_session_state/static/src/xml/pos_check_session_state.xml:19 +#, python-format +msgid "The session you're working on is closed." +msgstr "La sessions sur laquelle vous travaillez est close." + +#. module: pos_check_session_state +#. openerp-web +#: code:addons/pos_check_session_state/static/src/xml/pos_check_session_state.xml:14 +#, python-format +msgid "The session you're working on is in closing control." +msgstr "La sessions sur laquelle vous travaillez est en contrôle de fermeture." + +#. module: pos_check_session_state +#: model:ir.model.fields,help:pos_check_session_state.field_pos_config__check_session_state_frequency +msgid "The value is set in seconds." +msgstr "La valeur est définie en seconde." + diff --git a/pos_check_session_state/models/__init__.py b/pos_check_session_state/models/__init__.py new file mode 100644 index 00000000..db8634ad --- /dev/null +++ b/pos_check_session_state/models/__init__.py @@ -0,0 +1 @@ +from . import pos_config diff --git a/pos_check_session_state/models/pos_config.py b/pos_check_session_state/models/pos_config.py new file mode 100644 index 00000000..447bfc31 --- /dev/null +++ b/pos_check_session_state/models/pos_config.py @@ -0,0 +1,13 @@ +# Copyright (C) 2018 - Today: GRAP (http://www.grap.coop) +# @author: Sylvain LE GAL (https://twitter.com/legalsylvain) +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + +from openerp import fields, models + + +class PosConfig(models.Model): + _inherit = 'pos.config' + + check_session_state_frequency = fields.Integer( + string="Frequency of Checking the State of the Session", + default=60, help="The value is set in seconds.") diff --git a/pos_check_session_state/readme/CONFIGURE.rst b/pos_check_session_state/readme/CONFIGURE.rst new file mode 100644 index 00000000..68817923 --- /dev/null +++ b/pos_check_session_state/readme/CONFIGURE.rst @@ -0,0 +1,4 @@ +* Go to Point of Sale / Configuration / Point of Sales +* Open a PoS Config and set a frequency for the check + +.. figure:: ../static/description/pos_config_form.png diff --git a/pos_check_session_state/readme/CONTRIBUTORS.rst b/pos_check_session_state/readme/CONTRIBUTORS.rst new file mode 100644 index 00000000..9f76a75b --- /dev/null +++ b/pos_check_session_state/readme/CONTRIBUTORS.rst @@ -0,0 +1 @@ +* Sylvain LE GAL diff --git a/pos_check_session_state/readme/DESCRIPTION.rst b/pos_check_session_state/readme/DESCRIPTION.rst new file mode 100644 index 00000000..c0266ca5 --- /dev/null +++ b/pos_check_session_state/readme/DESCRIPTION.rst @@ -0,0 +1,16 @@ +**Context** + +In Point Of Sale module, the front-end works offline, so all datas are +loaded at the beginning. +At the end of the session, if user do not close the window, it will be +possible to create new pos order on a closed session, generating errors. + +**Functionality** + +* This module prevent the possility to create a pos order via the front + end PoS UI, when session is closed. +* The session state is checked every minute by default. If the state of the + session is not opened, a blocking pop up is displayed, and user has to + reload the current page. + +.. figure:: ../static/description/error_message.png diff --git a/pos_check_session_state/static/description/error_message.png b/pos_check_session_state/static/description/error_message.png new file mode 100644 index 0000000000000000000000000000000000000000..eeace3f96435594fe74324d7b1dbba1f68e96cac GIT binary patch literal 51373 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 literal 0 HcmV?d00001 diff --git a/pos_check_session_state/static/src/js/pos_check_session_state.js b/pos_check_session_state/static/src/js/pos_check_session_state.js new file mode 100644 index 00000000..2baa4065 --- /dev/null +++ b/pos_check_session_state/static/src/js/pos_check_session_state.js @@ -0,0 +1,79 @@ +/* +Copyright (C) 2015-Today GRAP (http://www.grap.coop) +@author: Sylvain LE GAL (https://twitter.com/legalsylvain) +License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). +*/ + +odoo.define('pos_check_session_state.pos_check_session_state', function (require){ + + "use strict"; + var PopupWidget = require('point_of_sale.popups'); + var gui = require('point_of_sale.gui'); + var chrome = require('point_of_sale.chrome'); + + var rpc = require('web.rpc'); + + /* + Overload build_widgets to add a check done every + check_session_state_frequency seconds, by a setInterval. + */ + chrome.Chrome.include({ + + build_widgets: function () { + var self = this; + var res = this._super.apply(this, arguments); + var frequency = self.pos.config.check_session_state_frequency * 1000; + + self.intervalIDCheckSessionState = setInterval(function() { + self._check_session_state(); + }, frequency); + return res; + }, + + _check_session_state: function() { + var self = this; + var params = { + model: 'pos.session', + method: 'search_read', + domain: [['id', '=', self.pos.pos_session.id]], + fields: ['state'], + }; + + rpc.query(params) + .then(function(sessions){ + if (sessions[0].state !== 'opened') { + // warn user if current session is not opened + self.gui.show_popup('error-closed-session', {session_state: sessions[0].state}); + clearInterval(self.intervalIDCheckSessionState); + } + }) + .fail(function(error, event){ + // Prevent error if server is unreachable + event.preventDefault(); + }); + } + }); + + /* + Define : New ErrorClosedSessionPopupWidget Widget. + This pop up will be shown if the current pos.session of the PoS is not + in an 'open' state; + The check will be done depending on a parameter on the PoS config + */ + var ErrorClosedSessionPopupWidget = PopupWidget.extend({ + template: 'ErrorClosedSessionPopupWidget', + + show: function(options){ + this._super(options); + this.gui.play_sound('error'); + }, + + }); + + gui.define_popup({name:'error-closed-session', widget: ErrorClosedSessionPopupWidget}); + + return { + ErrorClosedSessionPopupWidget: ErrorClosedSessionPopupWidget, + }; + +}); diff --git a/pos_check_session_state/static/src/xml/pos_check_session_state.xml b/pos_check_session_state/static/src/xml/pos_check_session_state.xml new file mode 100644 index 00000000..3285ce36 --- /dev/null +++ b/pos_check_session_state/static/src/xml/pos_check_session_state.xml @@ -0,0 +1,34 @@ + + + + + + + + + + + + diff --git a/pos_check_session_state/views/templates.xml b/pos_check_session_state/views/templates.xml new file mode 100644 index 00000000..b8ee86a7 --- /dev/null +++ b/pos_check_session_state/views/templates.xml @@ -0,0 +1,16 @@ + + + + + + + + diff --git a/pos_check_session_state/views/view_pos_config.xml b/pos_check_session_state/views/view_pos_config.xml new file mode 100644 index 00000000..f9277547 --- /dev/null +++ b/pos_check_session_state/views/view_pos_config.xml @@ -0,0 +1,22 @@ + + + + + + + pos.config + + + + + + + + + + +