From 90d5e31dd8bd4b1a81384748acb11095b5e32e80 Mon Sep 17 00:00:00 2001 From: Simone Rubino Date: Thu, 18 Jan 2024 15:40:52 +0100 Subject: [PATCH] [MIG] website_product_configurator_mrp: Migration to 16.0 --- website_product_configurator_mrp/README.rst | 17 ++++++--- .../__manifest__.py | 11 +++++- .../controllers/main.py | 31 ++++----------- .../readme/CONTRIBUTORS.rst | 3 ++ .../static/description/index.html | 20 +++++++--- .../static/src/js/website_sale.esm.js | 17 +++++++++ .../static/src/js/website_sale.js | 18 --------- .../views/assets.xml | 19 ---------- .../views/templates.xml | 38 +++++++++---------- 9 files changed, 82 insertions(+), 92 deletions(-) create mode 100644 website_product_configurator_mrp/readme/CONTRIBUTORS.rst create mode 100644 website_product_configurator_mrp/static/src/js/website_sale.esm.js delete mode 100644 website_product_configurator_mrp/static/src/js/website_sale.js delete mode 100644 website_product_configurator_mrp/views/assets.xml diff --git a/website_product_configurator_mrp/README.rst b/website_product_configurator_mrp/README.rst index 53832e640..4b5221039 100644 --- a/website_product_configurator_mrp/README.rst +++ b/website_product_configurator_mrp/README.rst @@ -17,13 +17,13 @@ Website Configurator Manufacturing :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html :alt: License: AGPL-3 .. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fproduct--configurator-lightgray.png?logo=github - :target: https://github.com/OCA/product-configurator/tree/14.0/website_product_configurator_mrp + :target: https://github.com/OCA/product-configurator/tree/16.0/website_product_configurator_mrp :alt: OCA/product-configurator .. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png - :target: https://translation.odoo-community.org/projects/product-configurator-14-0/product-configurator-14-0-website_product_configurator_mrp + :target: https://translation.odoo-community.org/projects/product-configurator-16-0/product-configurator-16-0-website_product_configurator_mrp :alt: Translate me on Weblate .. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png - :target: https://runboat.odoo-community.org/builds?repo=OCA/product-configurator&target_branch=14.0 + :target: https://runboat.odoo-community.org/builds?repo=OCA/product-configurator&target_branch=16.0 :alt: Try me on Runboat |badge1| |badge2| |badge3| |badge4| |badge5| @@ -41,7 +41,7 @@ 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 to smash it by providing a detailed and welcomed -`feedback `_. +`feedback `_. Do not contact contributors directly about support or help with technical issues. @@ -53,6 +53,13 @@ Authors * Pledra +Contributors +~~~~~~~~~~~~ + +* `Aion Tech `_: + + * Simone Rubino + Maintainers ~~~~~~~~~~~ @@ -74,6 +81,6 @@ Current `maintainer `__: |maintainer-PCatinean| -This module is part of the `OCA/product-configurator `_ project on GitHub. +This module is part of the `OCA/product-configurator `_ project on GitHub. You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/website_product_configurator_mrp/__manifest__.py b/website_product_configurator_mrp/__manifest__.py index 9a4a6a9fe..e0c569457 100644 --- a/website_product_configurator_mrp/__manifest__.py +++ b/website_product_configurator_mrp/__manifest__.py @@ -1,14 +1,21 @@ # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). { "name": "Website Configurator Manufacturing", - "version": "14.0.1.0.0", + "version": "16.0.1.0.0", "category": "Website", "summary": "Website integration of MRP", "author": "Pledra, Odoo Community Association (OCA)", "license": "AGPL-3", "website": "https://github.com/OCA/product-configurator", "depends": ["product_configurator_mrp", "website_product_configurator"], - "data": ["views/templates.xml", "views/assets.xml"], + "data": [ + "views/templates.xml", + ], + "assets": { + "web.assets_frontend": [ + "website_product_configurator_mrp/static/src/js/website_sale.esm.js", + ], + }, "application": True, "installable": True, "development_status": "Beta", diff --git a/website_product_configurator_mrp/controllers/main.py b/website_product_configurator_mrp/controllers/main.py index 4a0d4559d..263a24414 100644 --- a/website_product_configurator_mrp/controllers/main.py +++ b/website_product_configurator_mrp/controllers/main.py @@ -2,21 +2,12 @@ from odoo import http from odoo.http import request -from odoo.addons.website_product_configurator.controllers.main import ( - ProductConfigWebsiteSale, -) +from odoo.addons.website_sale.controllers.main import WebsiteSale -class WebsiteProductConfigMrp(ProductConfigWebsiteSale): - @http.route( - ["/shop/cart/update"], - type="http", - auth="public", - methods=["POST"], - website=True, - csrf=False, - ) - def cart_update(self, product_id, add_qty=1, set_qty=0, **kw): +class WebsiteProductConfigMrp(WebsiteSale): + @http.route() + def cart_update_json(self, product_id, **kw): product = request.env["product.product"].browse(int(product_id)) if product.config_ok and kw.get("assembly") == "kit": attr_value_ids = product.product_template_attribute_value_ids @@ -24,16 +15,10 @@ def cart_update(self, product_id, add_qty=1, set_qty=0, **kw): "product_attribute_value_id.product_id" ) if not attr_products: - return super(WebsiteProductConfigMrp, self).cart_update( - product_id=product_id, add_qty=add_qty, set_qty=set_qty, **kw - ) + return super().cart_update_json(product_id, **kw) - for product_id in attr_products: - res = super(ProductConfigWebsiteSale, self).cart_update( - product_id=product_id, add_qty=add_qty, set_qty=set_qty, **kw - ) + for attr_product in attr_products: + res = super().cart_update_json(attr_product.id, **kw) return res else: - return super(WebsiteProductConfigMrp, self).cart_update( - product_id=product_id, add_qty=add_qty, set_qty=set_qty, **kw - ) + return super().cart_update_json(product_id, **kw) diff --git a/website_product_configurator_mrp/readme/CONTRIBUTORS.rst b/website_product_configurator_mrp/readme/CONTRIBUTORS.rst new file mode 100644 index 000000000..6afa1541b --- /dev/null +++ b/website_product_configurator_mrp/readme/CONTRIBUTORS.rst @@ -0,0 +1,3 @@ +* `Aion Tech `_: + + * Simone Rubino diff --git a/website_product_configurator_mrp/static/description/index.html b/website_product_configurator_mrp/static/description/index.html index 1bc8efca8..f658197c1 100644 --- a/website_product_configurator_mrp/static/description/index.html +++ b/website_product_configurator_mrp/static/description/index.html @@ -369,7 +369,7 @@

