Browse Source

Merge PR #455 into 12.0

Signed-off-by legalsylvain
pull/459/head
OCA-git-bot 4 years ago
parent
commit
d6124b1c0c
  1. 1
      pos_quick_logout/__init__.py
  2. 24
      pos_quick_logout/__manifest__.py
  3. 41
      pos_quick_logout/i18n/ca.po
  4. 42
      pos_quick_logout/i18n/es.po
  5. 42
      pos_quick_logout/i18n/fr.po
  6. 43
      pos_quick_logout/i18n/hr_HR.po
  7. 41
      pos_quick_logout/i18n/it.po
  8. 42
      pos_quick_logout/i18n/nl_NL.po
  9. 37
      pos_quick_logout/i18n/pos_quick_logout.pot
  10. 1
      pos_quick_logout/models/__init__.py
  11. 10
      pos_quick_logout/models/pos_config.py
  12. 2
      pos_quick_logout/readme/CONTRIBUTORS.rst
  13. 19
      pos_quick_logout/readme/DESCRIPTION.rst
  14. BIN
      pos_quick_logout/static/description/cashier_user_different.png
  15. BIN
      pos_quick_logout/static/description/cashier_user_identical.png
  16. BIN
      pos_quick_logout/static/description/icon.png
  17. 15
      pos_quick_logout/static/src/css/pos_quick_logout.css
  18. 69
      pos_quick_logout/static/src/js/pos_quick_logout.js
  19. 18
      pos_quick_logout/static/src/xml/pos_quick_logout.xml
  20. 21
      pos_quick_logout/views/assets.xml
  21. 26
      pos_quick_logout/views/pos_config_view.xml

1
pos_quick_logout/__init__.py

@ -0,0 +1 @@
from . import models

24
pos_quick_logout/__manifest__.py

@ -0,0 +1,24 @@
# Copyright (C) 2016-Today: La Louve (<http://www.lalouve.net/>)
# @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': '12.0.1.0.0',
'category': 'Point Of Sale',
'summary': 'Allow PoS user to logout quickly after user changed',
'license': 'AGPL-3',
'author': 'La Louve, Odoo Community Association (OCA)',
'website': 'http://www.lalouve.net',
'depends': [
'point_of_sale',
],
'data': [
'views/pos_config_view.xml',
'views/assets.xml',
],
'qweb': [
'static/src/xml/pos_quick_logout.xml',
],
'installable': True,
}

41
pos_quick_logout/i18n/ca.po

@ -0,0 +1,41 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * pos_quick_logout
#
# Translators:
# Marc Tormo i Bochaca <mtbochaca@gmail.com>, 2017
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 9.0c\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-03-28 05:50+0000\n"
"PO-Revision-Date: 2017-03-28 05:50+0000\n"
"Last-Translator: Marc Tormo i Bochaca <mtbochaca@gmail.com>, 2017\n"
"Language-Team: Catalan (https://www.transifex.com/oca/teams/23907/ca/)\n"
"Language: ca\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. module: pos_quick_logout
#. openerp-web
#: code:addons/pos_quick_logout/static/src/xml/pos_quick_logout.xml:12
#, python-format
msgid "Log Out"
msgstr "Sortida "
#. module: pos_quick_logout
#: model:ir.model.fields,field_description:pos_quick_logout.field_pos_config_logout_timeout
msgid "Logout Timeout"
msgstr ""
#. module: pos_quick_logout
#: model:ir.model.fields,help:pos_quick_logout.field_pos_config_logout_timeout
msgid "Time out for automatic logout for sessions in this POS"
msgstr ""
#. module: pos_quick_logout
#: model:ir.model,name:pos_quick_logout.model_pos_config
msgid "pos.config"
msgstr ""

42
pos_quick_logout/i18n/es.po

