-
- Downloads
[IMP] product,(website_)sale: Allow users to fully configure products
Purpose ======= - Configure a product from a sales order as easily as in the ecommerce The backend uses the same template as the frontend to configure a products and its options - Display optionnal products of optionnal products in the "sale options" section - Allow adding exlusions to some combinations of the product and/or to some combinations of the optionnal and accessory products - Product attributes can now have custom values. These values are specified by the user during the SO creation. They are also available on the webshop frontend. - Product attributes can be configured to create variants "on demand". This means that product.templates having these attributes will only create product.product variant when that combination is actually selected in a sale order/in the web shop. Product attribute values are also improved to handle extra prices and exclusions in all three modes ("never", "dynamic, "always") Specification ============= 1. Improve the "Add to cart" with optional products - When you add an option to cart, move the product to the cart & show the options of this option - Don't open the option wizard if no option available (in case this module becomes generic, it's better to skip this step when it's not needed) - Display the options right under their related product in the cart 2. Do not allow to add the product as an optional product for itself Why ? - No functional sense - Creates issues in the add to cart wizard 3. Exclude some attribute combinations within the product or with related options and accessory products - Rename VARIANT PRICES button -> CONFIGURE VARIANTS - When you click this button and select a value, open form view rather than inline edition - Form view of variant values: - Attribute - Value - HTML Color Index - Attribute Price Extra - Not Compatible with: o2m tab with 2 fields: Product AND Attribute Value (of this product) [m2m tag selection] - in any new line, autocomplete the current product by default - Tooltip: A list of product and attribute values that you want to exclude for this product's attribue value. Also applies on optionnal and accessory products. 4. New option to configure a product in a sales order line - This option is only visible if the corresponding option is activated in the sales settings - It opens a wizard to select a product template, configure related attribute values and select optional products (based on frontend view) - Attributes not compatible with other selected attributes should not be selectable - Must work like in the frontend 5. Create variants on demand - add a new mode to generate variants as they are added to the order/cart (needed for big # of combinations managed in the inventory and/or produced in mrp with specific boms) - replace the boolean by a selection radio tooltip for this new field: Always: Variants are generated straight away when the attribute values are combined in the product configuration. Only when the product is added to a sales order: Variants are generated once the combination is selected in the sales order. This is advised when variants are customized on demand and manufactured as such in Odoo. Never: Advised when variants are not needed in Odoo. The selected values just show up in the description of sales order lines. - ability to define attribute extra prices & exclude combinations in all variant modes - if at least one attribute of the product in set to "on demand" mode, generate all the variants "on demand"
Showing
- .tx/config 0 additions, 5 deletions.tx/config
- addons/mrp/models/mrp_bom.py 8 additions, 0 deletionsaddons/mrp/models/mrp_bom.py
- addons/mrp/report/mrp_report_bom_structure.py 15 additions, 2 deletionsaddons/mrp/report/mrp_report_bom_structure.py
- addons/mrp/views/mrp_bom_views.xml 3 additions, 2 deletionsaddons/mrp/views/mrp_bom_views.xml
- addons/point_of_sale/tests/test_frontend.py 2 additions, 3 deletionsaddons/point_of_sale/tests/test_frontend.py
- addons/product/data/product_demo.xml 24 additions, 14 deletionsaddons/product/data/product_demo.xml
- addons/product/models/product.py 21 additions, 11 deletionsaddons/product/models/product.py
- addons/product/models/product_attribute.py 116 additions, 50 deletionsaddons/product/models/product_attribute.py
- addons/product/models/product_template.py 88 additions, 8 deletionsaddons/product/models/product_template.py
- addons/product/models/res_config_settings.py 1 addition, 1 deletionaddons/product/models/res_config_settings.py
- addons/product/security/ir.model.access.csv 4 additions, 2 deletionsaddons/product/security/ir.model.access.csv
- addons/product/tests/__init__.py 5 additions, 1 deletionaddons/product/tests/__init__.py
- addons/product/tests/test_product_attribute_value_config.py 166 additions, 0 deletionsaddons/product/tests/test_product_attribute_value_config.py
- addons/product/tests/test_variants.py 1 addition, 1 deletionaddons/product/tests/test_variants.py
- addons/product/views/product_attribute_views.xml 99 additions, 75 deletionsaddons/product/views/product_attribute_views.xml
- addons/product/views/product_views.xml 3 additions, 2 deletionsaddons/product/views/product_views.xml
- addons/sale/__manifest__.py 4 additions, 1 deletionaddons/sale/__manifest__.py
- addons/sale/controllers/__init__.py 1 addition, 0 deletionsaddons/sale/controllers/__init__.py
- addons/sale/controllers/product_configurator.py 192 additions, 0 deletionsaddons/sale/controllers/product_configurator.py
- addons/sale/data/sale_demo.xml 102 additions, 0 deletionsaddons/sale/data/sale_demo.xml
Loading
Please register or sign in to comment