Website Configurator Manufacturing

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !! source digest: sha256:2aa0a69c23cecee3bd79eabf576f012aad028d14e3abe8199ab53abc2d0a90c1 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! --> -

Beta License: AGPL-3 OCA/product-configurator Translate me on Weblate Try me on Runboat

+

Beta License: AGPL-3 OCA/product-configurator Translate me on Weblate Try me on Runboat

Website Configurator Manufacturing module facility to display “Assembled” and “Kit” on the product page and based on the selected option added product into cart.

Table of contents

@@ -377,7 +377,8 @@

Website Configurator Manufacturing

  • Bug Tracker
  • Credits
  • @@ -387,7 +388,7 @@

    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 to smash it by providing a detailed and welcomed -feedback.

    +feedback.

    Do not contact contributors directly about support or help with technical issues.

    @@ -398,8 +399,17 @@

    Authors

  • Pledra
  • +
    +

    Contributors

    + +
    -

    Maintainers

    +

    Maintainers

    This module is maintained by the OCA.

    Odoo Community Association

    OCA, or the Odoo Community Association, is a nonprofit organization whose @@ -407,7 +417,7 @@

    Maintainers

    promote its widespread use.

    Current maintainer:

    PCatinean

    -

    This module is part of the OCA/product-configurator project on GitHub.

    +

    This module is part of the OCA/product-configurator project on GitHub.

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

    diff --git a/website_product_configurator_mrp/static/src/js/website_sale.esm.js b/website_product_configurator_mrp/static/src/js/website_sale.esm.js new file mode 100644 index 000000000..4cc81b5da --- /dev/null +++ b/website_product_configurator_mrp/static/src/js/website_sale.esm.js @@ -0,0 +1,17 @@ +/** @odoo-module **/ + +import {WebsiteSale} from "website_sale.website_sale"; + +WebsiteSale.include({ + /** + * Override to inject product assembly + * + * @override + */ + // eslint-disable-next-line no-unused-vars + _updateRootProduct($form, productId) { + this._super(...arguments); + const assembly = $form.find('select[name="assembly"]').val(); + if (assembly) this.rootProduct.assembly = assembly; + }, +}); diff --git a/website_product_configurator_mrp/static/src/js/website_sale.js b/website_product_configurator_mrp/static/src/js/website_sale.js deleted file mode 100644 index 5a2f7c560..000000000 --- a/website_product_configurator_mrp/static/src/js/website_sale.js +++ /dev/null @@ -1,18 +0,0 @@ -odoo.define( - "website_product_configurator_mrp.config_website_sale_mrp", - function (require) { - "use strict"; - - var publicWidget = require("web.public.widget"); - require("website_product_configurator.config_website_sale"); - - publicWidget.registry.WebsiteSale.include({ - _onProductReady: function () { - var $form = this.$form; - this.rootProduct.assembly = $form.find('select[name="assembly"]').val(); - var res = this._super.apply(this, arguments); - return res; - }, - }); - } -); diff --git a/website_product_configurator_mrp/views/assets.xml b/website_product_configurator_mrp/views/assets.xml deleted file mode 100644 index 41be692d7..000000000 --- a/website_product_configurator_mrp/views/assets.xml +++ /dev/null @@ -1,19 +0,0 @@ - - - -