From 960d730c168ba0411670f692dc8c3b7ef0123285 Mon Sep 17 00:00:00 2001 From: Javier Llamas Date: Mon, 7 Oct 2019 10:47:16 +0200 Subject: [PATCH] [ADD]Adaptation to version 12.0 --- pos_order_to_sale_order/README.rst | 159 ++++++ pos_order_to_sale_order/__init__.py | 2 + pos_order_to_sale_order/__manifest__.py | 29 + pos_order_to_sale_order/demo/res_groups.xml | 7 + pos_order_to_sale_order/i18n/fr.po | 213 ++++++++ .../i18n/pos_order_to_sale_order.pot | 170 ++++++ pos_order_to_sale_order/models/__init__.py | 3 + pos_order_to_sale_order/models/pos_config.py | 28 + pos_order_to_sale_order/models/sale_order.py | 77 +++ pos_order_to_sale_order/readme/CONFIGURE.rst | 8 + .../readme/CONTRIBUTORS.rst | 1 + .../readme/DESCRIPTION.rst | 52 ++ pos_order_to_sale_order/readme/ROADMAP.rst | 11 + .../static/description/icon.png | Bin 0 -> 19127 bytes .../static/description/index.html | 496 ++++++++++++++++++ .../static/description/pos_config_form.png | Bin 0 -> 38384 bytes .../pos_create_picking_confirm.png | Bin 0 -> 28607 bytes .../pos_create_picking_option_1.png | Bin 0 -> 20272 bytes .../pos_create_picking_option_2.png | Bin 0 -> 21565 bytes .../pos_create_picking_option_3.png | Bin 0 -> 20484 bytes .../src/css/pos_order_to_sale_order.css | 4 + .../static/src/js/pos_order_to_sale_order.js | 221 ++++++++ .../src/xml/pos_order_to_sale_order.xml | 13 + .../views/pos_order_to_sale_order.xml | 9 + .../views/view_pos_config.xml | 40 ++ 25 files changed, 1543 insertions(+) create mode 100644 pos_order_to_sale_order/README.rst create mode 100644 pos_order_to_sale_order/__init__.py create mode 100644 pos_order_to_sale_order/__manifest__.py create mode 100644 pos_order_to_sale_order/demo/res_groups.xml create mode 100644 pos_order_to_sale_order/i18n/fr.po create mode 100644 pos_order_to_sale_order/i18n/pos_order_to_sale_order.pot create mode 100644 pos_order_to_sale_order/models/__init__.py create mode 100644 pos_order_to_sale_order/models/pos_config.py create mode 100644 pos_order_to_sale_order/models/sale_order.py create mode 100644 pos_order_to_sale_order/readme/CONFIGURE.rst create mode 100644 pos_order_to_sale_order/readme/CONTRIBUTORS.rst create mode 100644 pos_order_to_sale_order/readme/DESCRIPTION.rst create mode 100644 pos_order_to_sale_order/readme/ROADMAP.rst create mode 100644 pos_order_to_sale_order/static/description/icon.png create mode 100644 pos_order_to_sale_order/static/description/index.html create mode 100644 pos_order_to_sale_order/static/description/pos_config_form.png create mode 100644 pos_order_to_sale_order/static/description/pos_create_picking_confirm.png create mode 100644 pos_order_to_sale_order/static/description/pos_create_picking_option_1.png create mode 100644 pos_order_to_sale_order/static/description/pos_create_picking_option_2.png create mode 100644 pos_order_to_sale_order/static/description/pos_create_picking_option_3.png create mode 100644 pos_order_to_sale_order/static/src/css/pos_order_to_sale_order.css create mode 100644 pos_order_to_sale_order/static/src/js/pos_order_to_sale_order.js create mode 100644 pos_order_to_sale_order/static/src/xml/pos_order_to_sale_order.xml create mode 100644 pos_order_to_sale_order/views/pos_order_to_sale_order.xml create mode 100644 pos_order_to_sale_order/views/view_pos_config.xml diff --git a/pos_order_to_sale_order/README.rst b/pos_order_to_sale_order/README.rst new file mode 100644 index 0000000000..219b02160d --- /dev/null +++ b/pos_order_to_sale_order/README.rst @@ -0,0 +1,159 @@ +======================= +PoS Order To Sale Order +======================= + +.. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! This file is generated by oca-gen-addon-readme !! + !! changes will be overwritten. !! + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +.. |badge1| image:: https://img.shields.io/badge/maturity-Production%2FStable-green.png + :target: https://odoo-community.org/page/development-status + :alt: Production/Stable +.. |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/8.0/pos_order_to_sale_order + :alt: OCA/pos +.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png + :target: https://translation.odoo-community.org/projects/pos-8-0/pos-8-0-pos_order_to_sale_order + :alt: Translate me on Weblate +.. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png + :target: https://runbot.odoo-community.org/runbot/184/8.0 + :alt: Try me on Runbot + +|badge1| |badge2| |badge3| |badge4| |badge5| + +This module extends the functionality of point of sale to allow sale orders +creation from the Point of Sale. + + +In the POS UI, buttons has been added to create a sale order and discard +the current POS order. + +This module is usefull in many cases, for exemple : + +* take orders with a very simple interface + +* if you have some customers that come every day in your shop, but want to + have a unique invoice at the end of the month. With that module, you can + create a sale order and deliver products every time to keep your stock value + correct, and to create a unique invoice, when you want. + + +Three options are available: + +* **Create a draft Order** + A new sale order in a draft mode will be created that can be changed later. + +.. figure:: https://raw.githubusercontent.com/OCA/pos/8.0/pos_order_to_sale_order/static/description/pos_create_picking_option_1.png + :width: 800 px + +* **Create a Confirmed Order** + A new sale order will be created and confirmed. + +.. figure:: https://raw.githubusercontent.com/OCA/pos/8.0/pos_order_to_sale_order/static/description/pos_create_picking_option_2.png + :width: 800 px + +* **Create Delivered Picking** (by default) + A new sale order will be created and confirmed. the associated picking + will be marked as delivered. + +.. figure:: https://raw.githubusercontent.com/OCA/pos/8.0/pos_order_to_sale_order/static/description/pos_create_picking_option_3.png + :width: 800 px + + +**Technical Notes** + +* Some hooks are defined in the JS file, to define custom behaviour after + having created the sale order (and the stock picking). + +* Some prepare functions are available in the sale.order model, to overload + the creation of the sale order. + +* You could be interested by another module, pos_sale_order, that completely + alter Point of Sale module, avoiding creating Pos Orders, and creating + allways Sale Orders. + This module is a WIP state, and is available here: + https://github.com/OCA/pos/pull/35 + +**Table of contents** + +.. contents:: + :local: + +Configuration +============= + +To configure this module, you need to: + +* Go to Point Of Sale / Configuration / Point of Sale +* Check the box 'Create Sale Orders' +* Select the desired default behaviour + +.. figure:: https://raw.githubusercontent.com/OCA/pos/8.0/pos_order_to_sale_order/static/description/pos_config_form.png + :width: 800 px + +Known issues / Roadmap +====================== + +* Because of the poor design of the Odoo Point of Sale, some basic features + are not available by default, like pricelist, fiscal position, etc ... + For that reason, unit price will be recomputed by default, when creating the + sale order, and the unit price of the current bill will not be used. + +Note that this problem is fixed if ``pos_pricelist`` is installed. +(same repository) In that cases, the pricelist, the unit prices and the taxes +will be the same in the order, as in the displayed bill. + +.. figure:: https://raw.githubusercontent.com/OCA/pos/8.0/pos_order_to_sale_order/static/description/pos_create_picking_confirm.png + :width: 800 px + +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 (https://www.twitter.com/legalsylvain) + +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. + +.. |maintainer-legalsylvain| image:: https://github.com/legalsylvain.png?size=40px + :target: https://github.com/legalsylvain + :alt: legalsylvain + +Current `maintainer `__: + +|maintainer-legalsylvain| + +This module is part of the `OCA/pos `_ project on GitHub. + +You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/pos_order_to_sale_order/__init__.py b/pos_order_to_sale_order/__init__.py new file mode 100644 index 0000000000..a0fdc10fe1 --- /dev/null +++ b/pos_order_to_sale_order/__init__.py @@ -0,0 +1,2 @@ +# -*- coding: utf-8 -*- +from . import models diff --git a/pos_order_to_sale_order/__manifest__.py b/pos_order_to_sale_order/__manifest__.py new file mode 100644 index 0000000000..f1874c9641 --- /dev/null +++ b/pos_order_to_sale_order/__manifest__.py @@ -0,0 +1,29 @@ +# -*- coding: utf-8 -*- +# Copyright (C) 2017 - Today: GRAP (http://www.grap.coop) +# Copyright (C) 2019 - Today: Guadaltech S.L (http://www.guadaltech.es) +# @author: Sylvain LE GAL (https://twitter.com/legalsylvain) +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + +{ + 'name': 'PoS Order To Sale Order', + 'version': '12.0.1', + 'author': 'GRAP,Odoo Community Association (OCA),Guadaltech S.L', + 'category': 'Point Of Sale', + 'license': 'AGPL-3', + 'depends': [ + 'point_of_sale', + ], + 'maintainers': ['legalsylvain'], + 'development_status': "Production/Stable", + 'website': 'https://odoo-community.org/', + 'data': [ + 'views/view_pos_config.xml', + 'views/pos_order_to_sale_order.xml', + ], + 'demo': [ + 'demo/res_groups.xml', + ], + 'qweb': [ + 'static/src/xml/pos_order_to_sale_order.xml', + ], +} diff --git a/pos_order_to_sale_order/demo/res_groups.xml b/pos_order_to_sale_order/demo/res_groups.xml new file mode 100644 index 0000000000..158b505f78 --- /dev/null +++ b/pos_order_to_sale_order/demo/res_groups.xml @@ -0,0 +1,7 @@ + + + + + + + diff --git a/pos_order_to_sale_order/i18n/fr.po b/pos_order_to_sale_order/i18n/fr.po new file mode 100644 index 0000000000..aeae042eb4 --- /dev/null +++ b/pos_order_to_sale_order/i18n/fr.po @@ -0,0 +1,213 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * pos_order_to_sale_order +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 8.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-03-23 15:48+0000\n" +"PO-Revision-Date: 2018-03-23 15:48+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_order_to_sale_order +#. openerp-web +#: code:addons/pos_order_to_sale_order/static/src/js/pos_order_to_sale_order.js:56 +#, python-format +msgid "" +"\n" +"Note if you have manually changed unit prices for some products, this " +"changes will not been taken into account in the sale order." +msgstr "" +"\n" +"Remarque : si vous aviez changé le prix unitaire de certains produits, ces " +"changements ne seront pas pris en compte dans la vente." + +#. module: pos_order_to_sale_order +#. openerp-web +#: code:addons/pos_order_to_sale_order/static/src/js/pos_order_to_sale_order.js:151 +#, python-format +msgid "Check your internet connection and try again." +msgstr "Veuillez vérifier votre connexion internet et essayer de nouveau." + +#. module: pos_order_to_sale_order +#. openerp-web +#: code:addons/pos_order_to_sale_order/static/src/js/pos_order_to_sale_order.js:36 +#, python-format +msgid "Create Confirmed Order" +msgstr "Créer une vente confirmée" + +#. module: pos_order_to_sale_order +#. openerp-web +#: code:addons/pos_order_to_sale_order/static/src/js/pos_order_to_sale_order.js:37 +#, python-format +msgid "Create Confirmed Sale Order and discard the current PoS Order?" +msgstr "Créer une vente confirmée, et supprimer le ticket de caisse en cours ?" + +#. module: pos_order_to_sale_order +#: field:pos.config,iface_create_confirmed_sale_order:0 +msgid "Create Confirmed Sale Orders" +msgstr "Créer des ventes confirmées" + +#. module: pos_order_to_sale_order +#. openerp-web +#: code:addons/pos_order_to_sale_order/static/src/js/pos_order_to_sale_order.js:45 +#, python-format +msgid "Create Delivered Order" +msgstr "Créer une vente livrée (BL)" + +#. module: pos_order_to_sale_order +#. openerp-web +#: code:addons/pos_order_to_sale_order/static/src/js/pos_order_to_sale_order.js:46 +#, python-format +msgid "Create Delivered Sale Order and discard the current PoS Order?" +msgstr "" +"Créer une vente livrée (BL), et supprimer le ticket de caisse en cours ?" + +#. module: pos_order_to_sale_order +#: field:pos.config,iface_create_delivered_sale_order:0 +msgid "Create Delivered Sale Orders" +msgstr "Créer des ventes livrées (BL)" + +#. module: pos_order_to_sale_order +#. openerp-web +#: code:addons/pos_order_to_sale_order/static/src/js/pos_order_to_sale_order.js:27 +#, python-format +msgid "Create Draft Order" +msgstr "Créer un devis en brouillon" + +#. module: pos_order_to_sale_order +#. openerp-web +#: code:addons/pos_order_to_sale_order/static/src/js/pos_order_to_sale_order.js:28 +#, python-format +msgid "Create Draft Sale Order and discard the current PoS Order?" +msgstr "" +"Créer une vente en brouillon, et supprimer le ticket de caisse en cours ?" + +#. module: pos_order_to_sale_order +#: field:pos.config,iface_create_draft_sale_order:0 +msgid "Create Draft Sale Orders" +msgstr "Créer des ventes en brouillon" + +#. module: pos_order_to_sale_order +#. openerp-web +#: code:addons/pos_order_to_sale_order/static/src/js/pos_order_to_sale_order.js:78 +#, python-format +msgid "Empty Order" +msgstr "Commande vide" + +#. module: pos_order_to_sale_order +#: help:pos.config,iface_create_confirmed_sale_order:0 +msgid "" +"If checked, the cashier will have the possibility to create a confirmed Sale " +"Order, based on the current draft PoS Order." +msgstr "" +"En cochant la case, le caissier aura la possibilité de créer une vente " +"confirmée, à partir du ticket de caisse en cours." + +#. module: pos_order_to_sale_order +#: help:pos.config,iface_create_delivered_sale_order:0 +msgid "" +"If checked, the cashier will have the possibility to create a confirmed sale " +"Order, based on the current draft PoS Order.\n" +" the according picking will be marked as delivered. Only invoices process " +"will be possible." +msgstr "" +"En cochant la case, le caissier aura la possibilité de créer une vente " +"confirmée, à partir du ticket de caisse en cours.\n" +" Le bon de livraison correspondant sera marqué comme livré. Seul le " +"processus de facturation sera possible." + +#. module: pos_order_to_sale_order +#: help:pos.config,iface_create_draft_sale_order:0 +msgid "" +"If checked, the cashier will have the possibility to create a draft Sale " +"Order, based on the current draft PoS Order." +msgstr "" +"En cochant la case, le caissier aura la possibilité de créer une vente en " +"brouillon, à partir du ticket de caisse en cours." + +#. module: pos_order_to_sale_order +#. openerp-web +#: code:addons/pos_order_to_sale_order/static/src/js/pos_order_to_sale_order.js:88 +#, python-format +msgid "No customer defined" +msgstr "Pas de client défini" + +#. module: pos_order_to_sale_order +#: code:addons/pos_order_to_sale_order/models/sale_order.py:19 +#, python-format +msgid "Point of Sale %s" +msgstr "Point de vente %s" + +#. module: pos_order_to_sale_order +#: model:ir.model,name:pos_order_to_sale_order.model_sale_order +msgid "Sales Order" +msgstr "Commande de ventes" + +#. module: pos_order_to_sale_order +#. openerp-web +#: code:addons/pos_order_to_sale_order/static/src/js/pos_order_to_sale_order.js:150 +#, python-format +msgid "The order could not be sent" +msgstr "La commande n'a pas pu être envoyée" + +#. module: pos_order_to_sale_order +#. openerp-web +#: code:addons/pos_order_to_sale_order/static/src/js/pos_order_to_sale_order.js:79 +#, python-format +msgid "There must be at least one product in your order to create Sale Order." +msgstr "" +"Il doit y avoir au moins un produit dans votre commande pour créer une vente" + +#. module: pos_order_to_sale_order +#. openerp-web +#: code:addons/pos_order_to_sale_order/static/src/js/pos_order_to_sale_order.js:40 +#, python-format +msgid "" +"This operation will permanently discard the current PoS Order and create a " +"confirmed Sale Order, based on the current order lines." +msgstr "" +"Cette opération va supprimer définitivement le ticket de caisse en cours, et " +"créer une vente confirmée, en se basant sur les lignes du ticket en cours." + +#. module: pos_order_to_sale_order +#. openerp-web +#: code:addons/pos_order_to_sale_order/static/src/js/pos_order_to_sale_order.js:49 +#, python-format +msgid "" +"This operation will permanently discard the current PoS Order and create a " +"confirmed Sale Order, based on the current order lines. The according " +"picking will be marked as delivered." +msgstr "" +"Cette opération va supprimer définitivement le ticket de caisse en cours, et " +"créer une vente confirmée, en se basant sur les lignes du ticket en cours. " +"Le bon de livraison correspondant sera marqué comme livré." + +#. module: pos_order_to_sale_order +#. openerp-web +#: code:addons/pos_order_to_sale_order/static/src/js/pos_order_to_sale_order.js:31 +#, python-format +msgid "" +"This operation will permanently discard the current PoS Order and create a " +"draft Sale Order, based on the current order lines." +msgstr "" +"Cette opération va supprimer définitivement le ticket de caisse en cours, et " +"créer une vente en brouillon, en se basant sur les lignes du ticket en cours." + +#. module: pos_order_to_sale_order +#. openerp-web +#: code:addons/pos_order_to_sale_order/static/src/js/pos_order_to_sale_order.js:89 +#, python-format +msgid "" +"You should select a customer in order to create a Sale Order. Please select " +"one by clicking the order tab." +msgstr "" +"Vous devez sélectionner un client, afin de créer une vente. Veuillez en " +"sélectionner un en cliquant sur l'onglet de la commande." diff --git a/pos_order_to_sale_order/i18n/pos_order_to_sale_order.pot b/pos_order_to_sale_order/i18n/pos_order_to_sale_order.pot new file mode 100644 index 0000000000..d0ec24faf0 --- /dev/null +++ b/pos_order_to_sale_order/i18n/pos_order_to_sale_order.pot @@ -0,0 +1,170 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * pos_order_to_sale_order +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 8.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_order_to_sale_order +#. openerp-web +#: code:addons/pos_order_to_sale_order/static/src/js/pos_order_to_sale_order.js:56 +#, python-format +msgid "\n" +"Note if you have manually changed unit prices for some products, this changes will not been taken into account in the sale order." +msgstr "" + +#. module: pos_order_to_sale_order +#. openerp-web +#: code:addons/pos_order_to_sale_order/static/src/js/pos_order_to_sale_order.js:151 +#, python-format +msgid "Check your internet connection and try again." +msgstr "" + +#. module: pos_order_to_sale_order +#. openerp-web +#: code:addons/pos_order_to_sale_order/static/src/js/pos_order_to_sale_order.js:36 +#, python-format +msgid "Create Confirmed Order" +msgstr "" + +#. module: pos_order_to_sale_order +#. openerp-web +#: code:addons/pos_order_to_sale_order/static/src/js/pos_order_to_sale_order.js:37 +#, python-format +msgid "Create Confirmed Sale Order and discard the current PoS Order?" +msgstr "" + +#. module: pos_order_to_sale_order +#: field:pos.config,iface_create_confirmed_sale_order:0 +msgid "Create Confirmed Sale Orders" +msgstr "" + +#. module: pos_order_to_sale_order +#. openerp-web +#: code:addons/pos_order_to_sale_order/static/src/js/pos_order_to_sale_order.js:45 +#, python-format +msgid "Create Delivered Order" +msgstr "" + +#. module: pos_order_to_sale_order +#. openerp-web +#: code:addons/pos_order_to_sale_order/static/src/js/pos_order_to_sale_order.js:46 +#, python-format +msgid "Create Delivered Sale Order and discard the current PoS Order?" +msgstr "" + +#. module: pos_order_to_sale_order +#: field:pos.config,iface_create_delivered_sale_order:0 +msgid "Create Delivered Sale Orders" +msgstr "" + +#. module: pos_order_to_sale_order +#. openerp-web +#: code:addons/pos_order_to_sale_order/static/src/js/pos_order_to_sale_order.js:27 +#, python-format +msgid "Create Draft Order" +msgstr "" + +#. module: pos_order_to_sale_order +#. openerp-web +#: code:addons/pos_order_to_sale_order/static/src/js/pos_order_to_sale_order.js:28 +#, python-format +msgid "Create Draft Sale Order and discard the current PoS Order?" +msgstr "" + +#. module: pos_order_to_sale_order +#: field:pos.config,iface_create_draft_sale_order:0 +msgid "Create Draft Sale Orders" +msgstr "" + +#. module: pos_order_to_sale_order +#. openerp-web +#: code:addons/pos_order_to_sale_order/static/src/js/pos_order_to_sale_order.js:78 +#, python-format +msgid "Empty Order" +msgstr "" + +#. module: pos_order_to_sale_order +#: help:pos.config,iface_create_confirmed_sale_order:0 +msgid "If checked, the cashier will have the possibility to create a confirmed Sale Order, based on the current draft PoS Order." +msgstr "" + +#. module: pos_order_to_sale_order +#: help:pos.config,iface_create_delivered_sale_order:0 +msgid "If checked, the cashier will have the possibility to create a confirmed sale Order, based on the current draft PoS Order.\n" +" the according picking will be marked as delivered. Only invoices process will be possible." +msgstr "" + +#. module: pos_order_to_sale_order +#: help:pos.config,iface_create_draft_sale_order:0 +msgid "If checked, the cashier will have the possibility to create a draft Sale Order, based on the current draft PoS Order." +msgstr "" + +#. module: pos_order_to_sale_order +#. openerp-web +#: code:addons/pos_order_to_sale_order/static/src/js/pos_order_to_sale_order.js:88 +#, python-format +msgid "No customer defined" +msgstr "" + +#. module: pos_order_to_sale_order +#: code:addons/pos_order_to_sale_order/models/sale_order.py:19 +#, python-format +msgid "Point of Sale %s" +msgstr "" + +#. module: pos_order_to_sale_order +#: model:ir.model,name:pos_order_to_sale_order.model_sale_order +msgid "Sales Order" +msgstr "" + +#. module: pos_order_to_sale_order +#. openerp-web +#: code:addons/pos_order_to_sale_order/static/src/js/pos_order_to_sale_order.js:150 +#, python-format +msgid "The order could not be sent" +msgstr "" + +#. module: pos_order_to_sale_order +#. openerp-web +#: code:addons/pos_order_to_sale_order/static/src/js/pos_order_to_sale_order.js:79 +#, python-format +msgid "There must be at least one product in your order to create Sale Order." +msgstr "" + +#. module: pos_order_to_sale_order +#. openerp-web +#: code:addons/pos_order_to_sale_order/static/src/js/pos_order_to_sale_order.js:40 +#, python-format +msgid "This operation will permanently discard the current PoS Order and create a confirmed Sale Order, based on the current order lines." +msgstr "" + +#. module: pos_order_to_sale_order +#. openerp-web +#: code:addons/pos_order_to_sale_order/static/src/js/pos_order_to_sale_order.js:49 +#, python-format +msgid "This operation will permanently discard the current PoS Order and create a confirmed Sale Order, based on the current order lines. The according picking will be marked as delivered." +msgstr "" + +#. module: pos_order_to_sale_order +#. openerp-web +#: code:addons/pos_order_to_sale_order/static/src/js/pos_order_to_sale_order.js:31 +#, python-format +msgid "This operation will permanently discard the current PoS Order and create a draft Sale Order, based on the current order lines." +msgstr "" + +#. module: pos_order_to_sale_order +#. openerp-web +#: code:addons/pos_order_to_sale_order/static/src/js/pos_order_to_sale_order.js:89 +#, python-format +msgid "You should select a customer in order to create a Sale Order. Please select one by clicking the order tab." +msgstr "" + diff --git a/pos_order_to_sale_order/models/__init__.py b/pos_order_to_sale_order/models/__init__.py new file mode 100644 index 0000000000..b0ad68cfdb --- /dev/null +++ b/pos_order_to_sale_order/models/__init__.py @@ -0,0 +1,3 @@ +# -*- coding: utf-8 -*- +from . import sale_order +from . import pos_config diff --git a/pos_order_to_sale_order/models/pos_config.py b/pos_order_to_sale_order/models/pos_config.py new file mode 100644 index 0000000000..d4d0280e08 --- /dev/null +++ b/pos_order_to_sale_order/models/pos_config.py @@ -0,0 +1,28 @@ +# -*- coding: utf-8 -*- +# Copyright (C) 2017 - Today: GRAP (http://www.grap.coop) +# Copyright (C) 2019 - Today: Guadaltech S.L (http://www.guadaltech.es) +# @author: Sylvain LE GAL (https://twitter.com/legalsylvain) +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + +from openerp import models, fields + + +class PosConfig(models.Model): + _inherit = 'pos.config' + + iface_create_draft_sale_order = fields.Boolean( + string='Create Draft Sale Orders', default=True, + help="If checked, the cashier will have the possibility to create" + " a draft Sale Order, based on the current draft PoS Order.") + + iface_create_confirmed_sale_order = fields.Boolean( + string='Create Confirmed Sale Orders', default=True, + help="If checked, the cashier will have the possibility to create" + " a confirmed Sale Order, based on the current draft PoS Order.") + + iface_create_delivered_sale_order = fields.Boolean( + string='Create Delivered Sale Orders', default=True, + help="If checked, the cashier will have the possibility to create" + " a confirmed sale Order, based on the current draft PoS Order.\n" + " the according picking will be marked as delivered. Only invoices" + " process will be possible.") diff --git a/pos_order_to_sale_order/models/sale_order.py b/pos_order_to_sale_order/models/sale_order.py new file mode 100644 index 0000000000..c09cb11572 --- /dev/null +++ b/pos_order_to_sale_order/models/sale_order.py @@ -0,0 +1,77 @@ +# -*- coding: utf-8 -*- +# Copyright (C) 2017 - Today: GRAP (http://www.grap.coop) +# Copyright (C) 2019 - Today: Guadaltech S.L (http://www.guadaltech.es) +# @author: Sylvain LE GAL (https://twitter.com/legalsylvain) +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + +from openerp import models, api, _ + + +class SaleOrder(models.Model): + _inherit = 'sale.order' + + @api.model + def _prepare_order_field_from_pos(self, order_data): + session_obj = self.env['pos.session'] + session = session_obj.browse(order_data['pos_session_id']) + res = {} + res.update({ + 'partner_id': order_data['partner_id'] or False, + 'origin': _("Point of Sale %s") % (session.name), + 'client_order_ref': order_data['name'], + 'user_id': order_data['user_id'] or False, + 'order_line': [], + }) + if order_data.get('pricelist_id'): + res.update({ + 'pricelist_id': order_data['pricelist_id'], + }) + else: + res.update({ + 'pricelist_id': 1, + }) + for line_data in order_data['lines']: + res['order_line'].append([ + 0, False, self._prepare_order_line_field_from_pos( + line_data[2], res)]) + return res + + @api.model + def _prepare_order_line_field_from_pos(self, line_data, sale_order_data): + res = {} + res.update({ + 'product_id': line_data['product_id'], + 'product_uom_qty': line_data['qty'], + 'price_unit': line_data['price_unit'], + 'discount': line_data['discount'], + 'tax_id': line_data['tax_ids'], + 'partner_id' : sale_order_data['partner_id'], + 'quantity' : line_data['qty'] + }) + return res + + @api.model + def create_order_from_pos(self, order_data): + is_pos_pricelist = len(self.env['ir.module.module'].search( + [('name', '=', 'pos_pricelist'), ('state', '=', 'installed')])) + # Create Draft Sale order + sale_order = self.create( + self.with_context(is_pos_pricelist=is_pos_pricelist). + _prepare_order_field_from_pos(order_data)) + + # Confirm Sale Order + if order_data['sale_order_state'] in ['confirmed', 'delivered']: + sale_order.action_confirm() + + # mark picking as delivered + if order_data['sale_order_state'] == 'delivered': + for picking in sale_order.picking_ids: + picking.action_confirm() + picking.action_assign() + for move in picking.move_ids_without_package: + move.quantity_done = move.product_uom_qty + picking.action_done() + + return { + 'sale_order_id': sale_order.id, + } diff --git a/pos_order_to_sale_order/readme/CONFIGURE.rst b/pos_order_to_sale_order/readme/CONFIGURE.rst new file mode 100644 index 0000000000..f77b481517 --- /dev/null +++ b/pos_order_to_sale_order/readme/CONFIGURE.rst @@ -0,0 +1,8 @@ +To configure this module, you need to: + +* Go to Point Of Sale / Configuration / Point of Sale +* Check the box 'Create Sale Orders' +* Select the desired default behaviour + +.. figure:: ../static/description/pos_config_form.png + :width: 800 px diff --git a/pos_order_to_sale_order/readme/CONTRIBUTORS.rst b/pos_order_to_sale_order/readme/CONTRIBUTORS.rst new file mode 100644 index 0000000000..e1525ce042 --- /dev/null +++ b/pos_order_to_sale_order/readme/CONTRIBUTORS.rst @@ -0,0 +1 @@ +* Sylvain LE GAL (https://www.twitter.com/legalsylvain) diff --git a/pos_order_to_sale_order/readme/DESCRIPTION.rst b/pos_order_to_sale_order/readme/DESCRIPTION.rst new file mode 100644 index 0000000000..993e779e2a --- /dev/null +++ b/pos_order_to_sale_order/readme/DESCRIPTION.rst @@ -0,0 +1,52 @@ +This module extends the functionality of point of sale to allow sale orders +creation from the Point of Sale. + + +In the POS UI, buttons has been added to create a sale order and discard +the current POS order. + +This module is usefull in many cases, for exemple : + +* take orders with a very simple interface + +* if you have some customers that come every day in your shop, but want to + have a unique invoice at the end of the month. With that module, you can + create a sale order and deliver products every time to keep your stock value + correct, and to create a unique invoice, when you want. + + +Three options are available: + +* **Create a draft Order** + A new sale order in a draft mode will be created that can be changed later. + +.. figure:: ../static/description/pos_create_picking_option_1.png + :width: 800 px + +* **Create a Confirmed Order** + A new sale order will be created and confirmed. + +.. figure:: ../static/description/pos_create_picking_option_2.png + :width: 800 px + +* **Create Delivered Picking** (by default) + A new sale order will be created and confirmed. the associated picking + will be marked as delivered. + +.. figure:: ../static/description/pos_create_picking_option_3.png + :width: 800 px + + +**Technical Notes** + +* Some hooks are defined in the JS file, to define custom behaviour after + having created the sale order (and the stock picking). + +* Some prepare functions are available in the sale.order model, to overload + the creation of the sale order. + +* You could be interested by another module, pos_sale_order, that completely + alter Point of Sale module, avoiding creating Pos Orders, and creating + allways Sale Orders. + This module is a WIP state, and is available here: + https://github.com/OCA/pos/pull/35 diff --git a/pos_order_to_sale_order/readme/ROADMAP.rst b/pos_order_to_sale_order/readme/ROADMAP.rst new file mode 100644 index 0000000000..ed6dd416ea --- /dev/null +++ b/pos_order_to_sale_order/readme/ROADMAP.rst @@ -0,0 +1,11 @@ +* Because of the poor design of the Odoo Point of Sale, some basic features + are not available by default, like pricelist, fiscal position, etc ... + For that reason, unit price will be recomputed by default, when creating the + sale order, and the unit price of the current bill will not be used. + +Note that this problem is fixed if ``pos_pricelist`` is installed. +(same repository) In that cases, the pricelist, the unit prices and the taxes +will be the same in the order, as in the displayed bill. + +.. figure:: ../static/description/pos_create_picking_confirm.png + :width: 800 px diff --git a/pos_order_to_sale_order/static/description/icon.png b/pos_order_to_sale_order/static/description/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..d547d9cb33b6de7e15750707cc6dd319514bdc83 GIT binary patch literal 19127 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 AMgRZ+ literal 0 HcmV?d00001 diff --git a/pos_order_to_sale_order/static/description/index.html b/pos_order_to_sale_order/static/description/index.html new file mode 100644 index 0000000000..738fc8ef25 --- /dev/null +++ b/pos_order_to_sale_order/static/description/index.html @@ -0,0 +1,496 @@ + + + + + + +PoS Order To Sale Order + + + +
+

