From c14ed5b4ef0e887f77f1b68ebc94c83d0fe32d9d Mon Sep 17 00:00:00 2001 From: santiky Date: Tue, 14 Sep 2021 14:07:34 +0200 Subject: [PATCH] =?UTF-8?q?A=C3=B1adidos=20m=C3=B3dulos=20de=20OCA/e-comme?= =?UTF-8?q?rce=20para=20la=20tienda=20online?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- website_sale_stock_available/README.rst | 127 +++++ website_sale_stock_available/__init__.py | 3 + website_sale_stock_available/__manifest__.py | 19 + .../controllers/__init__.py | 1 + .../controllers/main.py | 14 + website_sale_stock_available/i18n/ca.po | 32 ++ website_sale_stock_available/i18n/es.po | 32 ++ website_sale_stock_available/i18n/es_CL.po | 32 ++ website_sale_stock_available/i18n/fr.po | 32 ++ website_sale_stock_available/i18n/nl.po | 32 ++ .../models/__init__.py | 5 + .../models/product_product.py | 19 + .../models/product_template.py | 17 + .../models/sale_order.py | 15 + .../readme/CONFIGURE.rst | 12 + .../readme/CONTRIBUTORS.rst | 4 + .../readme/DESCRIPTION.rst | 19 + website_sale_stock_available/readme/USAGE.rst | 13 + .../description/availability_message.png | Bin 0 -> 99622 bytes .../static/description/icon.png | Bin 0 -> 9455 bytes .../static/description/index.html | 470 +++++++++++++++++ .../static/description/product_quantities.png | Bin 0 -> 70477 bytes .../tests/__init__.py | 3 + .../test_website_sale_stock_available.py | 73 +++ .../README.rst | 91 ++++ .../__init__.py | 2 + .../__manifest__.py | 23 + .../data/demo.xml | 25 + .../i18n/ca.po | 91 ++++ .../i18n/de.po | 94 ++++ .../i18n/es.po | 99 ++++ .../i18n/fr.po | 91 ++++ .../i18n/nl.po | 86 ++++ .../models/__init__.py | 2 + .../models/product_template.py | 12 + .../models/res_config_settings.py | 13 + .../readme/CONTRIBUTORS.rst | 3 + .../readme/DESCRIPTION.rst | 5 + .../readme/USAGE.rst | 8 + .../static/description/icon.png | Bin 0 -> 9455 bytes .../static/description/index.html | 443 ++++++++++++++++ .../website_sale_stock_available_display.js | 15 + ...bsite_sale_stock_available_display_tour.js | 59 +++ ...ebsite_sale_stock_product_availability.xml | 20 + .../tests/__init__.py | 1 + ...st_website_sale_stock_available_display.py | 57 +++ .../views/assets.xml | 11 + .../views/product_template_views.xml | 17 + .../views/templates.xml | 35 ++ website_snippet_carousel_product/README.rst | 123 +++++ website_snippet_carousel_product/__init__.py | 2 + .../__manifest__.py | 15 + .../controllers/__init__.py | 2 + .../controllers/website.py | 56 ++ website_snippet_carousel_product/i18n/ca.po | 134 +++++ website_snippet_carousel_product/i18n/es.po | 134 +++++ website_snippet_carousel_product/i18n/fr.po | 134 +++++ website_snippet_carousel_product/i18n/nl.po | 132 +++++ .../readme/CONFIGURE.rst | 15 + .../readme/CONTRIBUTORS.rst | 6 + .../readme/DESCRIPTION.rst | 2 + .../readme/ROADMAP.rst | 4 + .../readme/USAGE.rst | 5 + .../static/description/icon.png | Bin 0 -> 6440 bytes .../static/description/index.html | 476 +++++++++++++++++ .../src/js/s_product_carousel_frontend.js | 108 ++++ .../static/src/js/snippet.options.js | 144 ++++++ .../static/src/scss/s_product_carousel.scss | 11 + .../templates/assets.xml | 26 + .../templates/snippet.xml | 196 +++++++ website_snippet_product_category/README.rst | 136 +++++ website_snippet_product_category/__init__.py | 2 + .../__manifest__.py | 23 + .../controllers/__init__.py | 1 + .../controllers/website.py | 24 + .../demo/demo.xml | 62 +++ .../demo/pages.xml | 28 + website_snippet_product_category/i18n/ca.po | 69 +++ website_snippet_product_category/i18n/es.po | 68 +++ website_snippet_product_category/i18n/fr.po | 70 +++ website_snippet_product_category/i18n/nl.po | 68 +++ .../models/__init__.py | 2 + .../models/product_public_category.py | 8 + .../readme/CONFIGURE.rst | 5 + .../readme/CONTRIBUTORS.rst | 4 + .../readme/CREDITS.rst | 1 + .../readme/DESCRIPTION.rst | 1 + .../readme/ROADMAP.rst | 4 + .../readme/USAGE.rst | 26 + .../static/description/icon.png | Bin 0 -> 9455 bytes .../static/description/index.html | 481 ++++++++++++++++++ .../static/img/boxes_32.png | Bin 0 -> 697 bytes .../static/src/img/s_product_category.png | Bin 0 -> 372 bytes .../static/src/js/frontend.js | 86 ++++ .../static/src/js/snippet.options.js | 17 + .../static/src/scss/snippet.scss | 37 ++ .../templates/assets.xml | 27 + .../templates/snippets.xml | 85 ++++ .../views/product_public_category.xml | 22 + 99 files changed, 5359 insertions(+) create mode 100644 website_sale_stock_available/README.rst create mode 100644 website_sale_stock_available/__init__.py create mode 100644 website_sale_stock_available/__manifest__.py create mode 100644 website_sale_stock_available/controllers/__init__.py create mode 100644 website_sale_stock_available/controllers/main.py create mode 100644 website_sale_stock_available/i18n/ca.po create mode 100644 website_sale_stock_available/i18n/es.po create mode 100644 website_sale_stock_available/i18n/es_CL.po create mode 100644 website_sale_stock_available/i18n/fr.po create mode 100644 website_sale_stock_available/i18n/nl.po create mode 100644 website_sale_stock_available/models/__init__.py create mode 100644 website_sale_stock_available/models/product_product.py create mode 100644 website_sale_stock_available/models/product_template.py create mode 100644 website_sale_stock_available/models/sale_order.py create mode 100644 website_sale_stock_available/readme/CONFIGURE.rst create mode 100644 website_sale_stock_available/readme/CONTRIBUTORS.rst create mode 100644 website_sale_stock_available/readme/DESCRIPTION.rst create mode 100644 website_sale_stock_available/readme/USAGE.rst create mode 100644 website_sale_stock_available/static/description/availability_message.png create mode 100644 website_sale_stock_available/static/description/icon.png create mode 100644 website_sale_stock_available/static/description/index.html create mode 100644 website_sale_stock_available/static/description/product_quantities.png create mode 100644 website_sale_stock_available/tests/__init__.py create mode 100644 website_sale_stock_available/tests/test_website_sale_stock_available.py create mode 100644 website_sale_stock_available_display/README.rst create mode 100644 website_sale_stock_available_display/__init__.py create mode 100644 website_sale_stock_available_display/__manifest__.py create mode 100644 website_sale_stock_available_display/data/demo.xml create mode 100644 website_sale_stock_available_display/i18n/ca.po create mode 100644 website_sale_stock_available_display/i18n/de.po create mode 100644 website_sale_stock_available_display/i18n/es.po create mode 100644 website_sale_stock_available_display/i18n/fr.po create mode 100644 website_sale_stock_available_display/i18n/nl.po create mode 100644 website_sale_stock_available_display/models/__init__.py create mode 100644 website_sale_stock_available_display/models/product_template.py create mode 100644 website_sale_stock_available_display/models/res_config_settings.py create mode 100644 website_sale_stock_available_display/readme/CONTRIBUTORS.rst create mode 100644 website_sale_stock_available_display/readme/DESCRIPTION.rst create mode 100644 website_sale_stock_available_display/readme/USAGE.rst create mode 100644 website_sale_stock_available_display/static/description/icon.png create mode 100644 website_sale_stock_available_display/static/description/index.html create mode 100644 website_sale_stock_available_display/static/src/js/website_sale_stock_available_display.js create mode 100644 website_sale_stock_available_display/static/src/js/website_sale_stock_available_display_tour.js create mode 100644 website_sale_stock_available_display/static/src/xml/website_sale_stock_product_availability.xml create mode 100644 website_sale_stock_available_display/tests/__init__.py create mode 100644 website_sale_stock_available_display/tests/test_website_sale_stock_available_display.py create mode 100644 website_sale_stock_available_display/views/assets.xml create mode 100755 website_sale_stock_available_display/views/product_template_views.xml create mode 100755 website_sale_stock_available_display/views/templates.xml create mode 100644 website_snippet_carousel_product/README.rst create mode 100644 website_snippet_carousel_product/__init__.py create mode 100644 website_snippet_carousel_product/__manifest__.py create mode 100644 website_snippet_carousel_product/controllers/__init__.py create mode 100644 website_snippet_carousel_product/controllers/website.py create mode 100644 website_snippet_carousel_product/i18n/ca.po create mode 100644 website_snippet_carousel_product/i18n/es.po create mode 100644 website_snippet_carousel_product/i18n/fr.po create mode 100644 website_snippet_carousel_product/i18n/nl.po create mode 100644 website_snippet_carousel_product/readme/CONFIGURE.rst create mode 100644 website_snippet_carousel_product/readme/CONTRIBUTORS.rst create mode 100644 website_snippet_carousel_product/readme/DESCRIPTION.rst create mode 100644 website_snippet_carousel_product/readme/ROADMAP.rst create mode 100644 website_snippet_carousel_product/readme/USAGE.rst create mode 100644 website_snippet_carousel_product/static/description/icon.png create mode 100644 website_snippet_carousel_product/static/description/index.html create mode 100644 website_snippet_carousel_product/static/src/js/s_product_carousel_frontend.js create mode 100644 website_snippet_carousel_product/static/src/js/snippet.options.js create mode 100644 website_snippet_carousel_product/static/src/scss/s_product_carousel.scss create mode 100644 website_snippet_carousel_product/templates/assets.xml create mode 100644 website_snippet_carousel_product/templates/snippet.xml create mode 100644 website_snippet_product_category/README.rst create mode 100644 website_snippet_product_category/__init__.py create mode 100644 website_snippet_product_category/__manifest__.py create mode 100644 website_snippet_product_category/controllers/__init__.py create mode 100644 website_snippet_product_category/controllers/website.py create mode 100644 website_snippet_product_category/demo/demo.xml create mode 100644 website_snippet_product_category/demo/pages.xml create mode 100644 website_snippet_product_category/i18n/ca.po create mode 100644 website_snippet_product_category/i18n/es.po create mode 100644 website_snippet_product_category/i18n/fr.po create mode 100644 website_snippet_product_category/i18n/nl.po create mode 100644 website_snippet_product_category/models/__init__.py create mode 100644 website_snippet_product_category/models/product_public_category.py create mode 100644 website_snippet_product_category/readme/CONFIGURE.rst create mode 100644 website_snippet_product_category/readme/CONTRIBUTORS.rst create mode 100644 website_snippet_product_category/readme/CREDITS.rst create mode 100644 website_snippet_product_category/readme/DESCRIPTION.rst create mode 100644 website_snippet_product_category/readme/ROADMAP.rst create mode 100644 website_snippet_product_category/readme/USAGE.rst create mode 100644 website_snippet_product_category/static/description/icon.png create mode 100644 website_snippet_product_category/static/description/index.html create mode 100644 website_snippet_product_category/static/img/boxes_32.png create mode 100644 website_snippet_product_category/static/src/img/s_product_category.png create mode 100644 website_snippet_product_category/static/src/js/frontend.js create mode 100644 website_snippet_product_category/static/src/js/snippet.options.js create mode 100644 website_snippet_product_category/static/src/scss/snippet.scss create mode 100644 website_snippet_product_category/templates/assets.xml create mode 100644 website_snippet_product_category/templates/snippets.xml create mode 100644 website_snippet_product_category/views/product_public_category.xml diff --git a/website_sale_stock_available/README.rst b/website_sale_stock_available/README.rst new file mode 100644 index 0000000..9c207b7 --- /dev/null +++ b/website_sale_stock_available/README.rst @@ -0,0 +1,127 @@ +============================ +Website Sale Stock Available +============================ + +.. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! This file is generated by oca-gen-addon-readme !! + !! changes will be overwritten. !! + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +.. |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%2Fe--commerce-lightgray.png?logo=github + :target: https://github.com/OCA/e-commerce/tree/12.0/website_sale_stock_available + :alt: OCA/e-commerce +.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png + :target: https://translation.odoo-community.org/projects/e-commerce-12-0/e-commerce-12-0-website_sale_stock_available + :alt: Translate me on Weblate +.. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png + :target: https://runbot.odoo-community.org/runbot/113/12.0 + :alt: Try me on Runbot + +|badge1| |badge2| |badge3| |badge4| |badge5| + +This module extends the functionality of 'Product Availability' module +(Technical name: website_sale_stock) so that for the 'Website shop' the +'Available' quantity of a product is taken into account instead of +'Forecasted' quantity. + +This image shows where you can see those quantities: + +.. image:: https://raw.githubusercontent.com/OCA/e-commerce/12.0/website_sale_stock_available/static/description/product_quantities.png + :width: 600 px + :alt: Product quantities + +| + +If a product is configured to 'prevent sales if not enough stock' +(see configuration section) and its page is accessed in the Website Shop, +the availability messages will be based on the 'Available' quantity instead of +'Forecasted' quantity. And also, the Website shop wont allow you to buy more +products than 'Available' quantity (not 'Forecasted' quantity is taken +into account). + +**Table of contents** + +.. contents:: + :local: + +Configuration +============= + +To configure this module, you need to: + +#. Go to *Inventory > Master Data > Products* and edit a product that + you only want to sell in the website shop if there is enough stock. +#. Navigate to 'Availability' field in the 'eCommerce' tab and set + one of these options: + + * Show inventory on website and prevent sales if not enough stock + * Show inventory below a threshold and prevent sales if not enough stock. +#. Go to *Inventory > Configuration > Settings*, navigate to *Stock available + to promise* section and set the desired option. If you do not choose any, + the value of 'Available' quantity will be equal to 'Forecasted' quantity. + +Usage +===== + +To use this module, you need to: + +#. Go to your Website shop. +#. Select a product that you has previously configured to 'prevent sales + if not enough stock' for the web product page. +#. Odoo doesn't allow you to add the product to the car if 'Available' + quantity (not 'Forecasted' quantity) is equal or less than zero. + Besides, availability messages will be based on the 'Available' + quantity instead of the 'Forecasted' quantity. + +.. image:: https://raw.githubusercontent.com/OCA/e-commerce/12.0/website_sale_stock_available/static/description/availability_message.png + :width: 600 px + :alt: Availability message + +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 +~~~~~~~ + +* Tecnativa + +Contributors +~~~~~~~~~~~~ + +* `Tecnativa `_: + + * Ernesto Tejeda + * Pedro M. Baeza + +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/e-commerce `_ project on GitHub. + +You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/website_sale_stock_available/__init__.py b/website_sale_stock_available/__init__.py new file mode 100644 index 0000000..df9b9c2 --- /dev/null +++ b/website_sale_stock_available/__init__.py @@ -0,0 +1,3 @@ +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). +from . import controllers +from . import models diff --git a/website_sale_stock_available/__manifest__.py b/website_sale_stock_available/__manifest__.py new file mode 100644 index 0000000..25e543f --- /dev/null +++ b/website_sale_stock_available/__manifest__.py @@ -0,0 +1,19 @@ +# Copyright 2020 Tecnativa - Ernesto Tejeda +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). +{ + "name": "Website Sale Stock Available", + "summary": "Display 'Available to promise' in shop online " + "instead 'Quantity On Hand'", + "version": "12.0.1.0.3", + "category": "Website", + "website": "https://github.com/OCA/e-commerce", + "author": "Tecnativa, Odoo Community Association (OCA)", + "license": "AGPL-3", + "depends": [ + "stock_available", + "website_sale_stock", + ], + "data": [ + ], + "installable": True, +} diff --git a/website_sale_stock_available/controllers/__init__.py b/website_sale_stock_available/controllers/__init__.py new file mode 100644 index 0000000..12a7e52 --- /dev/null +++ b/website_sale_stock_available/controllers/__init__.py @@ -0,0 +1 @@ +from . import main diff --git a/website_sale_stock_available/controllers/main.py b/website_sale_stock_available/controllers/main.py new file mode 100644 index 0000000..5cb3325 --- /dev/null +++ b/website_sale_stock_available/controllers/main.py @@ -0,0 +1,14 @@ +# Copyright 2020 Tecnativa - David Vidal +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). +from odoo.addons.website_sale_stock.controllers.main import WebsiteSale +from odoo.http import request, route + + +class WebsiteSale(WebsiteSale): + + @route() + def payment_transaction(self, *args, **kwargs): + """Inject a context when potencial or promised stock is set""" + request.website = request.website.with_context( + website_sale_stock_available=True) + return super().payment_transaction(*args, **kwargs) diff --git a/website_sale_stock_available/i18n/ca.po b/website_sale_stock_available/i18n/ca.po new file mode 100644 index 0000000..7a7ba18 --- /dev/null +++ b/website_sale_stock_available/i18n/ca.po @@ -0,0 +1,32 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * website_sale_stock_available +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 12.0\n" +"Report-Msgid-Bugs-To: \n" +"PO-Revision-Date: 2021-01-20 20:45+0000\n" +"Last-Translator: claudiagn \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: website_sale_stock_available +#: model:ir.model,name:website_sale_stock_available.model_product_product +msgid "Product" +msgstr "Producte" + +#. module: website_sale_stock_available +#: model:ir.model,name:website_sale_stock_available.model_product_template +msgid "Product Template" +msgstr "Plantilla de producte" + +#. module: website_sale_stock_available +#: model:ir.model,name:website_sale_stock_available.model_sale_order +msgid "Sale Order" +msgstr "Comanda de venda" diff --git a/website_sale_stock_available/i18n/es.po b/website_sale_stock_available/i18n/es.po new file mode 100644 index 0000000..92cd693 --- /dev/null +++ b/website_sale_stock_available/i18n/es.po @@ -0,0 +1,32 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * website_sale_stock_available +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 12.0\n" +"Report-Msgid-Bugs-To: \n" +"PO-Revision-Date: 2020-11-03 13:08+0000\n" +"Last-Translator: claudiagn \n" +"Language-Team: none\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 3.10\n" + +#. module: website_sale_stock_available +#: model:ir.model,name:website_sale_stock_available.model_product_product +msgid "Product" +msgstr "Producto" + +#. module: website_sale_stock_available +#: model:ir.model,name:website_sale_stock_available.model_product_template +msgid "Product Template" +msgstr "Plantilla de producto" + +#. module: website_sale_stock_available +#: model:ir.model,name:website_sale_stock_available.model_sale_order +msgid "Sale Order" +msgstr "Pedido de venta" diff --git a/website_sale_stock_available/i18n/es_CL.po b/website_sale_stock_available/i18n/es_CL.po new file mode 100644 index 0000000..47fc52f --- /dev/null +++ b/website_sale_stock_available/i18n/es_CL.po @@ -0,0 +1,32 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * website_sale_stock_available +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 12.0\n" +"Report-Msgid-Bugs-To: \n" +"PO-Revision-Date: 2020-05-30 05:19+0000\n" +"Last-Translator: Nelson Ramírez Sánchez \n" +"Language-Team: none\n" +"Language: es_CL\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 3.10\n" + +#. module: website_sale_stock_available +#: model:ir.model,name:website_sale_stock_available.model_product_product +msgid "Product" +msgstr "Producto" + +#. module: website_sale_stock_available +#: model:ir.model,name:website_sale_stock_available.model_product_template +msgid "Product Template" +msgstr "Plantilla de Producto" + +#. module: website_sale_stock_available +#: model:ir.model,name:website_sale_stock_available.model_sale_order +msgid "Sale Order" +msgstr "Nota de Venta" diff --git a/website_sale_stock_available/i18n/fr.po b/website_sale_stock_available/i18n/fr.po new file mode 100644 index 0000000..2ec0b67 --- /dev/null +++ b/website_sale_stock_available/i18n/fr.po @@ -0,0 +1,32 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * website_sale_stock_available +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 12.0\n" +"Report-Msgid-Bugs-To: \n" +"PO-Revision-Date: 2020-11-23 15:36+0000\n" +"Last-Translator: Yann Papouin \n" +"Language-Team: none\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" +"X-Generator: Weblate 3.10\n" + +#. module: website_sale_stock_available +#: model:ir.model,name:website_sale_stock_available.model_product_product +msgid "Product" +msgstr "Article" + +#. module: website_sale_stock_available +#: model:ir.model,name:website_sale_stock_available.model_product_template +msgid "Product Template" +msgstr "Modèle d'article" + +#. module: website_sale_stock_available +#: model:ir.model,name:website_sale_stock_available.model_sale_order +msgid "Sale Order" +msgstr "Commande client" diff --git a/website_sale_stock_available/i18n/nl.po b/website_sale_stock_available/i18n/nl.po new file mode 100644 index 0000000..9027210 --- /dev/null +++ b/website_sale_stock_available/i18n/nl.po @@ -0,0 +1,32 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * website_sale_stock_available +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 12.0\n" +"Report-Msgid-Bugs-To: \n" +"PO-Revision-Date: 2020-12-15 13:19+0000\n" +"Last-Translator: Bosd \n" +"Language-Team: none\n" +"Language: 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" +"X-Generator: Weblate 4.3.2\n" + +#. module: website_sale_stock_available +#: model:ir.model,name:website_sale_stock_available.model_product_product +msgid "Product" +msgstr "Product" + +#. module: website_sale_stock_available +#: model:ir.model,name:website_sale_stock_available.model_product_template +msgid "Product Template" +msgstr "Product Sjabloon" + +#. module: website_sale_stock_available +#: model:ir.model,name:website_sale_stock_available.model_sale_order +msgid "Sale Order" +msgstr "Verkoop order" diff --git a/website_sale_stock_available/models/__init__.py b/website_sale_stock_available/models/__init__.py new file mode 100644 index 0000000..5486cb6 --- /dev/null +++ b/website_sale_stock_available/models/__init__.py @@ -0,0 +1,5 @@ +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html). + +from . import product_product +from . import product_template +from . import sale_order diff --git a/website_sale_stock_available/models/product_product.py b/website_sale_stock_available/models/product_product.py new file mode 100644 index 0000000..45fe063 --- /dev/null +++ b/website_sale_stock_available/models/product_product.py @@ -0,0 +1,19 @@ +# Copyright 2020 Tecnativa - Ernesto Tejeda +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from odoo import models + + +class Product(models.Model): + _inherit = 'product.product' + + def _compute_quantities_dict(self, lot_id, owner_id, package_id, + from_date=False, to_date=False): + res = super()._compute_quantities_dict( + lot_id, owner_id, package_id, from_date, to_date) + if self.env.context.get('website_sale_stock_available'): + for product in self.with_context( + website_sale_stock_available=False): + immediately = product.immediately_usable_qty + res[product.id]['virtual_available'] = immediately + return res diff --git a/website_sale_stock_available/models/product_template.py b/website_sale_stock_available/models/product_template.py new file mode 100644 index 0000000..7d052a7 --- /dev/null +++ b/website_sale_stock_available/models/product_template.py @@ -0,0 +1,17 @@ +# Copyright 2020 Tecnativa - Ernesto Tejeda +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from odoo import models, api + + +class ProductTemplate(models.Model): + _inherit = 'product.template' + + @api.multi + def _get_combination_info(self, combination=False, product_id=False, + add_qty=1, pricelist=False, + parent_combination=False, only_template=False): + template = self.with_context(website_sale_stock_available=True) + return super(ProductTemplate, template)._get_combination_info( + combination, product_id, add_qty, pricelist, parent_combination, + only_template) diff --git a/website_sale_stock_available/models/sale_order.py b/website_sale_stock_available/models/sale_order.py new file mode 100644 index 0000000..76d20b6 --- /dev/null +++ b/website_sale_stock_available/models/sale_order.py @@ -0,0 +1,15 @@ +# Copyright 2020 Tecnativa - Ernesto Tejeda +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). + +from odoo import api, models + + +class SaleOrder(models.Model): + _inherit = 'sale.order' + + @api.multi + def _cart_update(self, product_id=None, line_id=None, add_qty=0, + set_qty=0, **kwargs): + order = self.with_context(website_sale_stock_available=True) + return super(SaleOrder, order)._cart_update( + product_id, line_id, add_qty, set_qty, **kwargs) diff --git a/website_sale_stock_available/readme/CONFIGURE.rst b/website_sale_stock_available/readme/CONFIGURE.rst new file mode 100644 index 0000000..5de4f57 --- /dev/null +++ b/website_sale_stock_available/readme/CONFIGURE.rst @@ -0,0 +1,12 @@ +To configure this module, you need to: + +#. Go to *Inventory > Master Data > Products* and edit a product that + you only want to sell in the website shop if there is enough stock. +#. Navigate to 'Availability' field in the 'eCommerce' tab and set + one of these options: + + * Show inventory on website and prevent sales if not enough stock + * Show inventory below a threshold and prevent sales if not enough stock. +#. Go to *Inventory > Configuration > Settings*, navigate to *Stock available + to promise* section and set the desired option. If you do not choose any, + the value of 'Available' quantity will be equal to 'Forecasted' quantity. diff --git a/website_sale_stock_available/readme/CONTRIBUTORS.rst b/website_sale_stock_available/readme/CONTRIBUTORS.rst new file mode 100644 index 0000000..b31cef3 --- /dev/null +++ b/website_sale_stock_available/readme/CONTRIBUTORS.rst @@ -0,0 +1,4 @@ +* `Tecnativa `_: + + * Ernesto Tejeda + * Pedro M. Baeza diff --git a/website_sale_stock_available/readme/DESCRIPTION.rst b/website_sale_stock_available/readme/DESCRIPTION.rst new file mode 100644 index 0000000..aebdc49 --- /dev/null +++ b/website_sale_stock_available/readme/DESCRIPTION.rst @@ -0,0 +1,19 @@ +This module extends the functionality of 'Product Availability' module +(Technical name: website_sale_stock) so that for the 'Website shop' the +'Available' quantity of a product is taken into account instead of +'Forecasted' quantity. + +This image shows where you can see those quantities: + +.. image:: ../static/description/product_quantities.png + :width: 600 px + :alt: Product quantities + +| + +If a product is configured to 'prevent sales if not enough stock' +(see configuration section) and its page is accessed in the Website Shop, +the availability messages will be based on the 'Available' quantity instead of +'Forecasted' quantity. And also, the Website shop wont allow you to buy more +products than 'Available' quantity (not 'Forecasted' quantity is taken +into account). diff --git a/website_sale_stock_available/readme/USAGE.rst b/website_sale_stock_available/readme/USAGE.rst new file mode 100644 index 0000000..0da1efd --- /dev/null +++ b/website_sale_stock_available/readme/USAGE.rst @@ -0,0 +1,13 @@ +To use this module, you need to: + +#. Go to your Website shop. +#. Select a product that you has previously configured to 'prevent sales + if not enough stock' for the web product page. +#. Odoo doesn't allow you to add the product to the car if 'Available' + quantity (not 'Forecasted' quantity) is equal or less than zero. + Besides, availability messages will be based on the 'Available' + quantity instead of the 'Forecasted' quantity. + +.. image:: ../static/description/availability_message.png + :width: 600 px + :alt: Availability message diff --git a/website_sale_stock_available/static/description/availability_message.png b/website_sale_stock_available/static/description/availability_message.png new file mode 100644 index 0000000000000000000000000000000000000000..e556d6465ea31c1aec595d872593ed8f146e52a1 GIT binary patch literal 99622 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 z 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 Xviia!U7SGha1wx#SCgwmn*{w2TRX*I literal 0 HcmV?d00001 diff --git a/website_sale_stock_available/static/description/index.html b/website_sale_stock_available/static/description/index.html new file mode 100644 index 0000000..7c1b1b8 --- /dev/null +++ b/website_sale_stock_available/static/description/index.html @@ -0,0 +1,470 @@ + + + + + + +Website Sale Stock Available + + + + + + diff --git a/website_sale_stock_available/static/description/product_quantities.png b/website_sale_stock_available/static/description/product_quantities.png new file mode 100644 index 0000000000000000000000000000000000000000..8445154a224adade23267f0b6ae9ad783fa96390 GIT binary patch literal 70477 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 Catalog > Product'*. +#. Set *Show inventory on website and allow sales if not enough stock* in + inventory availability field. +#. You can set a custom message that appears when available stock is less than + 0.0 units. +#. Go to Website Shop. +#. Click in any product that you know that no stock available. +#. You will see '*0 units in stock*' but you will buy this product. + +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 +~~~~~~~ + +* Tecnativa + +Contributors +~~~~~~~~~~~~ + +* `Tecnativa `_: + + * Sergio Teruel + +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/e-commerce `_ project on GitHub. + +You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/website_sale_stock_available_display/__init__.py b/website_sale_stock_available_display/__init__.py new file mode 100644 index 0000000..3275ac2 --- /dev/null +++ b/website_sale_stock_available_display/__init__.py @@ -0,0 +1,2 @@ +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). +from . import models diff --git a/website_sale_stock_available_display/__manifest__.py b/website_sale_stock_available_display/__manifest__.py new file mode 100644 index 0000000..e77d283 --- /dev/null +++ b/website_sale_stock_available_display/__manifest__.py @@ -0,0 +1,23 @@ +# Copyright 2019 Tecnativa - Sergio Teruel +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). +{ + 'name': 'Website Sale Stock Available Display', + 'summary': 'Display stock in shop online and allow to sell with no stock ' + 'available', + 'version': '12.0.1.2.1', + 'development_status': 'Beta', + 'category': 'Website', + 'website': 'https://github.com/OCA/e-commerce', + 'author': 'Tecnativa, Odoo Community Association (OCA)', + 'license': 'AGPL-3', + 'application': False, + 'installable': True, + 'depends': [ + 'website_sale_stock', + ], + 'data': [ + 'views/assets.xml', + 'views/product_template_views.xml', + 'views/templates.xml', + ], +} diff --git a/website_sale_stock_available_display/data/demo.xml b/website_sale_stock_available_display/data/demo.xml new file mode 100644 index 0000000..665ea4b --- /dev/null +++ b/website_sale_stock_available_display/data/demo.xml @@ -0,0 +1,25 @@ + + + + + Computer Motherboard + product + always_no_lock + + Available in 10 days + + + + Special Mouse + product + always_no_lock + + + + + + + 10.0 + + + diff --git a/website_sale_stock_available_display/i18n/ca.po b/website_sale_stock_available_display/i18n/ca.po new file mode 100644 index 0000000..f50eb7c --- /dev/null +++ b/website_sale_stock_available_display/i18n/ca.po @@ -0,0 +1,91 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * website_sale_stock_available_display +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 12.0\n" +"Report-Msgid-Bugs-To: \n" +"PO-Revision-Date: 2021-01-20 20:45+0000\n" +"Last-Translator: claudiagn \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: website_sale_stock_available_display +#: model:ir.model.fields,help:website_sale_stock_available_display.field_product_product__inventory_availability +#: model:ir.model.fields,help:website_sale_stock_available_display.field_product_template__inventory_availability +msgid "Adds an inventory availability status on the web product page." +msgstr "" +"Afegeix un estat de disponibilitat d’inventari a la pàgina del producte web." + +#. module: website_sale_stock_available_display +#: selection:product.template,inventory_availability:0 +#: selection:res.config.settings,inventory_availability:0 +msgid "Block sales on website and display a message custom" +msgstr "Bloqueja les vendes al lloc web i mostra un missatge personalitzat" + +#. module: website_sale_stock_available_display +#: model:ir.model,name:website_sale_stock_available_display.model_res_config_settings +msgid "Config Settings" +msgstr "Paràmetres de configuració" + +#. module: website_sale_stock_available_display +#: model:ir.model.fields,field_description:website_sale_stock_available_display.field_product_product__inventory_availability +#: model:ir.model.fields,field_description:website_sale_stock_available_display.field_product_template__inventory_availability +#: model:ir.model.fields,field_description:website_sale_stock_available_display.field_res_config_settings__inventory_availability +msgid "Inventory Availability" +msgstr "Disponibilitat d'inventari" + +#. module: website_sale_stock_available_display +#: model:ir.model,name:website_sale_stock_available_display.model_product_template +msgid "Product Template" +msgstr "Plantilla de producte" + +#. module: website_sale_stock_available_display +#: selection:product.template,inventory_availability:0 +#: selection:res.config.settings,inventory_availability:0 +msgid "Sell regardless of inventory" +msgstr "Vendre independenment del inventari" + +#. module: website_sale_stock_available_display +#: selection:product.template,inventory_availability:0 +#: selection:res.config.settings,inventory_availability:0 +msgid "Show inventory below a threshold and prevent sales if not enough stock" +msgstr "" +"Mostra l'inventari per sota d'un llindar i evita les vendes si no hi ha prou " +"existències" + +#. module: website_sale_stock_available_display +#: selection:product.template,inventory_availability:0 +#: selection:res.config.settings,inventory_availability:0 +msgid "Show inventory on website and allow sales if not enough stock" +msgstr "" +"Mostra l'inventari al lloc web i permet les vendes si no hi ha prou " +"existències" + +#. module: website_sale_stock_available_display +#: selection:product.template,inventory_availability:0 +#: selection:res.config.settings,inventory_availability:0 +msgid "Show inventory on website and prevent sales if not enough stock" +msgstr "" +"Mostra l'inventari al lloc web i evita les vendes si no hi ha prou " +"existències" + +#. module: website_sale_stock_available_display +#: selection:product.template,inventory_availability:0 +#: selection:res.config.settings,inventory_availability:0 +msgid "Show product-specific notifications" +msgstr "Mostra les notificacions específiques del producte" + +#. module: website_sale_stock_available_display +#. openerp-web +#: code:addons/website_sale_stock_available_display/static/src/xml/website_sale_stock_product_availability.xml:10 +#: model_terms:ir.ui.view,arch_db:website_sale_stock_available_display.stock_info +#, python-format +msgid "in stock" +msgstr "en estoc" diff --git a/website_sale_stock_available_display/i18n/de.po b/website_sale_stock_available_display/i18n/de.po new file mode 100644 index 0000000..752c7c8 --- /dev/null +++ b/website_sale_stock_available_display/i18n/de.po @@ -0,0 +1,94 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * website_sale_stock_available_display +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 12.0\n" +"Report-Msgid-Bugs-To: \n" +"PO-Revision-Date: 2020-08-11 17:59+0000\n" +"Last-Translator: André Volksdorf \n" +"Language-Team: none\n" +"Language: de\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 3.10\n" + +#. module: website_sale_stock_available_display +#: model:ir.model.fields,help:website_sale_stock_available_display.field_product_product__inventory_availability +#: model:ir.model.fields,help:website_sale_stock_available_display.field_product_template__inventory_availability +msgid "Adds an inventory availability status on the web product page." +msgstr "" +"Fügt einen Bestandsverfügbarkeitsstatus auf der Produktseite der Website " +"hinzu." + +#. module: website_sale_stock_available_display +#: selection:product.template,inventory_availability:0 +#: selection:res.config.settings,inventory_availability:0 +msgid "Block sales on website and display a message custom" +msgstr "" +"Verkäufe auf der Website blockieren und eine benutzerdefinierte Nachricht " +"anzeigen" + +#. module: website_sale_stock_available_display +#: model:ir.model,name:website_sale_stock_available_display.model_res_config_settings +msgid "Config Settings" +msgstr "Konfigurationseinstellungen" + +#. module: website_sale_stock_available_display +#: model:ir.model.fields,field_description:website_sale_stock_available_display.field_product_product__inventory_availability +#: model:ir.model.fields,field_description:website_sale_stock_available_display.field_product_template__inventory_availability +#: model:ir.model.fields,field_description:website_sale_stock_available_display.field_res_config_settings__inventory_availability +msgid "Inventory Availability" +msgstr "Verfügbarkeit der Bestände" + +#. module: website_sale_stock_available_display +#: model:ir.model,name:website_sale_stock_available_display.model_product_template +msgid "Product Template" +msgstr "Produkt-Vorlage" + +#. module: website_sale_stock_available_display +#: selection:product.template,inventory_availability:0 +#: selection:res.config.settings,inventory_availability:0 +msgid "Sell regardless of inventory" +msgstr "Verkaufen unabhängig vom Bestand" + +#. module: website_sale_stock_available_display +#: selection:product.template,inventory_availability:0 +#: selection:res.config.settings,inventory_availability:0 +msgid "Show inventory below a threshold and prevent sales if not enough stock" +msgstr "" +"Lagerbestand unter einem Schwellenwert anzeigen und Verkäufe verhindern, " +"wenn nicht genügend Bestand vorhanden ist" + +#. module: website_sale_stock_available_display +#: selection:product.template,inventory_availability:0 +#: selection:res.config.settings,inventory_availability:0 +msgid "Show inventory on website and allow sales if not enough stock" +msgstr "" +"Lagerbestand auf der Website anzeigen und Verkäufe zulassen, wenn nicht " +"genug Bestand vorhanden ist" + +#. module: website_sale_stock_available_display +#: selection:product.template,inventory_availability:0 +#: selection:res.config.settings,inventory_availability:0 +msgid "Show inventory on website and prevent sales if not enough stock" +msgstr "" +"Lagerbestand auf der Website anzeigen und Verkäufe verhindern, wenn nicht " +"genügend Bestand vorhanden ist" + +#. module: website_sale_stock_available_display +#: selection:product.template,inventory_availability:0 +#: selection:res.config.settings,inventory_availability:0 +msgid "Show product-specific notifications" +msgstr "Produktspezifische Benachrichtigungen anzeigen" + +#. module: website_sale_stock_available_display +#. openerp-web +#: code:addons/website_sale_stock_available_display/static/src/xml/website_sale_stock_product_availability.xml:10 +#: model_terms:ir.ui.view,arch_db:website_sale_stock_available_display.stock_info +#, python-format +msgid "in stock" +msgstr "Auf Lager" diff --git a/website_sale_stock_available_display/i18n/es.po b/website_sale_stock_available_display/i18n/es.po new file mode 100644 index 0000000..95d3d51 --- /dev/null +++ b/website_sale_stock_available_display/i18n/es.po @@ -0,0 +1,99 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * website_sale_stock_available_display +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 11.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-05-07 21:58+0000\n" +"PO-Revision-Date: 2020-11-03 13:08+0000\n" +"Last-Translator: claudiagn \n" +"Language-Team: \n" +"Language: es\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 3.10\n" + +#. module: website_sale_stock_available_display +#: model:ir.model.fields,help:website_sale_stock_available_display.field_product_product__inventory_availability +#: model:ir.model.fields,help:website_sale_stock_available_display.field_product_template__inventory_availability +msgid "Adds an inventory availability status on the web product page." +msgstr "" +"Añade un estado de disponibilidad en inventario en la página web del " +"producto." + +#. module: website_sale_stock_available_display +#: selection:product.template,inventory_availability:0 +#: selection:res.config.settings,inventory_availability:0 +msgid "Block sales on website and display a message custom" +msgstr "Bloquear la venta en la tienda y mostrar el mensaje personalizado" + +#. module: website_sale_stock_available_display +#: model:ir.model,name:website_sale_stock_available_display.model_res_config_settings +msgid "Config Settings" +msgstr "Opciones de Configuración" + +#. module: website_sale_stock_available_display +#: model:ir.model.fields,field_description:website_sale_stock_available_display.field_product_product__inventory_availability +#: model:ir.model.fields,field_description:website_sale_stock_available_display.field_product_template__inventory_availability +#: model:ir.model.fields,field_description:website_sale_stock_available_display.field_res_config_settings__inventory_availability +msgid "Inventory Availability" +msgstr "Disponibilidad del inventario" + +#. module: website_sale_stock_available_display +#: model:ir.model,name:website_sale_stock_available_display.model_product_template +msgid "Product Template" +msgstr "Plantilla de producto" + +#. module: website_sale_stock_available_display +#: selection:product.template,inventory_availability:0 +#: selection:res.config.settings,inventory_availability:0 +msgid "Sell regardless of inventory" +msgstr "Vender independientemente del inventario" + +#. module: website_sale_stock_available_display +#: selection:product.template,inventory_availability:0 +#: selection:res.config.settings,inventory_availability:0 +msgid "Show inventory below a threshold and prevent sales if not enough stock" +msgstr "" +"Mostrar el inventario por debajo de un determinado umbral y bloquear las " +"ventas si no hay suficientes existencias" + +#. module: website_sale_stock_available_display +#: selection:product.template,inventory_availability:0 +#: selection:res.config.settings,inventory_availability:0 +msgid "Show inventory on website and allow sales if not enough stock" +msgstr "" +"Mostrar el inventario en el sitio web y no bloquear las ventas si no hay \n" +"suficientes existencias" + +#. module: website_sale_stock_available_display +#: selection:product.template,inventory_availability:0 +#: selection:res.config.settings,inventory_availability:0 +msgid "Show inventory on website and prevent sales if not enough stock" +msgstr "" +"Mostrar el inventario en el sitio web y bloquear las ventas si no hay " +"suficientes existencias" + +#. module: website_sale_stock_available_display +#: selection:product.template,inventory_availability:0 +#: selection:res.config.settings,inventory_availability:0 +msgid "Show product-specific notifications" +msgstr "Mostrar notificaciones sobre el producto" + +#. module: website_sale_stock_available_display +#. openerp-web +#: code:addons/website_sale_stock_available_display/static/src/xml/website_sale_stock_product_availability.xml:10 +#: model_terms:ir.ui.view,arch_db:website_sale_stock_available_display.stock_info +#, python-format +msgid "in stock" +msgstr "en stock" + +#~ msgid "Computer Motherboard" +#~ msgstr "Placa base" + +#~ msgid "Special Mouse" +#~ msgstr "Ratón especial" diff --git a/website_sale_stock_available_display/i18n/fr.po b/website_sale_stock_available_display/i18n/fr.po new file mode 100644 index 0000000..52b853a --- /dev/null +++ b/website_sale_stock_available_display/i18n/fr.po @@ -0,0 +1,91 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * website_sale_stock_available_display +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 12.0\n" +"Report-Msgid-Bugs-To: \n" +"PO-Revision-Date: 2020-11-23 15:36+0000\n" +"Last-Translator: Yann Papouin \n" +"Language-Team: none\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" +"X-Generator: Weblate 3.10\n" + +#. module: website_sale_stock_available_display +#: model:ir.model.fields,help:website_sale_stock_available_display.field_product_product__inventory_availability +#: model:ir.model.fields,help:website_sale_stock_available_display.field_product_template__inventory_availability +msgid "Adds an inventory availability status on the web product page." +msgstr "Ajoute une information de disponibilité sur la page Web du produit." + +#. module: website_sale_stock_available_display +#: selection:product.template,inventory_availability:0 +#: selection:res.config.settings,inventory_availability:0 +msgid "Block sales on website and display a message custom" +msgstr "Bloquer les ventes sur le site Web et afficher un message personnalisé" + +#. module: website_sale_stock_available_display +#: model:ir.model,name:website_sale_stock_available_display.model_res_config_settings +msgid "Config Settings" +msgstr "Paramètres de config" + +#. module: website_sale_stock_available_display +#: model:ir.model.fields,field_description:website_sale_stock_available_display.field_product_product__inventory_availability +#: model:ir.model.fields,field_description:website_sale_stock_available_display.field_product_template__inventory_availability +#: model:ir.model.fields,field_description:website_sale_stock_available_display.field_res_config_settings__inventory_availability +msgid "Inventory Availability" +msgstr "Disponibilité" + +#. module: website_sale_stock_available_display +#: model:ir.model,name:website_sale_stock_available_display.model_product_template +msgid "Product Template" +msgstr "Modèle d'article" + +#. module: website_sale_stock_available_display +#: selection:product.template,inventory_availability:0 +#: selection:res.config.settings,inventory_availability:0 +msgid "Sell regardless of inventory" +msgstr "Vente sans tenir compte du stock" + +#. module: website_sale_stock_available_display +#: selection:product.template,inventory_availability:0 +#: selection:res.config.settings,inventory_availability:0 +msgid "Show inventory below a threshold and prevent sales if not enough stock" +msgstr "" +"Indiquer si l'inventaire est inférieur à un certain seuil et bloquer les " +"ventes en cas de stock insuffisant" + +#. module: website_sale_stock_available_display +#: selection:product.template,inventory_availability:0 +#: selection:res.config.settings,inventory_availability:0 +msgid "Show inventory on website and allow sales if not enough stock" +msgstr "" +"Afficher l'inventaire sur le site Web et autoriser les ventes en cas de " +"stock insuffisant" + +#. module: website_sale_stock_available_display +#: selection:product.template,inventory_availability:0 +#: selection:res.config.settings,inventory_availability:0 +msgid "Show inventory on website and prevent sales if not enough stock" +msgstr "" +"Afficher l'inventaire sur le site Web et bloquer les ventes en cas de stock " +"insuffisant" + +#. module: website_sale_stock_available_display +#: selection:product.template,inventory_availability:0 +#: selection:res.config.settings,inventory_availability:0 +msgid "Show product-specific notifications" +msgstr "" +"Afficher un message de disponibilité personnalisé et spécique au produit" + +#. module: website_sale_stock_available_display +#. openerp-web +#: code:addons/website_sale_stock_available_display/static/src/xml/website_sale_stock_product_availability.xml:10 +#: model_terms:ir.ui.view,arch_db:website_sale_stock_available_display.stock_info +#, python-format +msgid "in stock" +msgstr "en stock" diff --git a/website_sale_stock_available_display/i18n/nl.po b/website_sale_stock_available_display/i18n/nl.po new file mode 100644 index 0000000..ee62c29 --- /dev/null +++ b/website_sale_stock_available_display/i18n/nl.po @@ -0,0 +1,86 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * website_sale_stock_available_display +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 12.0\n" +"Report-Msgid-Bugs-To: \n" +"PO-Revision-Date: 2020-12-15 13:19+0000\n" +"Last-Translator: Bosd \n" +"Language-Team: none\n" +"Language: 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" +"X-Generator: Weblate 4.3.2\n" + +#. module: website_sale_stock_available_display +#: model:ir.model.fields,help:website_sale_stock_available_display.field_product_product__inventory_availability +#: model:ir.model.fields,help:website_sale_stock_available_display.field_product_template__inventory_availability +msgid "Adds an inventory availability status on the web product page." +msgstr "" +"Voegt een beschikbare voorraad status toe aan de product pagina op de " +"website." + +#. module: website_sale_stock_available_display +#: selection:product.template,inventory_availability:0 +#: selection:res.config.settings,inventory_availability:0 +msgid "Block sales on website and display a message custom" +msgstr "Blokkeer verkopen op de website en geef een aangepaste boodschap weer" + +#. module: website_sale_stock_available_display +#: model:ir.model,name:website_sale_stock_available_display.model_res_config_settings +msgid "Config Settings" +msgstr "" + +#. module: website_sale_stock_available_display +#: model:ir.model.fields,field_description:website_sale_stock_available_display.field_product_product__inventory_availability +#: model:ir.model.fields,field_description:website_sale_stock_available_display.field_product_template__inventory_availability +#: model:ir.model.fields,field_description:website_sale_stock_available_display.field_res_config_settings__inventory_availability +msgid "Inventory Availability" +msgstr "Beschikbare voorraad" + +#. module: website_sale_stock_available_display +#: model:ir.model,name:website_sale_stock_available_display.model_product_template +msgid "Product Template" +msgstr "Product Sjabloon" + +#. module: website_sale_stock_available_display +#: selection:product.template,inventory_availability:0 +#: selection:res.config.settings,inventory_availability:0 +msgid "Sell regardless of inventory" +msgstr "Verkoop ongeacht de voorraad" + +#. module: website_sale_stock_available_display +#: selection:product.template,inventory_availability:0 +#: selection:res.config.settings,inventory_availability:0 +msgid "Show inventory below a threshold and prevent sales if not enough stock" +msgstr "" + +#. module: website_sale_stock_available_display +#: selection:product.template,inventory_availability:0 +#: selection:res.config.settings,inventory_availability:0 +msgid "Show inventory on website and allow sales if not enough stock" +msgstr "" + +#. module: website_sale_stock_available_display +#: selection:product.template,inventory_availability:0 +#: selection:res.config.settings,inventory_availability:0 +msgid "Show inventory on website and prevent sales if not enough stock" +msgstr "" + +#. module: website_sale_stock_available_display +#: selection:product.template,inventory_availability:0 +#: selection:res.config.settings,inventory_availability:0 +msgid "Show product-specific notifications" +msgstr "" + +#. module: website_sale_stock_available_display +#. openerp-web +#: code:addons/website_sale_stock_available_display/static/src/xml/website_sale_stock_product_availability.xml:10 +#: model_terms:ir.ui.view,arch_db:website_sale_stock_available_display.stock_info +#, python-format +msgid "in stock" +msgstr "" diff --git a/website_sale_stock_available_display/models/__init__.py b/website_sale_stock_available_display/models/__init__.py new file mode 100644 index 0000000..1fb0593 --- /dev/null +++ b/website_sale_stock_available_display/models/__init__.py @@ -0,0 +1,2 @@ +from . import product_template +from . import res_config_settings diff --git a/website_sale_stock_available_display/models/product_template.py b/website_sale_stock_available_display/models/product_template.py new file mode 100644 index 0000000..f1f71b5 --- /dev/null +++ b/website_sale_stock_available_display/models/product_template.py @@ -0,0 +1,12 @@ +# Copyright 2019 Tecnativa - Sergio Teruel +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). +from odoo import fields, models + + +class ProductTemplate(models.Model): + _inherit = 'product.template' + + inventory_availability = fields.Selection(selection_add=[ + ('always_no_lock', + 'Show inventory on website and allow sales if not enough stock'), + ]) diff --git a/website_sale_stock_available_display/models/res_config_settings.py b/website_sale_stock_available_display/models/res_config_settings.py new file mode 100644 index 0000000..62dd46a --- /dev/null +++ b/website_sale_stock_available_display/models/res_config_settings.py @@ -0,0 +1,13 @@ +# Copyright 2019 Tecnativa - Sergio Teruel +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). + +from odoo import fields, models + + +class ResConfigSettings(models.TransientModel): + _inherit = 'res.config.settings' + + inventory_availability = fields.Selection(selection_add=[ + ('always_no_lock', + 'Show inventory on website and allow sales if not enough stock'), + ]) diff --git a/website_sale_stock_available_display/readme/CONTRIBUTORS.rst b/website_sale_stock_available_display/readme/CONTRIBUTORS.rst new file mode 100644 index 0000000..3bfad99 --- /dev/null +++ b/website_sale_stock_available_display/readme/CONTRIBUTORS.rst @@ -0,0 +1,3 @@ +* `Tecnativa `_: + + * Sergio Teruel diff --git a/website_sale_stock_available_display/readme/DESCRIPTION.rst b/website_sale_stock_available_display/readme/DESCRIPTION.rst new file mode 100644 index 0000000..4107522 --- /dev/null +++ b/website_sale_stock_available_display/readme/DESCRIPTION.rst @@ -0,0 +1,5 @@ +This module extends the functionality of website sale stock module to allow to +display available stock in website products and allow to buy if not enough +stock. +Also re-use the field Custom Message for inform to customer of any message +when stock is less than 0.0 units. diff --git a/website_sale_stock_available_display/readme/USAGE.rst b/website_sale_stock_available_display/readme/USAGE.rst new file mode 100644 index 0000000..36ff144 --- /dev/null +++ b/website_sale_stock_available_display/readme/USAGE.rst @@ -0,0 +1,8 @@ +#. Go to *'Sale > Catalog > Product'*. +#. Set *Show inventory on website and allow sales if not enough stock* in + inventory availability field. +#. You can set a custom message that appears when available stock is less than + 0.0 units. +#. Go to Website Shop. +#. Click in any product that you know that no stock available. +#. You will see '*0 units in stock*' but you will buy this product. diff --git a/website_sale_stock_available_display/static/description/icon.png b/website_sale_stock_available_display/static/description/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..3a0328b516c4980e8e44cdb63fd945757ddd132d GIT binary patch literal 9455 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 z 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 Xviia!U7SGha1wx#SCgwmn*{w2TRX*I literal 0 HcmV?d00001 diff --git a/website_sale_stock_available_display/static/description/index.html b/website_sale_stock_available_display/static/description/index.html new file mode 100644 index 0000000..1ee4193 --- /dev/null +++ b/website_sale_stock_available_display/static/description/index.html @@ -0,0 +1,443 @@ + + + + + + +Website Sale Stock Available Display + + + +