@ -0,0 +1,42 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * pos_quick_logout
#
# Translators:
# OCA Transbot <transbot@odoo-community.org>, 2018
# enjolras <yo@miguelrevilla.com>, 2018
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 10.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-03-01 02:01+0000\n"
"PO-Revision-Date: 2018-03-01 02:01+0000\n"
"Last-Translator: enjolras <yo@miguelrevilla.com>, 2018\n"
"Language-Team: Spanish (https://www.transifex.com/oca/teams/23907/es/)\n"
"Language: es\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. module: pos_quick_logout
#. openerp-web
#: code:addons/pos_quick_logout/static/src/xml/pos_quick_logout.xml:12
#, python-format
msgid "Log Out"
msgstr "Desconectar"
#. module: pos_quick_logout
#: model:ir.model.fields,field_description:pos_quick_logout.field_pos_config_logout_timeout
msgid "Logout Timeout"
msgstr "Tiempo de desconexión"
#. module: pos_quick_logout
#: model:ir.model.fields,help:pos_quick_logout.field_pos_config_logout_timeout
msgid "Time out for automatic logout for sessions in this POS"
msgstr "Tiempo para desconectar automáticamente la sesión de este TPV"
#. module: pos_quick_logout
#: model:ir.model,name:pos_quick_logout.model_pos_config
msgid "pos.config"
msgstr "Configuración del TPV"

42
pos_quick_logout/i18n/fr.po

@ -0,0 +1,42 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * pos_quick_logout
#
# Translators:
# OCA Transbot <transbot@odoo-community.org>, 2018
# Quentin THEURET <odoo@kerpeo.com>, 2018
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 10.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-03-01 02:01+0000\n"
"PO-Revision-Date: 2018-03-01 02:01+0000\n"
"Last-Translator: Quentin THEURET <odoo@kerpeo.com>, 2018\n"
"Language-Team: French (https://www.transifex.com/oca/teams/23907/fr/)\n"
"Language: fr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
#. module: pos_quick_logout
#. openerp-web
#: code:addons/pos_quick_logout/static/src/xml/pos_quick_logout.xml:12
#, python-format
msgid "Log Out"
msgstr "Déconnexion"
#. module: pos_quick_logout
#: model:ir.model.fields,field_description:pos_quick_logout.field_pos_config_logout_timeout
msgid "Logout Timeout"
msgstr "Durée limite pour la déconnexion"
#. module: pos_quick_logout
#: model:ir.model.fields,help:pos_quick_logout.field_pos_config_logout_timeout
msgid "Time out for automatic logout for sessions in this POS"
msgstr "Durée limite pour la déconnexion automatique des sessions dans ce PdV"
#. module: pos_quick_logout
#: model:ir.model,name:pos_quick_logout.model_pos_config
msgid "pos.config"
msgstr "pos.config"

43
pos_quick_logout/i18n/hr_HR.po

@ -0,0 +1,43 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * pos_quick_logout
#
# Translators:
# Bole <bole@dajmi5.com>, 2018
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 10.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-01-20 15:54+0000\n"
"PO-Revision-Date: 2018-01-20 15:54+0000\n"
"Last-Translator: Bole <bole@dajmi5.com>, 2018\n"
"Language-Team: Croatian (Croatia) (https://www.transifex.com/oca/teams/23907/"
"hr_HR/)\n"
"Language: hr_HR\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
#. module: pos_quick_logout
#. openerp-web
#: code:addons/pos_quick_logout/static/src/xml/pos_quick_logout.xml:12
#, python-format
msgid "Log Out"
msgstr ""
#. module: pos_quick_logout
#: model:ir.model.fields,field_description:pos_quick_logout.field_pos_config_logout_timeout
msgid "Logout Timeout"
msgstr ""
#. module: pos_quick_logout
#: model:ir.model.fields,help:pos_quick_logout.field_pos_config_logout_timeout
msgid "Time out for automatic logout for sessions in this POS"
msgstr ""
#. module: pos_quick_logout
#: model:ir.model,name:pos_quick_logout.model_pos_config
msgid "pos.config"
msgstr "pos.config"

41
pos_quick_logout/i18n/it.po