PoS Order To Sale Order

+ + +

Production/Stable License: AGPL-3 OCA/pos Translate me on Weblate Try me on Runbot

+

This module extends the functionality of point of sale to allow sale orders +creation from the Point of Sale.

+

In the POS UI, buttons has been added to create a sale order and discard +the current POS order.

+

This module is usefull in many cases, for exemple :

+
    +
  • take orders with a very simple interface
  • +
  • if you have some customers that come every day in your shop, but want to +have a unique invoice at the end of the month. With that module, you can +create a sale order and deliver products every time to keep your stock value +correct, and to create a unique invoice, when you want.
  • +
+

Three options are available:

+
    +
  • Create a draft Order +A new sale order in a draft mode will be created that can be changed later.
  • +
+
+https://raw.githubusercontent.com/OCA/pos/8.0/pos_order_to_sale_order/static/description/pos_create_picking_option_1.png +
+
    +
  • Create a Confirmed Order +A new sale order will be created and confirmed.
  • +
+
+https://raw.githubusercontent.com/OCA/pos/8.0/pos_order_to_sale_order/static/description/pos_create_picking_option_2.png +
+
    +
  • Create Delivered Picking (by default) +A new sale order will be created and confirmed. the associated picking +will be marked as delivered.
  • +
+
+https://raw.githubusercontent.com/OCA/pos/8.0/pos_order_to_sale_order/static/description/pos_create_picking_option_3.png +
+

