Initial commit: OCA Technical packages (595 packages)

This commit is contained in:
Ernad Husremovic 2025-08-29 15:43:03 +02:00
commit 2cc02aac6e
24950 changed files with 2318079 additions and 0 deletions

View file

@ -0,0 +1,111 @@
=======================
Point of Sale - timeout
=======================
..
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! source digest: sha256:8811b0ec90eb14ea58960b66f58677d60d928f0a4febf707376eaabf81e38ead
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
.. |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-OCA%2Fpos-lightgray.png?logo=github
:target: https://github.com/OCA/pos/tree/16.0/pos_timeout
:alt: OCA/pos
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
:target: https://translation.odoo-community.org/projects/pos-16-0/pos-16-0-pos_timeout
:alt: Translate me on Weblate
.. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png
:target: https://runboat.odoo-community.org/builds?repo=OCA/pos&target_branch=16.0
:alt: Try me on Runboat
|badge1| |badge2| |badge3| |badge4| |badge5|
This module extends the functionality of Point of Sale module.
By default, in Odoo a timeout is set to 30 seconds for the creation of
a PoS order. This threshold is usually sufficient, but in some cases it is not,
mainly if the connection is bad, or if some custom modules add extra
long treatments.
This module allows to change this default value.
If the call contains more than one order (after a long disconnection period
for example, or if the previous call raised the timeout) the effective timeout
value applied will be equal to the defined timeout value multiplied by the
number of orders.
**Table of contents**
.. contents::
:local:
Configuration
=============
To configure this module, you need to:
* Go to 'Point Of Sale' / 'Configuration' / 'Point of Sale' and edit your
PoS Config, setting a timeout
.. figure:: https://raw.githubusercontent.com/OCA/pos/16.0/pos_timeout/static/description/pos_config.png
:alt: PoS Configuration
:width: 800 px
If not set, the default Odoo timeout will be used. (7.5 seconds in V10.0)
Bug Tracker
===========
Bugs are tracked on `GitHub Issues <https://github.com/OCA/pos/issues>`_.
In case of trouble, please check there if your issue has already been reported.
If you spotted it first, help us to smash it by providing a detailed and welcomed
`feedback <https://github.com/OCA/pos/issues/new?body=module:%20pos_timeout%0Aversion:%2016.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.
Do not contact contributors directly about support or help with technical issues.
Credits
=======
Authors
~~~~~~~
* GRAP
Contributors
~~~~~~~~~~~~
* Sylvain LE GAL (https://twitter.com/legalsylvain)
* Nils Hamerlinck (Trobz)
* Dhara Solanki <dhara.solanki@initos.com>
Other credits
~~~~~~~~~~~~~
The development of this module has been financially supported by:
* GRAP, Groupement Régional Alimentaire de Proximité (http://www.grap.coop)
Maintainers
~~~~~~~~~~~
This module is maintained by the OCA.
.. image:: https://odoo-community.org/logo.png
:alt: Odoo Community Association
:target: https://odoo-community.org
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.
This module is part of the `OCA/pos <https://github.com/OCA/pos/tree/16.0/pos_timeout>`_ project on GitHub.
You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.

View file

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

View file

@ -0,0 +1,25 @@
# Copyright (C) 2017 - Today: GRAP (http://www.grap.coop)
# Copyright (C) 2017 - Today: Akretion (http://www.akretion.com)
# @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 - timeout",
"summary": "Set the timeout of the point of sale",
"version": "16.0.1.0.0",
"category": "Sales/Point Of Sale",
"website": "https://github.com/OCA/pos",
"author": "GRAP, Odoo Community Association (OCA)",
"license": "AGPL-3",
"depends": ["point_of_sale"],
"images": ["static/description/pos_config.png"],
"data": [
"views/res_config_settings.xml",
],
"assets": {
"point_of_sale.assets": [
"pos_timeout/static/src/js/models.js",
],
},
"installable": True,
}

View file

@ -0,0 +1,46 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * pos_timeout
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 16.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_timeout
#: model:ir.model,name:pos_timeout.model_res_config_settings
msgid "Config Settings"
msgstr "Postavke"
#. module: pos_timeout
#: model:ir.model.fields,help:pos_timeout.field_pos_config__pos_order_timeout
#: model:ir.model.fields,help:pos_timeout.field_res_config_settings__pos_order_timeout
msgid ""
"Defines the value of the client-side timeout for the creation of PoS Order(s) from the POS UI.\n"
" The value is expressed in seconds, for a single order.\n"
" If not defined, the default Odoo value will be used: 30 seconds.\n"
" If the call contains more than one order (after a long disconnection period for example, or if the previous call raised the timeout),\n"
" the effective timeout value applied will be equal to the defined timeout value multiplied by the number of orders.\n"
msgstr ""
#. module: pos_timeout
#: model:ir.model.fields,field_description:pos_timeout.field_pos_config__pos_order_timeout
#: model:ir.model.fields,field_description:pos_timeout.field_res_config_settings__pos_order_timeout
msgid "PoS Order(s) Timeout"
msgstr "PoS Narudžba(s) Timeout"
#. module: pos_timeout
#: model:ir.model,name:pos_timeout.model_pos_config
msgid "Point of Sale Configuration"
msgstr "Postavke prodajnog mjesta"
#. module: pos_timeout
#: model_terms:ir.ui.view,arch_db:pos_timeout.res_config_settings_view_form
msgid "client-side timeout for the creation of PoS Order(s) from the POS UI"
msgstr "client-side timeout for the creation of PoS Narudžba(s) from the POS UI"