@ -0,0 +1,41 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * pos_quick_logout
#
# Translators:
# Francesco Fresta <franco.fresta@gmail.com>, 2018
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 10.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-03-01 02:01+0000\n"
"PO-Revision-Date: 2018-03-01 02:01+0000\n"
"Last-Translator: Francesco Fresta <franco.fresta@gmail.com>, 2018\n"
"Language-Team: Italian (https://www.transifex.com/oca/teams/23907/it/)\n"
"Language: it\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. module: pos_quick_logout
#. openerp-web
#: code:addons/pos_quick_logout/static/src/xml/pos_quick_logout.xml:12
#, python-format
msgid "Log Out"
msgstr "Esci"
#. module: pos_quick_logout
#: model:ir.model.fields,field_description:pos_quick_logout.field_pos_config_logout_timeout
msgid "Logout Timeout"
msgstr ""
#. module: pos_quick_logout
#: model:ir.model.fields,help:pos_quick_logout.field_pos_config_logout_timeout
msgid "Time out for automatic logout for sessions in this POS"
msgstr ""
#. module: pos_quick_logout
#: model:ir.model,name:pos_quick_logout.model_pos_config
msgid "pos.config"
msgstr "pos.config"

42
pos_quick_logout/i18n/nl_NL.po

@ -0,0 +1,42 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * pos_quick_logout
#
# Translators:
# Peter Hageman <hageman.p@gmail.com>, 2018
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 10.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-01-20 15:54+0000\n"
"PO-Revision-Date: 2018-01-20 15:54+0000\n"
"Last-Translator: Peter Hageman <hageman.p@gmail.com>, 2018\n"
"Language-Team: Dutch (Netherlands) (https://www.transifex.com/oca/"
"teams/23907/nl_NL/)\n"
"Language: nl_NL\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. module: pos_quick_logout
#. openerp-web
#: code:addons/pos_quick_logout/static/src/xml/pos_quick_logout.xml:12
#, python-format
msgid "Log Out"
msgstr ""
#. module: pos_quick_logout
#: model:ir.model.fields,field_description:pos_quick_logout.field_pos_config_logout_timeout
msgid "Logout Timeout"
msgstr ""
#. module: pos_quick_logout
#: model:ir.model.fields,help:pos_quick_logout.field_pos_config_logout_timeout
msgid "Time out for automatic logout for sessions in this POS"
msgstr ""
#. module: pos_quick_logout
#: model:ir.model,name:pos_quick_logout.model_pos_config
msgid "pos.config"
msgstr "pos.config"

37
pos_quick_logout/i18n/pos_quick_logout.pot

@ -0,0 +1,37 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * pos_quick_logout
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 10.0\n"
"Report-Msgid-Bugs-To: \n"
"Last-Translator: <>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: \n"
#. module: pos_quick_logout
#. openerp-web
#: code:addons/pos_quick_logout/static/src/xml/pos_quick_logout.xml:12
#, python-format
msgid "Log Out"
msgstr ""
#. module: pos_quick_logout
#: model:ir.model.fields,field_description:pos_quick_logout.field_pos_config_logout_timeout
msgid "Logout Timeout"
msgstr ""
#. module: pos_quick_logout
#: model:ir.model.fields,help:pos_quick_logout.field_pos_config_logout_timeout
msgid "Time out for automatic logout for sessions in this POS"
msgstr ""
#. module: pos_quick_logout
#: model:ir.model,name:pos_quick_logout.model_pos_config
msgid "pos.config"
msgstr ""

1
pos_quick_logout/models/__init__.py

@ -0,0 +1 @@
from . import pos_config

10
pos_quick_logout/models/pos_config.py

@ -0,0 +1,10 @@
from odoo import models, fields
class PosConfig(models.Model):
_inherit = 'pos.config'
logout_timeout = fields.Integer(
default=10, string='Logout Timeout',
help='Time out for automatic logout for sessions in this POS')

2
pos_quick_logout/readme/CONTRIBUTORS.rst

@ -0,0 +1,2 @@
* Sylvain LE GAL <https://twitter.com/legalsylvain>
* Druidoo <https://www.druidoo.io>

19
pos_quick_logout/readme/DESCRIPTION.rst