+

Website Sale Stock Available Display

+ + +

Beta License: AGPL-3 OCA/e-commerce Translate me on Weblate Try me on Runbot

+

This module extends the functionality of website sale stock module to allow to +display available stock in website products and allow to buy if not enough +stock. +Also re-use the field Custom Message for inform to customer of any message +when stock is less than 0.0 units.

+

Table of contents

+ +
+

Usage

+
    +
  1. Go to ‘Sale > Catalog > Product’.
  2. +
  3. Set Show inventory on website and allow sales if not enough stock in +inventory availability field.
  4. +
  5. You can set a custom message that appears when available stock is less than +0.0 units.
  6. +
  7. Go to Website Shop.
  8. +
  9. Click in any product that you know that no stock available.
  10. +
  11. You will see ‘0 units in stock’ but you will buy this product.
  12. +
+
+
+

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

+
    +
  • Tecnativa
  • +
+
+
+

Contributors

+ +
+
+

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.

+

This module is part of the OCA/e-commerce project on GitHub.

+

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

+
+
+
+ + diff --git a/website_sale_stock_available_display/static/src/js/website_sale_stock_available_display.js b/website_sale_stock_available_display/static/src/js/website_sale_stock_available_display.js new file mode 100644 index 0000000..81c6112 --- /dev/null +++ b/website_sale_stock_available_display/static/src/js/website_sale_stock_available_display.js @@ -0,0 +1,15 @@ +odoo.define('website_sale_stock_available_display.load', function (require) { + 'use strict'; + var ajax = require('web.ajax'); + var core = require('web.core'); + var ProductConfiguratorMixin = require( + 'website_sale_stock.ProductConfiguratorMixin'); + var QWeb = core.qweb; + var load_xml = ajax.loadXML( + '/website_sale_stock_available_display/static/src/xml/website_sale_stock_product_availability.xml', + QWeb + ); + load_xml.then(function() { + $('.oe_website_sale').find('input[name="add_qty"]').trigger('change'); + }); +}); diff --git a/website_sale_stock_available_display/static/src/js/website_sale_stock_available_display_tour.js b/website_sale_stock_available_display/static/src/js/website_sale_stock_available_display_tour.js new file mode 100644 index 0000000..f404002 --- /dev/null +++ b/website_sale_stock_available_display/static/src/js/website_sale_stock_available_display_tour.js @@ -0,0 +1,59 @@ +/* Copyright 2019 Sergio Teruel + * License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). */ + +odoo.define("website_sale_stock_available_display.tour", function (require) { + "use strict"; + + var tour = require("web_tour.tour"); + var base = require("web_editor.base"); + + var steps = [ + { + trigger: "a:contains('Computer Motherboard')", + }, + { + trigger: "a#add_to_cart", + extra_trigger: ".availability_messages:has(span:contains('0 Unit(s) in stock')):has(div:contains('Available in 10 days'))", + }, + { + trigger: "span:contains('Process Checkout')", + extra_trigger: ".availability_messages:has(span:contains('0 Unit(s) in stock'))", + }, + { + trigger: ".btn-primary:contains('Confirm Order')", + }, + { + trigger: "a[href='/shop']", + extra_trigger: ".availability_messages:has(span:contains('0 Unit(s) in stock'))", + }, + { + trigger: "a:contains('Special Mouse')", + }, + { + trigger: "a#add_to_cart", + extra_trigger: ".availability_messages:has(span:contains('10 Unit(s) in stock'))", + }, + { + trigger: "span:contains('Process Checkout')", + extra_trigger: ".availability_messages:has(span:contains('10.0 Unit(s) in stock'))", + }, + { + trigger: ".btn-primary:contains('Confirm Order')", + }, + { + trigger: "a[href='/shop']", + extra_trigger: ".availability_messages:has(span:contains('10.0 Unit(s) in stock'))", + }, + ]; + tour.register("website_sale_stock_available_display", + { + url: "/shop", + test: true, + wait_for: base.ready(), + }, + steps + ); + return { + steps: steps, + }; +}); diff --git a/website_sale_stock_available_display/static/src/xml/website_sale_stock_product_availability.xml b/website_sale_stock_available_display/static/src/xml/website_sale_stock_product_availability.xml new file mode 100644 index 0000000..9094ac6 --- /dev/null +++ b/website_sale_stock_available_display/static/src/xml/website_sale_stock_product_availability.xml @@ -0,0 +1,20 @@ + + + + + + +
+ + + in stock +
+
+ + +
+
+
+
+ +
diff --git a/website_sale_stock_available_display/tests/__init__.py b/website_sale_stock_available_display/tests/__init__.py new file mode 100644 index 0000000..c64352d --- /dev/null +++ b/website_sale_stock_available_display/tests/__init__.py @@ -0,0 +1 @@ +from . import test_website_sale_stock_available_display diff --git a/website_sale_stock_available_display/tests/test_website_sale_stock_available_display.py b/website_sale_stock_available_display/tests/test_website_sale_stock_available_display.py new file mode 100644 index 0000000..8cf0564 --- /dev/null +++ b/website_sale_stock_available_display/tests/test_website_sale_stock_available_display.py @@ -0,0 +1,57 @@ +# Copyright 2019 Tecnativa - Sergio Teruel +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). +from odoo.tests.common import HttpCase + + +class websiteSaleStockAvailableDisplay(HttpCase): + + def setUp(self): + super().setUp() + # For testing with website_sale_vat_required module, I avoid + # address step to fill partner vat + self.env.ref('base.user_admin').partner_id.write({ + 'vat': 'BE0477472701', + 'phone': '9999999999', + }) + self.ProductTemplate = self.env['product.template'] + # The website_sequence is set quite high to display this products in + # first page. + # Set list price to 0.0 to avoid payment step because this step has an + # asynchronous call + common_vals = { + 'type': 'product', + 'website_published': True, + 'inventory_availability': 'always_no_lock', + 'website_sequence': 5000, + 'list_price': 0.0, + } + vals = common_vals.copy() + vals.update({ + 'name': 'Computer Motherboard', + 'custom_message': 'Available in 10 days', + }) + self.product_template_wo_qty = self.ProductTemplate.create(vals) + vals = common_vals.copy() + vals.update({ + 'name': 'Special Mouse', + }) + self.product_product_w_qty = self.ProductTemplate.create(vals) + self.env['stock.quant'].create({ + 'product_id': self.product_product_w_qty.product_variant_ids.id, + 'product_uom_id': self.product_product_w_qty.uom_id.id, + 'location_id': self.env.ref('stock.stock_location_stock').id, + 'quantity': 10.0, + }) + + def test_ui_website(self): + """Test frontend tour.""" + tour = ( + "odoo.__DEBUG__.services['web_tour.tour']", + "website_sale_stock_available_display", + ) + self.browser_js( + url_path="/shop", + code="%s.run('%s')" % tour, + ready="%s.tours['%s'].ready" % tour, + login="admin" + ) diff --git a/website_sale_stock_available_display/views/assets.xml b/website_sale_stock_available_display/views/assets.xml new file mode 100644 index 0000000..8d6f626 --- /dev/null +++ b/website_sale_stock_available_display/views/assets.xml @@ -0,0 +1,11 @@ + + +
+