Technical Notes

+
    +
  • Some hooks are defined in the JS file, to define custom behaviour after +having created the sale order (and the stock picking).
  • +
  • Some prepare functions are available in the sale.order model, to overload +the creation of the sale order.
  • +
  • You could be interested by another module, pos_sale_order, that completely +alter Point of Sale module, avoiding creating Pos Orders, and creating +allways Sale Orders. +This module is a WIP state, and is available here: +https://github.com/OCA/pos/pull/35
  • +
+

Table of contents

+ +
+

Configuration

+

To configure this module, you need to:

+
    +
  • Go to Point Of Sale / Configuration / Point of Sale
  • +
  • Check the box ‘Create Sale Orders’
  • +
  • Select the desired default behaviour
  • +
+
+https://raw.githubusercontent.com/OCA/pos/8.0/pos_order_to_sale_order/static/description/pos_config_form.png +
+
+
+

Known issues / Roadmap

+
    +
  • Because of the poor design of the Odoo Point of Sale, some basic features +are not available by default, like pricelist, fiscal position, etc … +For that reason, unit price will be recomputed by default, when creating the +sale order, and the unit price of the current bill will not be used.
  • +
+

Note that this problem is fixed if pos_pricelist is installed. +(same repository) In that cases, the pricelist, the unit prices and the taxes +will be the same in the order, as in the displayed bill.