View file

@ -0,0 +1,67 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * pos_timeout
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 13.0\n"
"Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: 2021-03-26 19:46+0000\n"
"Last-Translator: eduardgm <eduard.garcia@qubiq.es>\n"
"Language-Team: none\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"
"X-Generator: Weblate 4.3.2\n"
#. module: pos_timeout
#: model:ir.model,name:pos_timeout.model_res_config_settings
msgid "Config Settings"
msgstr ""
#. module: pos_timeout
#: model:ir.model.fields,help:pos_timeout.field_pos_config__pos_order_timeout
#: model:ir.model.fields,help:pos_timeout.field_res_config_settings__pos_order_timeout
msgid ""
"Defines the value of the client-side timeout for the creation of PoS "
"Order(s) from the POS UI.\n"
" The value is expressed in seconds, for a single order.\n"
" If not defined, the default Odoo value will be used: 30 seconds.\n"
" If the call contains more than one order (after a long disconnection period "
"for example, or if the previous call raised the timeout),\n"
" the effective timeout value applied will be equal to the defined timeout "
"value multiplied by the number of orders.\n"
msgstr ""
"Defineix el valor del temps d'espera del costat del client per a la creació "
"de comandes de Post des de la interfície d'usuari de POS.\n"
"El valor s'expressa en segons, per a un solo demanat.\n"
"Si no es defineix, s'utilitzarà el valor predeterminat d'Odoo: 30 segons.\n"
"Si la crida conté més d'una ordre (després d'un llarg període de "
"desconnexió, per exemple, o si la crida anterior va generar el temps "
"d'espera),\n"
"el valor de temps d'espera efectiu aplicat serà igual al valor de temps "
"d'espera definit multiplicat pel nombre de comandes.\n"
#. module: pos_timeout
#: model:ir.model.fields,field_description:pos_timeout.field_pos_config__pos_order_timeout
#: model:ir.model.fields,field_description:pos_timeout.field_res_config_settings__pos_order_timeout
msgid "PoS Order(s) Timeout"
msgstr "Fi del Temps de les Comandes del TPV"
#. module: pos_timeout
#: model:ir.model,name:pos_timeout.model_pos_config
msgid "Point of Sale Configuration"
msgstr "Configuració del TPV"
#. module: pos_timeout
#: model_terms:ir.ui.view,arch_db:pos_timeout.res_config_settings_view_form
msgid "client-side timeout for the creation of PoS Order(s) from the POS UI"
msgstr ""
#~ msgid "<span class=\"o_form_label\">Timeout</span>"
#~ msgstr "<span class=\"o_form_label\">Fi de temps</span>"
#~ msgid "Technical settings"
#~ msgstr "Ajustos tècnics"

View file

@ -0,0 +1,74 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * pos_timeout
#
# Translators:
# 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: 2021-03-26 19:46+0000\n"
"Last-Translator: eduardgm <eduard.garcia@qubiq.es>\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"
"X-Generator: Weblate 4.3.2\n"
#. module: pos_timeout
#: model:ir.model,name:pos_timeout.model_res_config_settings
msgid "Config Settings"
msgstr ""
#. module: pos_timeout
#: model:ir.model.fields,help:pos_timeout.field_pos_config__pos_order_timeout
#: model:ir.model.fields,help:pos_timeout.field_res_config_settings__pos_order_timeout
msgid ""
"Defines the value of the client-side timeout for the creation of PoS "
"Order(s) from the POS UI.\n"
" The value is expressed in seconds, for a single order.\n"
" If not defined, the default Odoo value will be used: 30 seconds.\n"
" If the call contains more than one order (after a long disconnection period "
"for example, or if the previous call raised the timeout),\n"
" the effective timeout value applied will be equal to the defined timeout "
"value multiplied by the number of orders.\n"
msgstr ""
"Define el valor del tiempo de espera del lado del cliente para la creación "
"de pedidos de PoS desde la interfaz de usuario de POS.\n"
" El valor se expresa en segundos, para un solo pedido.\n"
" Si no se define, se utilizará el valor predeterminado de Odoo: 30 "
"segundos.\n"
" Si la llamada contiene más de una orden (después de un largo período de "
"desconexión, por ejemplo, o si la llamada anterior generó el tiempo de "
"espera),\n"
" el valor de tiempo de espera efectivo aplicado será igual al valor de "
"tiempo de espera definido multiplicado por el número de pedidos.\n"
#. module: pos_timeout
#: model:ir.model.fields,field_description:pos_timeout.field_pos_config__pos_order_timeout
#: model:ir.model.fields,field_description:pos_timeout.field_res_config_settings__pos_order_timeout
msgid "PoS Order(s) Timeout"
msgstr "Tiempo de espera de pedidos de PoS"
#. module: pos_timeout
#: model:ir.model,name:pos_timeout.model_pos_config
msgid "Point of Sale Configuration"
msgstr "Configuración TPV"
#. module: pos_timeout
#: model_terms:ir.ui.view,arch_db:pos_timeout.res_config_settings_view_form
msgid "client-side timeout for the creation of PoS Order(s) from the POS UI"
msgstr ""
#~ msgid "<span class=\"o_form_label\">Timeout</span>"
#~ msgstr "<span class=\"o_form_label\">Fin del tiempo</span>"
#~ msgid "Technical settings"
#~ msgstr "Ajustes técnicos"
#~ msgid "pos.config"
#~ msgstr "pos.config"

