Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
35 commits
Select commit Hold shift + click to select a range
2d5115b
sale_variant_configurator: Migration to 9.0
pedrobaeza Dec 7, 2016
1462700
[MIG] sale_variant_configurator: Migration to 10.0
chienandalu Jul 6, 2017
146064f
[IMP] sale_variant_configurator: Avoid warning on non existing field
pedrobaeza Dec 4, 2017
98cb840
[FIX] sale_variant_configurator: Don't choke on attribute name
pedrobaeza Dec 22, 2017
dc5dd91
[UPD] Update sale_variant_configurator.pot
oca-travis Jun 23, 2018
6a81c3d
[MIG] sale_variant_configurator: Migration to 11.0
angelmoya Sep 17, 2018
06cd59e
[FIX] sale_variant_configurator: typo, field does not exist
cubells Oct 25, 2018
29772d1
[FIX] *_variant_configurator: don't lose attribute on save
pedrobaeza Nov 29, 2018
463f230
[FIX] sale_variant_configurator: attribute lines are not created
cubells Dec 5, 2018
906ceee
[11.0][FIX] Filter products according to the view
SalahAdDin Dec 12, 2018
f46c60e
[FIX] sale_variant_configurator: Proper SO line description
pedrobaeza Jan 30, 2019
b09f039
[FIX] sale_variant_configurator: Don't lose sales description
pedrobaeza Jan 30, 2019
752ac6c
[FIX+IMP] sale_variant_configurator: Variant creation when confirmed
pedrobaeza Feb 1, 2019
6fed855
[FIX] sale_variant_configurator: Return value in action_confirm
pedrobaeza Feb 26, 2019
a6d3492
[ADD] icon.png
OCA-git-bot Apr 3, 2019
2a67de2
[FIX] broken test in sale_variant_configurator
gurneyalex Feb 10, 2020
2764f08
"[IMP] sale_variant_configurator: black, isort, prettier"
chienandalu Jan 25, 2021
cc6509d
[MIG] sale_variant_configurator: Migration to 13.0
chienandalu Jan 27, 2021
6d32df4
[FIX] sale_variant_configurator: Populate product description in cust…
pedrobaeza Nov 18, 2021
7eefbbc
[IMP] sale_variant_configurator: pre-commit stuff
carolinafernandez-tecnativa Jan 16, 2024
a1f2c34
[MIG] sale_variant_configurator: Migration to version 16.0
carolinafernandez-tecnativa Jan 17, 2024
62239b6
[UPD] Update sale_variant_configurator.pot
Jun 22, 2024
bdaac99
Translated using Weblate (Portuguese (Brazil))
SottomaiorMacedoTec Jul 5, 2024
e883ecb
[IMP] sale_variant_configurator: Add the appropriate domain to the pr…
victoralmau Sep 8, 2025
93e67b8
[MIG] sale_variant_configurator: Migration to 18.0
BhaveshHeliconia Jan 17, 2025
4992fe5
[UPD] Update sale_variant_configurator.pot
Oct 16, 2025
f3467de
Translated using Weblate (Slovenian)
sysadminmatmoz Jun 1, 2026
cb4c51c
[FIX] sale_variant_configurator: Show the attribute in the table (sim…
victoralmau Jun 8, 2026
f2a55d0
[FIX] sale_variant_configurator: Set tax_id if product is not set yet
victoralmau Jun 5, 2026
90a39a7
[BOT] post-merge updates
OCA-git-bot Jun 8, 2026
afa1c76
[BOT] post-merge updates
OCA-git-bot Jun 8, 2026
32525f8
[FIX] sale_variant_configurator: Option to create lines without a pro…
victoralmau Jun 12, 2026
cef162a
[BOT] post-merge updates
OCA-git-bot Jun 12, 2026
df817a5
[IMP] sale_variant_configurator: pre-commit auto fixes
Andrii9090-tecnativa Jun 12, 2026
50fd972
[MIG] sale_variant_configurator: Migration to version 19.0
Andrii9090-tecnativa May 12, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
95 changes: 95 additions & 0 deletions sale_variant_configurator/README.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,95 @@
.. image:: https://odoo-community.org/readme-banner-image
:target: https://odoo-community.org/get-involved?utm_source=readme
:alt: Odoo Community Association

=======================
Sale - Product variants
=======================

..
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! source digest: sha256:c8b6c97ac41bc39d1cea898571d5e53dca3b4ed5864f0e8a1fc681cd7cf0abec
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

.. |badge1| image:: https://img.shields.io/badge/maturity-Production%2FStable-green.png
:target: https://odoo-community.org/page/development-status
:alt: Production/Stable
.. |badge2| image:: https://img.shields.io/badge/license-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%2Fproduct--variant-lightgray.png?logo=github
:target: https://github.com/OCA/product-variant/tree/19.0/sale_variant_configurator
:alt: OCA/product-variant
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
:target: https://translation.odoo-community.org/projects/product-variant-19-0/product-variant-19-0-sale_variant_configurator
: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-variant&target_branch=19.0
:alt: Try me on Runboat

|badge1| |badge2| |badge3| |badge4| |badge5|

This module allows you to create the product variant when a sale order
is confirmed. It adds to the sale line a product configurator, so that
selecting a product and its attributes can serve for creating/selecting
the product variant.

**Table of contents**

.. contents::
:local:

Bug Tracker
===========

Bugs are tracked on `GitHub Issues <https://github.com/OCA/product-variant/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 <https://github.com/OCA/product-variant/issues/new?body=module:%20sale_variant_configurator%0Aversion:%2019.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.

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

Credits
=======

Authors
-------

* OdooMRP team
* AvanzOSC
* Tecnativa

Contributors
------------

- Oihane Crucelaegui oihanecrucelaegi@avanzosc.es
- `Tecnativa <https://www.tecnativa.com>`__:

- Pedro M. Baeza
- David Vidal
- Andrii Kompaniiets

- Ana Juaristi ajuaristio@gmail.com
- [Heliconia Solutions Pvt. Ltd.](https://www.heliconia.io)

- Bhavesh Heliconia

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/product-variant <https://github.com/OCA/product-variant/tree/19.0/sale_variant_configurator>`_ project on GitHub.

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
4 changes: 4 additions & 0 deletions sale_variant_configurator/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
# License AGPL-3 - See http://www.gnu.org/licenses/agpl-3.0.html

from . import models
from .hooks import assign_product_template
20 changes: 20 additions & 0 deletions sale_variant_configurator/__manifest__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# Copyright 2014-2016 Oihane Crucelaegui - AvanzOSC
# Copyright 2017 David Vidal <david.vidal@tecnativa.com>
# Copyright 2015-2021 Tecnativa - Pedro M. Baeza
# Copyright 2024 Tecnativa - Carolina Fernandez
# License AGPL-3 - See http://www.gnu.org/licenses/agpl-3.0.html

{
"name": "Sale - Product variants",
"summary": "Product variants in sale management",
"version": "19.0.1.0.0",
"development_status": "Production/Stable",
"license": "AGPL-3",
"depends": ["sale", "product_variant_configurator"],
"author": "OdooMRP team,AvanzOSC,Tecnativa,Odoo Community Association (OCA)",
"category": "Sales Management",
"website": "https://github.com/OCA/product-variant",
"data": ["views/sale_view.xml"],
"installable": True,
"post_init_hook": "assign_product_template",
}
14 changes: 14 additions & 0 deletions sale_variant_configurator/hooks.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
# © 2014-2016 Oihane Crucelaegui - AvanzOSC
# License AGPL-3 - See http://www.gnu.org/licenses/agpl-3.0.html


def assign_product_template(env):
"""This post-init-hook will update all existing sale.order.line"""
cr = env.cr
cr.execute(
"""
UPDATE sale_order_line AS line
SET product_tmpl_id = product_product.product_tmpl_id
FROM product_product
WHERE line.product_id = product_product.id;"""
)
61 changes: 61 additions & 0 deletions sale_variant_configurator/i18n/ca.po
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * sale_variant_configurator
#
# Translators:
# OCA Transbot <transbot@odoo-community.org>, 2017
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 11.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-12-04 12:43+0000\n"
"PO-Revision-Date: 2017-12-04 12:43+0000\n"
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2017\n"
"Language-Team: Catalan (https://www.transifex.com/oca/teams/23907/ca/)\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"

#. module: sale_variant_configurator
#: model:ir.model.constraint,message:sale_variant_configurator.constraint_sale_order_line_non_accountable_null_fields
msgid "Forbidden values on non-accountable sale order line"
msgstr ""

#. module: sale_variant_configurator
#: model:ir.model.constraint,message:sale_variant_configurator.constraint_sale_order_line_accountable_required_fields
msgid "Missing required fields on accountable sale order line."
msgstr ""

#. module: sale_variant_configurator
#: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line__product_id
msgid "Product"
msgstr ""

#. module: sale_variant_configurator
#: model_terms:ir.ui.view,arch_db:sale_variant_configurator.view_order_form
#: model_terms:ir.ui.view,arch_db:sale_variant_configurator.view_order_line_tree
#: model_terms:ir.ui.view,arch_db:sale_variant_configurator.view_sales_order_line_filter
msgid "Product Template"
msgstr "Plantilla del producte"

#. module: sale_variant_configurator
#: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line__product_tmpl_id
msgid "Product Template (no related)"
msgstr ""

#. module: sale_variant_configurator
#: model:ir.model,name:sale_variant_configurator.model_sale_order
msgid "Sales Order"
msgstr ""

#. module: sale_variant_configurator
#: model:ir.model,name:sale_variant_configurator.model_sale_order_line
msgid "Sales Order Line"
msgstr "Línia de comanda de vendes"

#. module: sale_variant_configurator
#: model_terms:ir.ui.view,arch_db:sale_variant_configurator.view_sales_order_line_filter
msgid "Template"
msgstr "Plantilla"
61 changes: 61 additions & 0 deletions sale_variant_configurator/i18n/de.po
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * sale_variant_configurator
#
# Translators:
# OCA Transbot <transbot@odoo-community.org>, 2017
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 11.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-12-04 12:43+0000\n"
"PO-Revision-Date: 2017-12-04 12:43+0000\n"
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2017\n"
"Language-Team: German (https://www.transifex.com/oca/teams/23907/de/)\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"

#. module: sale_variant_configurator
#: model:ir.model.constraint,message:sale_variant_configurator.constraint_sale_order_line_non_accountable_null_fields
msgid "Forbidden values on non-accountable sale order line"
msgstr ""

#. module: sale_variant_configurator
#: model:ir.model.constraint,message:sale_variant_configurator.constraint_sale_order_line_accountable_required_fields
msgid "Missing required fields on accountable sale order line."
msgstr ""

#. module: sale_variant_configurator
#: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line__product_id
msgid "Product"
msgstr ""

#. module: sale_variant_configurator
#: model_terms:ir.ui.view,arch_db:sale_variant_configurator.view_order_form
#: model_terms:ir.ui.view,arch_db:sale_variant_configurator.view_order_line_tree
#: model_terms:ir.ui.view,arch_db:sale_variant_configurator.view_sales_order_line_filter
msgid "Product Template"
msgstr "Produktvorlage"

#. module: sale_variant_configurator
#: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line__product_tmpl_id
msgid "Product Template (no related)"
msgstr ""

#. module: sale_variant_configurator
#: model:ir.model,name:sale_variant_configurator.model_sale_order
msgid "Sales Order"
msgstr ""

#. module: sale_variant_configurator
#: model:ir.model,name:sale_variant_configurator.model_sale_order_line
msgid "Sales Order Line"
msgstr "Auftragsposition"

#. module: sale_variant_configurator
#: model_terms:ir.ui.view,arch_db:sale_variant_configurator.view_sales_order_line_filter
msgid "Template"
msgstr "Vorlage"
68 changes: 68 additions & 0 deletions sale_variant_configurator/i18n/es.po
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * sale_variant_configurator
#
# Translators:
# OCA Transbot <transbot@odoo-community.org>, 2017
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 11.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-12-04 12:43+0000\n"
"PO-Revision-Date: 2021-03-16 18:45+0000\n"
"Last-Translator: Ana Suárez <ana.suarez@qubiq.es>\n"
"Language-Team: Spanish (https://www.transifex.com/oca/teams/23907/es/)\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 4.3.2\n"

#. module: sale_variant_configurator
#: model:ir.model.constraint,message:sale_variant_configurator.constraint_sale_order_line_non_accountable_null_fields
msgid "Forbidden values on non-accountable sale order line"
msgstr ""

#. module: sale_variant_configurator
#: model:ir.model.constraint,message:sale_variant_configurator.constraint_sale_order_line_accountable_required_fields
msgid "Missing required fields on accountable sale order line."
msgstr ""

#. module: sale_variant_configurator
#: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line__product_id
msgid "Product"
msgstr ""

#. module: sale_variant_configurator
#: model_terms:ir.ui.view,arch_db:sale_variant_configurator.view_order_form
#: model_terms:ir.ui.view,arch_db:sale_variant_configurator.view_order_line_tree
#: model_terms:ir.ui.view,arch_db:sale_variant_configurator.view_sales_order_line_filter
msgid "Product Template"
msgstr "Plantilla producto"

#. module: sale_variant_configurator
#: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line__product_tmpl_id
msgid "Product Template (no related)"
msgstr ""

#. module: sale_variant_configurator
#: model:ir.model,name:sale_variant_configurator.model_sale_order
msgid "Sales Order"
msgstr ""

#. module: sale_variant_configurator
#: model:ir.model,name:sale_variant_configurator.model_sale_order_line
msgid "Sales Order Line"
msgstr "Línea pedido de venta"

#. module: sale_variant_configurator
#: model_terms:ir.ui.view,arch_db:sale_variant_configurator.view_sales_order_line_filter
msgid "Template"
msgstr "Plantilla"

#~ msgid "Customer"
#~ msgstr "Cliente"

#~ msgid "Quotation"
#~ msgstr "Presupuesto"
69 changes: 69 additions & 0 deletions sale_variant_configurator/i18n/es_AR.po
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * sale_variant_configurator
#
# Translators:
# OCA Transbot <transbot@odoo-community.org>, 2017
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 11.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-12-04 12:43+0000\n"
"PO-Revision-Date: 2021-04-04 20:46+0000\n"
"Last-Translator: Ignacio Buioli <ibuioli@gmail.com>\n"
"Language-Team: Spanish (Argentina) (https://www.transifex.com/oca/"
"teams/23907/es_AR/)\n"
"Language: es_AR\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: sale_variant_configurator
#: model:ir.model.constraint,message:sale_variant_configurator.constraint_sale_order_line_non_accountable_null_fields
msgid "Forbidden values on non-accountable sale order line"
msgstr ""

#. module: sale_variant_configurator
#: model:ir.model.constraint,message:sale_variant_configurator.constraint_sale_order_line_accountable_required_fields
msgid "Missing required fields on accountable sale order line."
msgstr ""

#. module: sale_variant_configurator
#: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line__product_id
msgid "Product"
msgstr ""

#. module: sale_variant_configurator
#: model_terms:ir.ui.view,arch_db:sale_variant_configurator.view_order_form
#: model_terms:ir.ui.view,arch_db:sale_variant_configurator.view_order_line_tree
#: model_terms:ir.ui.view,arch_db:sale_variant_configurator.view_sales_order_line_filter
msgid "Product Template"
msgstr "Plantilla del Producto"

#. module: sale_variant_configurator
#: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line__product_tmpl_id
msgid "Product Template (no related)"
msgstr ""

#. module: sale_variant_configurator
#: model:ir.model,name:sale_variant_configurator.model_sale_order
msgid "Sales Order"
msgstr ""

#. module: sale_variant_configurator
#: model:ir.model,name:sale_variant_configurator.model_sale_order_line
msgid "Sales Order Line"
msgstr "Línea del Pedido de Ventas"

#. module: sale_variant_configurator
#: model_terms:ir.ui.view,arch_db:sale_variant_configurator.view_sales_order_line_filter
msgid "Template"
msgstr "Plantilla"

#~ msgid "Customer"
#~ msgstr "Cliente"

#~ msgid "Quotation"
#~ msgstr "Presupuesto"
Loading
Loading