@ -0,0 +1,19 @@
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, ...
* By default, the header is unchanged
.. image:: ../static/description/cashier_user_identical.png
* If the cashier changed, and is not the user logged in Odoo, the extra button appears
.. image:: ../static/description/cashier_user_different.png

BIN
pos_quick_logout/static/description/cashier_user_different.png

After

Width: 390  |  Height: 39  |  Size: 6.1 KiB

BIN
pos_quick_logout/static/description/cashier_user_identical.png

After

Width: 392  |  Height: 39  |  Size: 5.6 KiB

BIN
pos_quick_logout/static/description/icon.png

After

Width: 64  |  Height: 64  |  Size: 4.0 KiB

15
pos_quick_logout/static/src/css/pos_quick_logout.css

@ -0,0 +1,15 @@
/*
Copyright (C) 2016-Today: La Louve (<http://www.lalouve.net/>)
@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;
}

69
pos_quick_logout/static/src/js/pos_quick_logout.js

@ -0,0 +1,69 @@
/*
Copyright (C) 2016-Today: La Louve (<http://www.lalouve.net/>)
Copyright (C) 2019-Today: Druidoo (<https://www.druidoo.io>)
@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');
var core = require('web.core');
/* ********************************************************
chrome.Chrome
******************************************************** */
chrome.Chrome.include({
start: function() {
var self = this;
this._super();
this.timer = false;
this.idletimeout();
},
idletimeout: function() {
var self = this;
$(document).bind('mousemove keypress mousedown click scroll', function() {
self.resetTimer();
});
},
logout: function() {
var self = this;
if (self.widget.username) {
self.pos.set_cashier(self.pos.user);
self.widget.username.renderElement();
}
},
resetTimer: function() {
var self = this;
clearTimeout(this.timer);
if (self.pos.config && self.pos.config.logout_timeout) {
this.timer = setTimeout(function(){
self.logout();
}, self.pos.config.logout_timeout * 1000);
}
},
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').hide();
} else {
$('#pos-quick-logout').show();
}
}
});
});

18
pos_quick_logout/static/src/xml/pos_quick_logout.xml

@ -0,0 +1,18 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright (C) 2016-Today: La Louve (<http://www.lalouve.net/>)
@author: Sylvain LE GAL (https://twitter.com/legalsylvain)
License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
-->
<templates id="template" xml:space="preserve">
<t t-extend="Chrome">
<t t-jquery=".placeholder-UsernameWidget" t-operation="after">
<span class="username" id="pos-quick-logout">
Log Out
</span>
</t>
</t>
</templates>

21
pos_quick_logout/views/assets.xml

@ -0,0 +1,21 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright (C) 2016-Today: La Louve (<http://www.lalouve.net/>)
@author: Sylvain LE GAL (https://twitter.com/legalsylvain)
License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
-->
<odoo>
<template id="assets_frontend" inherit_id="point_of_sale.assets">
<xpath expr="." position="inside">
<script type="text/javascript"
src="/pos_quick_logout/static/src/js/pos_quick_logout.js"/>
</xpath>
<xpath expr="//link[@id='pos-stylesheet']" position="after">
<link rel="stylesheet"
href="/pos_quick_logout/static/src/css/pos_quick_logout.css" />
</xpath>
</template>
</odoo>

26
pos_quick_logout/views/pos_config_view.xml

@ -0,0 +1,26 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<record id="view_pos_config_view_form_quick_logout" model="ir.ui.view">
<field name="name">pos.config.form.quick.logout</field>
<field name="model">pos.config</field>
<field name="inherit_id" ref="point_of_sale.pos_config_view_form"/>
<field name="priority" eval="30"/>
<field name="arch" type="xml">
<xpath expr="//div[hasclass('o_settings_container')][2]"
position="inside">
<div class="col-12 col-lg-6 o_setting_box">
<div class="o_setting_right_pane">
<span class="o_form_label">Logout Timeout</span>
<div class="content-group mt16">
<field name="logout_timeout" colspan="4"
nolabel="1"/>
</div>
</div>
</div>
</xpath>
</field>
</record>
</odoo>
Loading…
Cancel
Save