View file

@ -0,0 +1,67 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * pos_timeout
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 10.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-01-20 00:43+0000\n"
"PO-Revision-Date: 2018-01-20 00:43+0000\n"
"Last-Translator: <>\n"
"Language-Team: \n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: \n"
#. module: pos_timeout
#: model:ir.model,name:pos_timeout.model_res_config_settings
msgid "Config Settings"
msgstr ""
#. module: pos_timeout
#: model:ir.model.fields,help:pos_timeout.field_pos_config__pos_order_timeout
#: model:ir.model.fields,help:pos_timeout.field_res_config_settings__pos_order_timeout
msgid ""
"Defines the value of the client-side timeout for the creation of PoS "
"Order(s) from the POS UI.\n"
" The value is expressed in seconds, for a single order.\n"
" If not defined, the default Odoo value will be used: 30 seconds.\n"
" If the call contains more than one order (after a long disconnection period "
"for example, or if the previous call raised the timeout),\n"
" the effective timeout value applied will be equal to the defined timeout "
"value multiplied by the number of orders.\n"
msgstr ""
#. module: pos_timeout
#: model:ir.model.fields,field_description:pos_timeout.field_pos_config__pos_order_timeout
#: model:ir.model.fields,field_description:pos_timeout.field_res_config_settings__pos_order_timeout
#, fuzzy
msgid "PoS Order(s) Timeout"
msgstr "Timeout des commandes"
#. module: pos_timeout
#: model:ir.model,name:pos_timeout.model_pos_config
msgid "Point of Sale Configuration"
msgstr ""
#. module: pos_timeout
#: model_terms:ir.ui.view,arch_db:pos_timeout.res_config_settings_view_form
msgid "client-side timeout for the creation of PoS Order(s) from the POS UI"
msgstr ""
#~ msgid "pos.config"
#~ msgstr "pos.config"
#~ msgid ""
#~ "Define the timeout for the creation of PoS Order in the Front Office UI.\n"
#~ " The value is expressed in seconds.\n"
#~ " If not defined, the default Odoo value will be used (30 seconds)."
#~ msgstr ""
#~ "Définit le timeout pour la création des commandes de vente dans la partie "
#~ "front office du point de vente.\n"
#~ " La valeur est exprimée en secondes.\n"
#~ " Si elle n'est pas définie, la valeur par défaut de Odoo sera utilisée. "
#~ "(30 secondes)."

View file

@ -0,0 +1,59 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * pos_timeout
#
# 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-03-01 02:01+0000\n"
"PO-Revision-Date: 2018-03-01 02:01+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_timeout
#: model:ir.model,name:pos_timeout.model_res_config_settings
msgid "Config Settings"
msgstr ""
#. module: pos_timeout
#: model:ir.model.fields,help:pos_timeout.field_pos_config__pos_order_timeout
#: model:ir.model.fields,help:pos_timeout.field_res_config_settings__pos_order_timeout
msgid ""
"Defines the value of the client-side timeout for the creation of PoS "
"Order(s) from the POS UI.\n"
" The value is expressed in seconds, for a single order.\n"
" If not defined, the default Odoo value will be used: 30 seconds.\n"
" If the call contains more than one order (after a long disconnection period "
"for example, or if the previous call raised the timeout),\n"
" the effective timeout value applied will be equal to the defined timeout "
"value multiplied by the number of orders.\n"
msgstr ""
#. module: pos_timeout
#: model:ir.model.fields,field_description:pos_timeout.field_pos_config__pos_order_timeout
#: model:ir.model.fields,field_description:pos_timeout.field_res_config_settings__pos_order_timeout
msgid "PoS Order(s) Timeout"
msgstr ""
#. module: pos_timeout
#: model:ir.model,name:pos_timeout.model_pos_config
msgid "Point of Sale Configuration"
msgstr ""
#. module: pos_timeout
#: model_terms:ir.ui.view,arch_db:pos_timeout.res_config_settings_view_form
msgid "client-side timeout for the creation of PoS Order(s) from the POS UI"
msgstr ""
#~ msgid "pos.config"
#~ msgstr "pos.config"