Website Sale Stock Available

+ + +

Beta License: AGPL-3 OCA/e-commerce Translate me on Weblate Try me on Runbot

+

This module extends the functionality of ‘Product Availability’ module +(Technical name: website_sale_stock) so that for the ‘Website shop’ the +‘Available’ quantity of a product is taken into account instead of +‘Forecasted’ quantity.

+

This image shows where you can see those quantities:

+Product quantities +
+

+
+

If a product is configured to ‘prevent sales if not enough stock’ +(see configuration section) and its page is accessed in the Website Shop, +the availability messages will be based on the ‘Available’ quantity instead of +‘Forecasted’ quantity. And also, the Website shop wont allow you to buy more +products than ‘Available’ quantity (not ‘Forecasted’ quantity is taken +into account).

+

Table of contents

+ +
+

Configuration

+

To configure this module, you need to:

+
    +
  1. Go to Inventory > Master Data > Products and edit a product that +you only want to sell in the website shop if there is enough stock.
  2. +
  3. Navigate to ‘Availability’ field in the ‘eCommerce’ tab and set +one of these options:
      +
    • Show inventory on website and prevent sales if not enough stock
    • +
    • Show inventory below a threshold and prevent sales if not enough stock.
    • +
    +
  4. +
  5. Go to Inventory > Configuration > Settings, navigate to Stock available +to promise section and set the desired option. If you do not choose any, +the value of ‘Available’ quantity will be equal to ‘Forecasted’ quantity.
  6. +
+
+
+

Usage

+

To use this module, you need to:

+
    +
  1. Go to your Website shop.
  2. +
  3. Select a product that you has previously configured to ‘prevent sales +if not enough stock’ for the web product page.
  4. +
  5. Odoo doesn’t allow you to add the product to the car if ‘Available’ +quantity (not ‘Forecasted’ quantity) is equal or less than zero. +Besides, availability messages will be based on the ‘Available’ +quantity instead of the ‘Forecasted’ quantity.
  6. +
+Availability message +
+
+

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

+
    +
  • Tecnativa
  • +
+
+
+

Contributors

+
    +
  • Tecnativa:
      +
    • Ernesto Tejeda
    • +
    • Pedro M. Baeza
    • +
    +
  • +
+
+
+

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.

+

This module is part of the OCA/e-commerce project on GitHub.

+

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

+
+
+