Task #1871557 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 Specification ============= PHASE I 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
3.1 KiB
3.1 KiB
| 1 | id | name | model_id:id | group_id:id | perm_read | perm_write | perm_create | perm_unlink |
|---|---|---|---|---|---|---|---|---|
| 2 | access_product_category_user | product.category.user | model_product_category | base.group_user | 1 | 0 | 0 | 0 |
| 3 | access_product_template_user | product.template.user | model_product_template | base.group_user | 1 | 0 | 0 | 0 |
| 4 | access_product_packaging_user | product.packaging.user | model_product_packaging | base.group_user | 1 | 0 | 0 | 0 |
| 5 | access_product_supplierinfo_user | product.supplierinfo.user | model_product_supplierinfo | base.group_user | 1 | 0 | 0 | 0 |
| 6 | access_product_pricelist_user | product.pricelist.user | model_product_pricelist | base.group_user | 1 | 0 | 0 | 0 |
| 7 | access_product_pricelist_item_user | product.pricelist.item.user | model_product_pricelist_item | base.group_user | 1 | 0 | 0 | 0 |
| 8 | access_product_pricelist_partner_manager | product.pricelist partner manager | model_product_pricelist | base.group_partner_manager | 1 | 0 | 0 | 0 |
| 9 | access_product_product_employee | product.product employee | model_product_product | base.group_user | 1 | 0 | 0 | 0 |
| 10 | access_product_price_history_employee | prices.history employee | model_product_price_history | base.group_user | 1 | 0 | 0 | 0 |
| 11 | access_product_attribute | product.attribute | model_product_attribute | base.group_user | 1 | 0 | 0 | 0 |
| 12 | access_product_attribute_value | product.attribute value | model_product_attribute_value | base.group_user | 1 | 0 | 0 | 0 |
| 13 | access_product_product_attribute | product.product.attribute value | model_product_product_attribute_value | base.group_user | 1 | 0 | 0 | 0 |
| 14 | access_product_attribute_filter_line | product.attribute filter line | model_product_attribute_filter_line | base.group_user | 1 | 0 | 0 | 0 |
| 15 | access_product_attribute_line | product.attribute line | model_product_attribute_line | base.group_user | 1 | 0 | 0 | 0 |
| 16 | access_product_category_manager | product.category.manager | model_product_category | base.group_system | 1 | 1 | 1 | 1 |
| 17 | access_product_template_manager | product.template.manager | model_product_template | base.group_system | 1 | 1 | 1 | 1 |
| 18 | access_product_packaging_manager | product.packaging.manager | model_product_packaging | base.group_system | 1 | 1 | 1 | 1 |
| 19 | access_product_supplierinfo_manager | product.supplierinfo.manager | model_product_supplierinfo | base.group_system | 1 | 1 | 1 | 1 |
| 20 | access_product_pricelist_manager | product.pricelist.manager | model_product_pricelist | base.group_system | 1 | 1 | 1 | 1 |
| 21 | access_product_pricelist_item_manager | product.pricelist.item.manager | model_product_pricelist_item | base.group_system | 1 | 1 | 1 | 1 |
| 22 | access_product_product_manager | product.product manager | model_product_product | base.group_system | 1 | 1 | 1 | 1 |
| 23 | access_product_price_history_manager | prices.history manager | model_product_price_history | base.group_system | 1 | 1 | 1 | 1 |
| 24 | access_product_attribute_manager | product.attribute manager | model_product_attribute | base.group_system | 1 | 1 | 1 | 1 |
| 25 | access_product_attribute_value_manager | product.attribute value manager | model_product_attribute_value | base.group_system | 1 | 1 | 1 | 1 |
| 26 | access_product_product_attribute_manager | product.product.attribute value manager | model_product_product_attribute_value | base.group_system | 1 | 1 | 1 | 1 |
| 27 | access_product_attribute_filter_line_manager | product.attribute filter line manager | model_product_attribute_filter_line | base.group_system | 1 | 1 | 1 | 1 |
| 28 | access_product_attribute_line_manager | product.attribute line manager | model_product_attribute_line | base.group_system | 1 | 1 | 1 | 1 |