View file

@ -0,0 +1,81 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * pos_timeout
#
# 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: 2024-07-08 08:59+0000\n"
"Last-Translator: mymage <stefano.consolaro@mymage.it>\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"
"X-Generator: Weblate 5.6.2\n"
#. module: pos_timeout
#: model:ir.model,name:pos_timeout.model_res_config_settings
msgid "Config Settings"
msgstr "Impostazioni configurazione"
#. module: pos_timeout
#: model:ir.model.fields,help:pos_timeout.field_pos_config__pos_order_timeout
#: model:ir.model.fields,help:pos_timeout.field_res_config_settings__pos_order_timeout
msgid ""
"Defines the value of the client-side timeout for the creation of PoS "
"Order(s) from the POS UI.\n"
" The value is expressed in seconds, for a single order.\n"
" If not defined, the default Odoo value will be used: 30 seconds.\n"
" If the call contains more than one order (after a long disconnection period "
"for example, or if the previous call raised the timeout),\n"
" the effective timeout value applied will be equal to the defined timeout "
"value multiplied by the number of orders.\n"
msgstr ""
"Definisce il valore del timeout lato cliente per la creazione di ordine(i) "
"PoS da POS UI.\n"
" Il valore è espresso in secondi, per un singolo ordine.\n"
" Se non definito, verrà usato il predefinito Odoo: 30 secondi.\n"
" Se la chiamata contiene più di un ordine (ad esempio dopo un lungo periodo "
"di disconnessione o se la precedente chiamata ha raggiunto il timeout),\n"
" l'effettivo valore del timeout applicato sarà uguale al valore timeout "
"definito moltiplicato per il numero di ordini.\n"
#. module: pos_timeout
#: model:ir.model.fields,field_description:pos_timeout.field_pos_config__pos_order_timeout
#: model:ir.model.fields,field_description:pos_timeout.field_res_config_settings__pos_order_timeout
msgid "PoS Order(s) Timeout"
msgstr "Timeout Ordini Punto Vendita"
#. module: pos_timeout
#: model:ir.model,name:pos_timeout.model_pos_config
msgid "Point of Sale Configuration"
msgstr "Configurazione punto vendita"
#. module: pos_timeout
#: model_terms:ir.ui.view,arch_db:pos_timeout.res_config_settings_view_form
msgid "client-side timeout for the creation of PoS Order(s) from the POS UI"
msgstr "timeout lato client per la creazione di ordini POS dalla UI POS"
#~ msgid "<span class=\"o_form_label\">Timeout</span>"
#~ msgstr "<span class=\"o_form_label\">Timeout</span>"
#~ msgid "Display Name"
#~ msgstr "Nome visualizzato"
#~ msgid "ID"
#~ msgstr "ID"
#~ msgid "Last Modified on"
#~ msgstr "Ultima modifica il"
#~ msgid "Technical settings"
#~ msgstr "Impostazioni tecniche"
#~ msgid "pos.config"
#~ msgstr "pos.config"

View file

@ -0,0 +1,58 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * pos_timeout
#
# 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-03-01 02:01+0000\n"
"PO-Revision-Date: 2018-03-01 02:01+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_timeout
#: model:ir.model,name:pos_timeout.model_res_config_settings
msgid "Config Settings"
msgstr ""
#. module: pos_timeout
#: model:ir.model.fields,help:pos_timeout.field_pos_config__pos_order_timeout
#: model:ir.model.fields,help:pos_timeout.field_res_config_settings__pos_order_timeout
msgid ""
"Defines the value of the client-side timeout for the creation of PoS "
"Order(s) from the POS UI.\n"
" The value is expressed in seconds, for a single order.\n"
" If not defined, the default Odoo value will be used: 30 seconds.\n"
" If the call contains more than one order (after a long disconnection period "
"for example, or if the previous call raised the timeout),\n"
" the effective timeout value applied will be equal to the defined timeout "
"value multiplied by the number of orders.\n"
msgstr ""
#. module: pos_timeout
#: model:ir.model.fields,field_description:pos_timeout.field_pos_config__pos_order_timeout
#: model:ir.model.fields,field_description:pos_timeout.field_res_config_settings__pos_order_timeout
msgid "PoS Order(s) Timeout"
msgstr ""
#. module: pos_timeout
#: model:ir.model,name:pos_timeout.model_pos_config
msgid "Point of Sale Configuration"
msgstr ""
#. module: pos_timeout
#: model_terms:ir.ui.view,arch_db:pos_timeout.res_config_settings_view_form
msgid "client-side timeout for the creation of PoS Order(s) from the POS UI"
msgstr ""
#~ msgid "pos.config"
#~ msgstr "pos.config"

