OCA-git-bot
5 years ago
21 changed files with 494 additions and 0 deletions
-
1pos_quick_logout/__init__.py
-
24pos_quick_logout/__manifest__.py
-
41pos_quick_logout/i18n/ca.po
-
42pos_quick_logout/i18n/es.po
-
42pos_quick_logout/i18n/fr.po
-
43pos_quick_logout/i18n/hr_HR.po
-
41pos_quick_logout/i18n/it.po
-
42pos_quick_logout/i18n/nl_NL.po
-
37pos_quick_logout/i18n/pos_quick_logout.pot
-
1pos_quick_logout/models/__init__.py
-
10pos_quick_logout/models/pos_config.py
-
2pos_quick_logout/readme/CONTRIBUTORS.rst
-
19pos_quick_logout/readme/DESCRIPTION.rst
-
BINpos_quick_logout/static/description/cashier_user_different.png
-
BINpos_quick_logout/static/description/cashier_user_identical.png
-
BINpos_quick_logout/static/description/icon.png
-
15pos_quick_logout/static/src/css/pos_quick_logout.css
-
69pos_quick_logout/static/src/js/pos_quick_logout.js
-
18pos_quick_logout/static/src/xml/pos_quick_logout.xml
-
21pos_quick_logout/views/assets.xml
-
26pos_quick_logout/views/pos_config_view.xml
@ -0,0 +1 @@ |
|||
from . import models |
@ -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, |
|||
} |
@ -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 "" |
@ -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" |
@ -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" |
@ -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" |
@ -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" |
@ -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" |
@ -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 "" |
|||
|
@ -0,0 +1 @@ |
|||
from . import pos_config |
@ -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') |
@ -0,0 +1,2 @@ |
|||
* Sylvain LE GAL <https://twitter.com/legalsylvain> |
|||
* Druidoo <https://www.druidoo.io> |
@ -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 |
After Width: 390 | Height: 39 | Size: 6.1 KiB |
After Width: 392 | Height: 39 | Size: 5.6 KiB |
After Width: 64 | Height: 64 | Size: 4.0 KiB |
@ -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; |
|||
} |
@ -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(); |
|||
} |
|||
} |
|||
}); |
|||
|
|||
}); |
@ -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> |
@ -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> |
@ -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> |
Write
Preview
Loading…
Cancel
Save
Reference in new issue