+
+https://raw.githubusercontent.com/OCA/pos/8.0/pos_order_to_sale_order/static/description/pos_create_picking_confirm.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
  • +
+
+ +
+

Maintainers

+

This module is maintained by the OCA.

+Odoo Community Association +

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.

+

Current maintainer:

+

legalsylvain

+

This module is part of the OCA/pos project on GitHub.

+

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.

+
+
+
+ + diff --git a/pos_order_to_sale_order/static/description/pos_config_form.png b/pos_order_to_sale_order/static/description/pos_config_form.png new file mode 100644 index 0000000000000000000000000000000000000000..54076c8272ffc30315af5d9fb4ac3b45e6d0ddbd GIT binary patch literal 38384 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 literal 0 HcmV?d00001 diff --git a/pos_order_to_sale_order/static/description/pos_create_picking_confirm.png b/pos_order_to_sale_order/static/description/pos_create_picking_confirm.png new file mode 100644 index 0000000000000000000000000000000000000000..436e20a77c64685e03e67a4a384b4e44ed7b9a7f GIT binary patch literal 28607 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 literal 0 HcmV?d00001 diff --git a/pos_order_to_sale_order/static/description/pos_create_picking_option_1.png b/pos_order_to_sale_order/static/description/pos_create_picking_option_1.png new file mode 100644 index 0000000000000000000000000000000000000000..b69fa6f10678b0d98a67fc79f3b334ca1c61d0a9 GIT binary patch literal 20272 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 literal 0 HcmV?d00001 diff --git a/pos_order_to_sale_order/static/description/pos_create_picking_option_2.png b/pos_order_to_sale_order/static/description/pos_create_picking_option_2.png new file mode 100644 index 0000000000000000000000000000000000000000..46739f6cf487da1db3be2f78d5b9fba723000b67 GIT binary patch literal 21565 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 Th=~)f`XqX&V+5+X=NS86Ug+#> literal 0 HcmV?d00001 diff --git a/pos_order_to_sale_order/static/description/pos_create_picking_option_3.png b/pos_order_to_sale_order/static/description/pos_create_picking_option_3.png new file mode 100644 index 0000000000000000000000000000000000000000..28c3d02ce86cb8b90a1a54cf6683df7c6f926f07 GIT binary patch literal 20484 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 literal 0 HcmV?d00001 diff --git a/pos_order_to_sale_order/static/src/css/pos_order_to_sale_order.css b/pos_order_to_sale_order/static/src/css/pos_order_to_sale_order.css new file mode 100644 index 0000000000..6915cf9f1e --- /dev/null +++ b/pos_order_to_sale_order/static/src/css/pos_order_to_sale_order.css @@ -0,0 +1,4 @@ +.blockUI.blockOverlay { + background-color: black; + opacity: 0.6; +} diff --git a/pos_order_to_sale_order/static/src/js/pos_order_to_sale_order.js b/pos_order_to_sale_order/static/src/js/pos_order_to_sale_order.js new file mode 100644 index 0000000000..5a7840dae1 --- /dev/null +++ b/pos_order_to_sale_order/static/src/js/pos_order_to_sale_order.js @@ -0,0 +1,221 @@ +/* *************************************************************************** + Copyright (C) 2017 - Today: GRAP (http://www.grap.coop) + Copyright (C) 2019 - Today: Guadaltech (http://www.guadaltech.es) + @author: Sylvain LE GAL (https://twitter.com/legalsylvain) + License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). +**************************************************************************** */ +odoo.define('pos_order_to_sale_order.pos_order_to_sale_order',function(require){ + + "use strict"; + + var core = require('web.core'); + var models = require('point_of_sale.models'); + var Chrome = require('point_of_sale.chrome'); + var screens = require('point_of_sale.screens'); + var PosBaseWidget = require('point_of_sale.BaseWidget'); + var rpc = require('web.rpc'); + var _t = core._t; + + + /* ************************************************************************ + New Widget CreateSaleOrderButtonWidget + ************************************************************************ */ + + var CreateSaleOrderButtonWidget = PosBaseWidget.extend({ + template: 'CreateSaleOrderButtonWidget', + + /** + * Define all the confirmation messages. + */ + init: function (parent, options) { + //var self = this + this._super(parent, options); + this.sale_order_state = options.sale_order_state; + if (this.sale_order_state === 'draft') { + this.display_text = _t("Create Draft Order"); + this.confirmation_message = _t( + 'Create Draft Sale Order and discard the current' + + ' PoS Order?'); + this.confirmation_comment = _t( + "This operation will permanently discard the current PoS" + + " Order and create a draft Sale Order, based on the" + + " current order lines."); + } else if (options.sale_order_state === 'confirmed') { + this.display_text = _t("Create Confirmed Order"); + this.confirmation_message = _t( + 'Create Confirmed Sale Order and discard the current' + + ' PoS Order?'); + this.confirmation_comment = _t( + "This operation will permanently discard the current PoS" + + " Order and create a confirmed Sale Order, based on the" + + " current order lines."); + } else if (options.sale_order_state === 'delivered') { + this.display_text = _t("Create Delivered Order"); + this.confirmation_message = _t( + 'Create Delivered Sale Order and discard the current' + + ' PoS Order?'); + this.confirmation_comment = _t( + "This operation will permanently discard the current PoS" + + " Order and create a confirmed Sale Order, based on the" + + " current order lines. The according picking will be" + + " marked as delivered."); + } + if (! this.pos.pricelist_engine) { + this.confirmation_comment += _t( + "\nNote if you have manually changed unit prices for" + + " some products, this changes will not been taken into" + + " account in the sale order.") + } + }, + + /** + * Define onclick function when the button to create sale order is + * clicked. + * - On click, check if there is a customer defined, + * - ask confirmation call server to create sale order, and delete + * the current order. + */ + renderElement: function () { + var self = this; + this._super(); + this.$el.click(function () { + var current_order = self.pos.get('selectedOrder'); + // Prevent empty delivery order + if (!current_order.orderlines) { + self.gui.show_popup('error', { + title: _t('Empty Order'), + body: _t( + 'There must be at least one product in your' + + ' order to create Sale Order.'), + }); + return; + } + // Check Customer + if (!current_order.get_client()) { + self.gui.show_popup('error', { + title: _t('No customer defined'), + body: _t( + 'You should select a customer in order to create' + + ' a Sale Order. Please select one by clicking' + + ' the order tab.'), + }); + return; + } + self.gui.show_popup('confirm', { + message: self.confirmation_message, + comment: self.confirmation_comment, + confirm: function () { + + rpc.query({model: 'sale.order', method: 'create_order_from_pos',args: [self.prepare_create_sale_order(current_order)]}) + .then(function (result) { + $.unblockUI(); + self.hook_create_sale_order_success(result); + + },function(err,ev){ + $.unblockUI(); + self.hook_create_sale_order_error(err, ev); + } + ); + }, + }); + }); + }, + + /** + * Overloadable function to send custom sale order data to server + */ + prepare_create_sale_order: function (order) { + var res = order.export_as_JSON(); + res.sale_order_state = this.sale_order_state; + return res; + }, + + /** + * Overloadable function to make custom action after Sale order + * Creation succeeded + */ + hook_create_sale_order_success: function (result) { + this.pos.get('selectedOrder').destroy(); + }, + + /** + * Overloadable function to make custom action after Sale order + * Creation failed + */ + hook_create_sale_order_error: function (error, event) { + event.preventDefault(); + var self = this; + if (error.code === 200) { + // Business Logic Error, not a connection problem + self.gui.show_popup('error-traceback', { + title: error.data.message, + body: error.data.debug, + }); + } else { + // Connexion problem + self.gui.show_popup('error', { + title: _t('The order could not be sent'), + body: _t( + 'Check your internet connection and try again.'), + }); + } + }, + + }); + + + /* ************************************************************************ + Extend PosWidget: + ************************************************************************ */ + Chrome.Chrome.include({ + + build_widgets: function () { + this._super(); + if (this.pos.config.iface_create_draft_sale_order) { + this.create_draft_sale_order_button = new CreateSaleOrderButtonWidget(this, {'sale_order_state': 'draft'}); + this.create_draft_sale_order_button.appendTo(this.$('ul.orderlines')); + } + if (this.pos.config.iface_create_confirmed_sale_order) { + this.create_confirmed_sale_order_button = new CreateSaleOrderButtonWidget(this, {'sale_order_state': 'confirmed'}); + this.create_confirmed_sale_order_button.appendTo( + this.$('ul.orderlines')); + } + if (this.pos.config.iface_create_delivered_sale_order) { + this.create_delivered_sale_order_button = new CreateSaleOrderButtonWidget(this, {'sale_order_state': 'delivered'}); + this.create_delivered_sale_order_button.appendTo( + this.$('ul.orderlines')); + } + }, + }); + + + /* ************************************************************************ + Extend OrderWidget + ************************************************************************ */ + screens.OrderWidget.include({ + + /** + * Overload renderElement(), to display buttons when the order change. + */ + renderElement: function (scrollbottom) { + this._super(scrollbottom); + if (this.create_draft_sale_order_button) { + this.create_draft_sale_order_button.appendTo( + this.$('ul.orderlines') + ); + } + if (this.create_confirmed_sale_order_button) { + this.create_confirmed_sale_order_button.appendTo( + this.$('ul.orderlines') + ); + } + if (this.create_delivered_sale_order_button) { + this.create_delivered_sale_order_button.appendTo( + this.$('ul.orderlines') + ); + } + + }, + }); + +}); diff --git a/pos_order_to_sale_order/static/src/xml/pos_order_to_sale_order.xml b/pos_order_to_sale_order/static/src/xml/pos_order_to_sale_order.xml new file mode 100644 index 0000000000..b6bfd57908 --- /dev/null +++ b/pos_order_to_sale_order/static/src/xml/pos_order_to_sale_order.xml @@ -0,0 +1,13 @@ + + diff --git a/pos_order_to_sale_order/views/pos_order_to_sale_order.xml b/pos_order_to_sale_order/views/pos_order_to_sale_order.xml new file mode 100644 index 0000000000..2868d11c0b --- /dev/null +++ b/pos_order_to_sale_order/views/pos_order_to_sale_order.xml @@ -0,0 +1,9 @@ + + + + diff --git a/pos_order_to_sale_order/views/view_pos_config.xml b/pos_order_to_sale_order/views/view_pos_config.xml new file mode 100644 index 0000000000..0a69ea32e6 --- /dev/null +++ b/pos_order_to_sale_order/views/view_pos_config.xml @@ -0,0 +1,40 @@ + + + + + pos.config + + + +

Create Sale From POS

+
+
+
+ +
+
+
+
+
+
+ +
+
+
+
+
+
+ +
+
+
+
+
+
+
+
+ +