View file

@ -0,0 +1,46 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * pos_timeout
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 16.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_timeout
#: model:ir.model,name:pos_timeout.model_res_config_settings
msgid "Config Settings"
msgstr ""
#. module: pos_timeout
#: model:ir.model.fields,help:pos_timeout.field_pos_config__pos_order_timeout
#: model:ir.model.fields,help:pos_timeout.field_res_config_settings__pos_order_timeout
msgid ""
"Defines the value of the client-side timeout for the creation of PoS Order(s) from the POS UI.\n"
" The value is expressed in seconds, for a single order.\n"
" If not defined, the default Odoo value will be used: 30 seconds.\n"
" If the call contains more than one order (after a long disconnection period for example, or if the previous call raised the timeout),\n"
" the effective timeout value applied will be equal to the defined timeout value multiplied by the number of orders.\n"
msgstr ""
#. module: pos_timeout
#: model:ir.model.fields,field_description:pos_timeout.field_pos_config__pos_order_timeout
#: model:ir.model.fields,field_description:pos_timeout.field_res_config_settings__pos_order_timeout
msgid "PoS Order(s) Timeout"
msgstr ""
#. module: pos_timeout
#: model:ir.model,name:pos_timeout.model_pos_config
msgid "Point of Sale Configuration"
msgstr ""
#. module: pos_timeout
#: model_terms:ir.ui.view,arch_db:pos_timeout.res_config_settings_view_form
msgid "client-side timeout for the creation of PoS Order(s) from the POS UI"
msgstr ""

View file

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

View file

@ -0,0 +1,23 @@
# 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 odoo import fields, models
class PosConfig(models.Model):
_inherit = "pos.config"
pos_order_timeout = fields.Integer(
string="PoS Order(s) Timeout",
help="Defines the value of the"
" client-side timeout for the creation of PoS Order(s)"
" from the POS UI.\n"
" The value is expressed in seconds, for a single order.\n"
" If not defined, the default Odoo value will be used: 30 seconds.\n"
" If the call contains more than one order"
" (after a long disconnection period for example, or if the previous"
" call raised the timeout),\n the effective timeout value applied will"
" be equal to the defined timeout value multiplied by the number of"
" orders.\n",
)

View file

@ -0,0 +1,10 @@
from odoo import fields, models
class ResConfigSettings(models.TransientModel):
_inherit = "res.config.settings"
pos_order_timeout = fields.Integer(
related="pos_config_id.pos_order_timeout",
readonly=False,
)

View file

@ -0,0 +1,10 @@
To configure this module, you need to:
* Go to 'Point Of Sale' / 'Configuration' / 'Point of Sale' and edit your
PoS Config, setting a timeout
.. figure:: ../static/description/pos_config.png
:alt: PoS Configuration
:width: 800 px
If not set, the default Odoo timeout will be used. (7.5 seconds in V10.0)

View file

