From d183e079139c28fa69fb7e2d58bd455159a62480 Mon Sep 17 00:00:00 2001 From: Sylvain LE GAL Date: Wed, 2 Nov 2016 17:22:39 +0100 Subject: [PATCH] [ADD] new module pos_quick_logout (#116) --- pos_quick_logout/README.rst | 68 ++++++++++++++++++ pos_quick_logout/__init__.py | 1 + pos_quick_logout/__openerp__.py | 24 +++++++ pos_quick_logout/i18n/fr.po | 15 ++++ .../description/cashier_user_different.png | Bin 0 -> 6270 bytes .../description/cashier_user_identical.png | Bin 0 -> 5700 bytes pos_quick_logout/static/description/icon.png | Bin 0 -> 4140 bytes .../static/src/css/pos_quick_logout.css | 15 ++++ .../static/src/js/pos_quick_logout.js | 40 +++++++++++ .../static/src/xml/pos_quick_logout.xml | 18 +++++ pos_quick_logout/static/src/xml/templates.xml | 17 +++++ 11 files changed, 198 insertions(+) create mode 100644 pos_quick_logout/README.rst create mode 100644 pos_quick_logout/__init__.py create mode 100644 pos_quick_logout/__openerp__.py create mode 100644 pos_quick_logout/i18n/fr.po create mode 100644 pos_quick_logout/static/description/cashier_user_different.png create mode 100644 pos_quick_logout/static/description/cashier_user_identical.png create mode 100644 pos_quick_logout/static/description/icon.png create mode 100644 pos_quick_logout/static/src/css/pos_quick_logout.css create mode 100644 pos_quick_logout/static/src/js/pos_quick_logout.js create mode 100644 pos_quick_logout/static/src/xml/pos_quick_logout.xml create mode 100644 pos_quick_logout/static/src/xml/templates.xml diff --git a/pos_quick_logout/README.rst b/pos_quick_logout/README.rst new file mode 100644 index 00000000..9432e1bf --- /dev/null +++ b/pos_quick_logout/README.rst @@ -0,0 +1,68 @@ +.. image:: https://img.shields.io/badge/licence-AGPL--3-blue.svg + :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html + :alt: License: AGPL-3 + +================== +PoS - Quick Logout +================== + +This module was written to extend the functionality of Odoo Point Of Sale about +changing of cashier. + +This module add a simple button 'Log Out' available in Point Of Sale Front End +UI. This button is available when the cashier is not the initial user logged in +Odoo. It allows to log out quickly, wihout selecting again the user in the +list. This module is useful for users that use regularly the change of cashier, +especialy with 'pos_access_right', when users doesn't have the right to do some +actions like set discount, change unit price, ... + +Implemented Features +-------------------- + +* By default, the header is unchanged + +.. image:: /pos_quick_logout/static/description/cashier_user_identical.png + + +* If the cashier changed, and is not the user logged in Odoo, the extra button +appears + +.. image:: /pos_quick_logout/static/description/cashier_user_different.png + +Usage +===== + +.. image:: https://odoo-community.org/website/image/ir.attachment/5784_f2813bd/datas + :alt: Try me on Runbot + :target: https://runbot.odoo-community.org/runbot/184/9.0 + +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. + +Credits +======= + +Contributors +------------ + +* Sylvain LE GAL + +Maintainer +---------- + +.. image:: https://odoo-community.org/logo.png + :alt: Odoo Community Association + :target: https://odoo-community.org + +This module is maintained by the OCA. + +OCA, or the Odoo Community Association, is a nonprofit organization whose +mission is to support the collaborative development of Odoo features and +promote its widespread use. + +To contribute to this module, please visit https://odoo-community.org. diff --git a/pos_quick_logout/__init__.py b/pos_quick_logout/__init__.py new file mode 100644 index 00000000..40a96afc --- /dev/null +++ b/pos_quick_logout/__init__.py @@ -0,0 +1 @@ +# -*- coding: utf-8 -*- diff --git a/pos_quick_logout/__openerp__.py b/pos_quick_logout/__openerp__.py new file mode 100644 index 00000000..9cf0d4d1 --- /dev/null +++ b/pos_quick_logout/__openerp__.py @@ -0,0 +1,24 @@ +# -*- coding: utf-8 -*- +# Copyright (C) 2016-Today: La Louve () +# @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 - Quick Logout', + 'version': '9.0.1.0.0', + 'category': 'Point Of Sale', + 'summary': 'Allow PoS user to logout quickly after user changed', + 'author': 'La Louve, Odoo Community Association (OCA)', + 'website': 'http://www.lalouve.net', + 'depends': [ + 'point_of_sale', + ], + 'data': [ + 'static/src/xml/templates.xml', + ], + 'qweb': [ + 'static/src/xml/pos_quick_logout.xml', + ], + 'installable': True, +} diff --git a/pos_quick_logout/i18n/fr.po b/pos_quick_logout/i18n/fr.po new file mode 100644 index 00000000..5a4dacd6 --- /dev/null +++ b/pos_quick_logout/i18n/fr.po @@ -0,0 +1,15 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 9.0c\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-04-03 23:52+0000\n" +"PO-Revision-Date: 2016-04-03 23:52+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" diff --git a/pos_quick_logout/static/description/cashier_user_different.png b/pos_quick_logout/static/description/cashier_user_different.png new file mode 100644 index 0000000000000000000000000000000000000000..5c95d2745a7ea9bad10fac66b5cd4b7492f72273 GIT binary patch literal 6270 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 literal 0 HcmV?d00001 diff --git a/pos_quick_logout/static/description/cashier_user_identical.png b/pos_quick_logout/static/description/cashier_user_identical.png new file mode 100644 index 0000000000000000000000000000000000000000..49b642aeba6a046c0f0e3e2a1d63e15840e3faf1 GIT binary patch literal 5700 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 literal 0 HcmV?d00001 diff --git a/pos_quick_logout/static/description/icon.png b/pos_quick_logout/static/description/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..e8f6548bc4e442cad20bb4adbdead68e0e98d6f1 GIT binary patch literal 4140 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 literal 0 HcmV?d00001 diff --git a/pos_quick_logout/static/src/css/pos_quick_logout.css b/pos_quick_logout/static/src/css/pos_quick_logout.css new file mode 100644 index 00000000..fcbb4d84 --- /dev/null +++ b/pos_quick_logout/static/src/css/pos_quick_logout.css @@ -0,0 +1,15 @@ +/* + Copyright (C) 2016-Today: La Louve () + @author: Sylvain LE GAL (https://twitter.com/legalsylvain) + License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). +*/ + +.pos .pos-branding .pos-logout{ + float:right; + color:#DDD; + font-size:16px; + margin-right:32px; + line-height: 48px; + font-style:italic; + cursor: pointer; +} diff --git a/pos_quick_logout/static/src/js/pos_quick_logout.js b/pos_quick_logout/static/src/js/pos_quick_logout.js new file mode 100644 index 00000000..43423686 --- /dev/null +++ b/pos_quick_logout/static/src/js/pos_quick_logout.js @@ -0,0 +1,40 @@ +/* + Copyright (C) 2016-Today: La Louve () + @author: Sylvain LE GAL (https://twitter.com/legalsylvain) + License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). +*/ + +odoo.define('pos_quick_logout.pos_quick_logout', function (require) { + "use strict"; + + var chrome = require('point_of_sale.chrome'); + +/* ******************************************************** +chrome.Chrome +******************************************************** */ + chrome.Chrome.include({ + renderElement: function(){ + this._super(); + var self = this; + this.$('#pos-quick-logout').click(function(){ + self.pos.set_cashier(self.pos.user); + self.widget.username.renderElement(); + }); + }, + }); + +/* ******************************************************** +chrome.Chrome +******************************************************** */ + chrome.UsernameWidget.include({ + renderElement: function(){ + this._super(); + if (this.pos.user.id != this.pos.get_cashier().id){ + $('#pos-quick-logout').show(); + }else{ + $('#pos-quick-logout').hide(); + } + }, + }); + +}); diff --git a/pos_quick_logout/static/src/xml/pos_quick_logout.xml b/pos_quick_logout/static/src/xml/pos_quick_logout.xml new file mode 100644 index 00000000..1155ad2f --- /dev/null +++ b/pos_quick_logout/static/src/xml/pos_quick_logout.xml @@ -0,0 +1,18 @@ + + + + + + + + + Log Out + + + + + diff --git a/pos_quick_logout/static/src/xml/templates.xml b/pos_quick_logout/static/src/xml/templates.xml new file mode 100644 index 00000000..8f854d22 --- /dev/null +++ b/pos_quick_logout/static/src/xml/templates.xml @@ -0,0 +1,17 @@ + + + + +