@ -0,0 +1,3 @@
* Sylvain LE GAL (https://twitter.com/legalsylvain)
* Nils Hamerlinck (Trobz)
* Dhara Solanki <dhara.solanki@initos.com>

View file

@ -0,0 +1,3 @@
The development of this module has been financially supported by:
* GRAP, Groupement Régional Alimentaire de Proximité (http://www.grap.coop)

View file

@ -0,0 +1,13 @@
This module extends the functionality of Point of Sale module.
By default, in Odoo a timeout is set to 30 seconds for the creation of
a PoS order. This threshold is usually sufficient, but in some cases it is not,
mainly if the connection is bad, or if some custom modules add extra
long treatments.
This module allows to change this default value.
If the call contains more than one order (after a long disconnection period
for example, or if the previous call raised the timeout) the effective timeout
value applied will be equal to the defined timeout value multiplied by the
number of orders.

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

View file

@ -0,0 +1,452 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="generator" content="Docutils: https://docutils.sourceforge.io/" />
<title>Point of Sale - timeout</title>
<style type="text/css">
/*
:Author: David Goodger (goodger@python.org)
:Id: $Id: html4css1.css 8954 2022-01-20 10:10:25Z milde $
:Copyright: This stylesheet has been placed in the public domain.
Default cascading style sheet for the HTML output of Docutils.
See https://docutils.sourceforge.io/docs/howto/html-stylesheets.html for how to
customize this style sheet.
*/
/* used to remove borders from tables and images */
.borderless, table.borderless td, table.borderless th {
border: 0 }
table.borderless td, table.borderless th {
/* Override padding for "table.docutils td" with "! important".
The right padding separates the table cells. */
padding: 0 0.5em 0 0 ! important }
.first {
/* Override more specific margin styles with "! important". */
margin-top: 0 ! important }
.last, .with-subtitle {
margin-bottom: 0 ! important }
.hidden {
display: none }
.subscript {
vertical-align: sub;
font-size: smaller }
.superscript {
vertical-align: super;
font-size: smaller }
a.toc-backref {
text-decoration: none ;
color: black }
blockquote.epigraph {
margin: 2em 5em ; }
dl.docutils dd {
margin-bottom: 0.5em }
object[type="image/svg+xml"], object[type="application/x-shockwave-flash"] {
overflow: hidden;
}
/* Uncomment (and remove this text!) to get bold-faced definition list terms
dl.docutils dt {
font-weight: bold }
*/
div.abstract {
margin: 2em 5em }
div.abstract p.topic-title {
font-weight: bold ;
text-align: center }
div.admonition, div.attention, div.caution, div.danger, div.error,
div.hint, div.important, div.note, div.tip, div.warning {
margin: 2em ;
border: medium outset ;
padding: 1em }
div.admonition p.admonition-title, div.hint p.admonition-title,
div.important p.admonition-title, div.note p.admonition-title,
div.tip p.admonition-title {
font-weight: bold ;
font-family: sans-serif }
div.attention p.admonition-title, div.caution p.admonition-title,
div.danger p.admonition-title, div.error p.admonition-title,
div.warning p.admonition-title, .code .error {
color: red ;
font-weight: bold ;
font-family: sans-serif }
/* Uncomment (and remove this text!) to get reduced vertical space in
compound paragraphs.
div.compound .compound-first, div.compound .compound-middle {
margin-bottom: 0.5em }
div.compound .compound-last, div.compound .compound-middle {
margin-top: 0.5em }
*/
div.dedication {
margin: 2em 5em ;
text-align: center ;
font-style: italic }
div.dedication p.topic-title {
font-weight: bold ;
font-style: normal }
div.figure {
margin-left: 2em ;
margin-right: 2em }
div.footer, div.header {
clear: both;
font-size: smaller }
div.line-block {
display: block ;
margin-top: 1em ;
margin-bottom: 1em }
div.line-block div.line-block {
margin-top: 0 ;
margin-bottom: 0 ;
margin-left: 1.5em }
div.sidebar {
margin: 0 0 0.5em 1em ;
border: medium outset ;
padding: 1em ;
background-color: #ffffee ;
width: 40% ;
float: right ;
clear: right }
div.sidebar p.rubric {
font-family: sans-serif ;
font-size: medium }
div.system-messages {
margin: 5em }
div.system-messages h1 {
color: red }
div.system-message {
border: medium outset ;
padding: 1em }
div.system-message p.system-message-title {
color: red ;
font-weight: bold }
div.topic {
margin: 2em }
h1.section-subtitle, h2.section-subtitle, h3.section-subtitle,
h4.section-subtitle, h5.section-subtitle, h6.section-subtitle {
margin-top: 0.4em }
h1.title {
text-align: center }
h2.subtitle {
text-align: center }
hr.docutils {
width: 75% }
img.align-left, .figure.align-left, object.align-left, table.align-left {
clear: left ;
float: left ;
margin-right: 1em }
img.align-right, .figure.align-right, object.align-right, table.align-right {
clear: right ;
float: right ;
margin-left: 1em }
img.align-center, .figure.align-center, object.align-center {
display: block;
margin-left: auto;
margin-right: auto;
}
table.align-center {
margin-left: auto;
margin-right: auto;
}
.align-left {
text-align: left }
.align-center {
clear: both ;
text-align: center }
.align-right {
text-align: right }
/* reset inner alignment in figures */
div.align-right {
text-align: inherit }
/* div.align-center * { */
/* text-align: left } */
.align-top {
vertical-align: top }
.align-middle {
vertical-align: middle }
.align-bottom {
vertical-align: bottom }
ol.simple, ul.simple {
margin-bottom: 1em }
ol.arabic {
list-style: decimal }
ol.loweralpha {
list-style: lower-alpha }
ol.upperalpha {
list-style: upper-alpha }
ol.lowerroman {
list-style: lower-roman }
ol.upperroman {
list-style: upper-roman }
p.attribution {
text-align: right ;
margin-left: 50% }
p.caption {
font-style: italic }
p.credits {
font-style: italic ;
font-size: smaller }
p.label {
white-space: nowrap }
p.rubric {
font-weight: bold ;
font-size: larger ;
color: maroon ;
text-align: center }
p.sidebar-title {
font-family: sans-serif ;
font-weight: bold ;
font-size: larger }
p.sidebar-subtitle {
font-family: sans-serif ;
font-weight: bold }
p.topic-title {
font-weight: bold }
pre.address {
margin-bottom: 0 ;
margin-top: 0 ;
font: inherit }
pre.literal-block, pre.doctest-block, pre.math, pre.code {
margin-left: 2em ;
margin-right: 2em }
pre.code .ln { color: grey; } /* line numbers */
pre.code, code { background-color: #eeeeee }
pre.code .comment, code .comment { color: #5C6576 }
pre.code .keyword, code .keyword { color: #3B0D06; font-weight: bold }
pre.code .literal.string, code .literal.string { color: #0C5404 }
pre.code .name.builtin, code .name.builtin { color: #352B84 }
pre.code .deleted, code .deleted { background-color: #DEB0A1}
pre.code .inserted, code .inserted { background-color: #A3D289}
span.classifier {
font-family: sans-serif ;
font-style: oblique }
span.classifier-delimiter {
font-family: sans-serif ;
font-weight: bold }
span.interpreted {
font-family: sans-serif }
span.option {
white-space: nowrap }
span.pre {
white-space: pre }
span.problematic {
color: red }
span.section-subtitle {
/* font-size relative to parent (h1..h6 element) */
font-size: 80% }
table.citation {
border-left: solid 1px gray;
margin-left: 1px }
table.docinfo {
margin: 2em 4em }
table.docutils {
margin-top: 0.5em ;
margin-bottom: 0.5em }
table.footnote {
border-left: solid 1px black;
margin-left: 1px }
table.docutils td, table.docutils th,
table.docinfo td, table.docinfo th {
padding-left: 0.5em ;
padding-right: 0.5em ;
vertical-align: top }
table.docutils th.field-name, table.docinfo th.docinfo-name {
font-weight: bold ;
text-align: left ;
white-space: nowrap ;
padding-left: 0 }
/* "booktabs" style (no vertical lines) */
table.docutils.booktabs {
border: 0px;
border-top: 2px solid;
border-bottom: 2px solid;
border-collapse: collapse;
}
table.docutils.booktabs * {
border: 0px;
}
table.docutils.booktabs th {
border-bottom: thin solid;
text-align: left;
}
h1 tt.docutils, h2 tt.docutils, h3 tt.docutils,
h4 tt.docutils, h5 tt.docutils, h6 tt.docutils {
font-size: 100% }
ul.auto-toc {
list-style-type: none }
</style>
</head>
<body>
<div class="document" id="point-of-sale-timeout">
<h1 class="title">Point of Sale - timeout</h1>
<!-- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! source digest: sha256:8811b0ec90eb14ea58960b66f58677d60d928f0a4febf707376eaabf81e38ead
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
<p><a class="reference external image-reference" href="https://odoo-community.org/page/development-status"><img alt="Beta" src="https://img.shields.io/badge/maturity-Beta-yellow.png" /></a> <a class="reference external image-reference" href="http://www.gnu.org/licenses/agpl-3.0-standalone.html"><img alt="License: AGPL-3" src="https://img.shields.io/badge/licence-AGPL--3-blue.png" /></a> <a class="reference external image-reference" href="https://github.com/OCA/pos/tree/16.0/pos_timeout"><img alt="OCA/pos" src="https://img.shields.io/badge/github-OCA%2Fpos-lightgray.png?logo=github" /></a> <a class="reference external image-reference" href="https://translation.odoo-community.org/projects/pos-16-0/pos-16-0-pos_timeout"><img alt="Translate me on Weblate" src="https://img.shields.io/badge/weblate-Translate%20me-F47D42.png" /></a> <a class="reference external image-reference" href="https://runboat.odoo-community.org/builds?repo=OCA/pos&amp;target_branch=16.0"><img alt="Try me on Runboat" src="https://img.shields.io/badge/runboat-Try%20me-875A7B.png" /></a></p>
<p>This module extends the functionality of Point of Sale module.</p>
<p>By default, in Odoo a timeout is set to 30 seconds for the creation of
a PoS order. This threshold is usually sufficient, but in some cases it is not,
mainly if the connection is bad, or if some custom modules add extra
long treatments.</p>
<p>This module allows to change this default value.</p>
<p>If the call contains more than one order (after a long disconnection period
for example, or if the previous call raised the timeout) the effective timeout
value applied will be equal to the defined timeout value multiplied by the
number of orders.</p>
<p><strong>Table of contents</strong></p>
<div class="contents local topic" id="contents">
<ul class="simple">
<li><a class="reference internal" href="#configuration" id="toc-entry-1">Configuration</a></li>
<li><a class="reference internal" href="#bug-tracker" id="toc-entry-2">Bug Tracker</a></li>
<li><a class="reference internal" href="#credits" id="toc-entry-3">Credits</a><ul>
<li><a class="reference internal" href="#authors" id="toc-entry-4">Authors</a></li>
<li><a class="reference internal" href="#contributors" id="toc-entry-5">Contributors</a></li>
<li><a class="reference internal" href="#other-credits" id="toc-entry-6">Other credits</a></li>
<li><a class="reference internal" href="#maintainers" id="toc-entry-7">Maintainers</a></li>
</ul>
</li>
</ul>
</div>
<div class="section" id="configuration">
<h1><a class="toc-backref" href="#toc-entry-1">Configuration</a></h1>
<p>To configure this module, you need to:</p>
<ul class="simple">
<li>Go to Point Of Sale / Configuration / Point of Sale and edit your
PoS Config, setting a timeout</li>
</ul>
<div class="figure">
<img alt="PoS Configuration" src="https://raw.githubusercontent.com/OCA/pos/16.0/pos_timeout/static/description/pos_config.png" style="width: 800px;" />
</div>
<p>If not set, the default Odoo timeout will be used. (7.5 seconds in V10.0)</p>
</div>
<div class="section" id="bug-tracker">
<h1><a class="toc-backref" href="#toc-entry-2">Bug Tracker</a></h1>
<p>Bugs are tracked on <a class="reference external" href="https://github.com/OCA/pos/issues">GitHub Issues</a>.
In case of trouble, please check there if your issue has already been reported.
If you spotted it first, help us to smash it by providing a detailed and welcomed
<a class="reference external" href="https://github.com/OCA/pos/issues/new?body=module:%20pos_timeout%0Aversion:%2016.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**">feedback</a>.</p>
<p>Do not contact contributors directly about support or help with technical issues.</p>
</div>
<div class="section" id="credits">
<h1><a class="toc-backref" href="#toc-entry-3">Credits</a></h1>
<div class="section" id="authors">
<h2><a class="toc-backref" href="#toc-entry-4">Authors</a></h2>
<ul class="simple">
<li>GRAP</li>
</ul>
</div>
<div class="section" id="contributors">
<h2><a class="toc-backref" href="#toc-entry-5">Contributors</a></h2>
<ul class="simple">
<li>Sylvain LE GAL (<a class="reference external" href="https://twitter.com/legalsylvain">https://twitter.com/legalsylvain</a>)</li>
<li>Nils Hamerlinck (Trobz)</li>
<li>Dhara Solanki &lt;<a class="reference external" href="mailto:dhara.solanki&#64;initos.com">dhara.solanki&#64;initos.com</a>&gt;</li>
</ul>
</div>
<div class="section" id="other-credits">
<h2><a class="toc-backref" href="#toc-entry-6">Other credits</a></h2>
<p>The development of this module has been financially supported by:</p>
<ul class="simple">
<li>GRAP, Groupement Régional Alimentaire de Proximité (<a class="reference external" href="http://www.grap.coop">http://www.grap.coop</a>)</li>
</ul>
</div>
<div class="section" id="maintainers">
<h2><a class="toc-backref" href="#toc-entry-7">Maintainers</a></h2>
<p>This module is maintained by the OCA.</p>
<a class="reference external image-reference" href="https://odoo-community.org"><img alt="Odoo Community Association" src="https://odoo-community.org/logo.png" /></a>
<p>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.</p>
<p>This module is part of the <a class="reference external" href="https://github.com/OCA/pos/tree/16.0/pos_timeout">OCA/pos</a> project on GitHub.</p>
<p>You are welcome to contribute. To learn how please visit <a class="reference external" href="https://odoo-community.org/page/Contribute">https://odoo-community.org/page/Contribute</a>.</p>
</div>
</div>
</div>
</body>
</html>

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

View file

@ -0,0 +1,22 @@
odoo.define("pos_timeout.models", function (require) {
"use strict";
const PosModels = require("point_of_sale.models");
const Registries = require("point_of_sale.Registries");
const PosGlobalState = (OriginalPosGlobalState) =>
class extends OriginalPosGlobalState {
_save_to_server(orders, options) {
const configTimeout = this.env.pos.config.pos_order_timeout;
if (configTimeout) {
options.timeout = configTimeout * 1000 * orders.length;
}
return super._save_to_server(orders, options);
}
};
Registries.Model.extend(PosModels.PosGlobalState, PosGlobalState);
return PosGlobalState;
});

View file

@ -0,0 +1,25 @@
<?xml version="1.0" encoding="utf-8" ?>
<odoo>
<record model="ir.ui.view" id="res_config_settings_view_form">
<field name="model">res.config.settings</field>
<field name="priority" eval="95" />
<field name="inherit_id" ref="point_of_sale.res_config_settings_view_form" />
<field name="arch" type="xml">
<xpath expr="//div[@id='pos_interface_section']" position="inside">
<div class="col-12 col-lg-6 o_setting_box">
<div class="o_setting_left_pane">
</div>
<div class="o_setting_right_pane">
<label for="pos_order_timeout" />
<div class="text-muted">
client-side timeout for the creation of PoS Order(s) from the POS UI
</div>
<div class="content-group mt16">
<field name="pos_order_timeout" />
</div>
</div>
</div>
</xpath>
</field>
</record>
</odoo>