Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
a629215
Add product_set
Jul 13, 2023
4538f44
[IMP] product_set: Merge with sale_product_set_layout
Nov 18, 2023
14c8005
[IMP] product_set: Move the base logic of the transient model defined…
pilarvargas-tecnativa Mar 12, 2024
ac7628b
[IMP] product_set: pre-commit auto fixes
NICO-SOLUTIONS Mar 25, 2024
6744337
[MIG] product_set: Migration to 17.0
NICO-SOLUTIONS Mar 25, 2024
9a4fed1
Update translation files
weblate Mar 26, 2024
a31d8bf
Translated using Weblate (German)
NICO-SOLUTIONS Mar 27, 2024
52856c9
Translated using Weblate (Spanish)
Ivorra78 Mar 27, 2024
7435733
Translated using Weblate (Italian)
mymage Mar 27, 2024
4dceb1e
[FIX] product_set: pre-commit
pedrobaeza May 1, 2024
5e7e4c7
Translated using Weblate (Swedish)
jakobkrabbe Jun 11, 2024
2e1204d
Translated using Weblate (Chinese (Traditional) (zh_TW))
WildfootW Aug 9, 2024
3bc93a5
Translated using Weblate (Italian)
mymage Aug 20, 2024
950f716
[18.0][MIG] product_set
sbejaoui Nov 4, 2024
32fb63a
[IMP] product_set: add packaging for product.set.line
trisdoan Dec 31, 2024
a88cb1e
Translated using Weblate (Italian)
mymage Mar 10, 2025
47b7998
product_set: fix archive line
simahawk May 19, 2025
35e70fe
product_set: improve archive/unarchive UI
simahawk May 19, 2025
c9ddf33
Translated using Weblate (Italian)
mymage May 22, 2025
8e2003a
Translated using Weblate (Turkish)
bo-eska Jul 19, 2025
b036149
[FIX] product_set: fix product set search behavior
MohamedOsman7 Aug 14, 2025
5075862
[IMP] product_set: Change where the mock has to be loaded
victoralmau Feb 20, 2026
2cf952c
[IMP] product_set: improve view product set
Saran440 Feb 5, 2026
76d5f2b
[MIG] product_set: Migration to 19.0
CRogos Apr 16, 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
117 changes: 117 additions & 0 deletions product_set/README.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,117 @@
.. image:: https://odoo-community.org/readme-banner-image
:target: https://odoo-community.org/get-involved?utm_source=readme
:alt: Odoo Community Association

===========
Product set
===========

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

.. |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/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--attribute-lightgray.png?logo=github
:target: https://github.com/OCA/product-attribute/tree/19.0/product_set
:alt: OCA/product-attribute
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
:target: https://translation.odoo-community.org/projects/product-attribute-19-0/product-attribute-19-0-product_set
: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-attribute&target_branch=19.0
:alt: Try me on Runboat

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

A **product set** is a list of products which are usually used together.

This module aims to help defining several products under a name, for
later being added in a quick way into other document.

After a *product set* is added, each line can be updated or removed as
any other lines.

This differs from packing products as *product sets* are not linked to
sale orders or other projects once they are added.

**Table of contents**

.. contents::
:local:

Usage
=====

To use this module, you need to install subsequent modules like
sale_product_set and check their instructions.

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

Bugs are tracked on `GitHub Issues <https://github.com/OCA/product-attribute/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-attribute/issues/new?body=module:%20product_set%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
-------

* Anybox

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

- Clovis Nzouendjou <clovis@anybox.fr>
- Pierre Verkest <pverkest@anybox.fr>
- Denis Leemann <denis.leemann@camptocamp.com>
- Simone Orsi <simone.orsi@camptocamp.com>
- Souheil Bejaoui <souheil.bejaoui@acsone.eu>
- Adria Gil Sorribes <adria.gil@forgeflow.com>
- Phuc (Tran Thanh) <phuc@trobz.com>
- Manuel Regidor <manuel.regidor@sygel.es>
- `Tecnativa <https://www.tecnativa.com>`__:

- Pilar Vargas

- Nils Coenen <nils.coenen@nico-solutions.de>
- Akim Juillerat <akim.juillerat@camptocamp.com>
- Son (Ho Dac) <hodacson.6491@gmail.com>
- Tris Doan <tridm@trobz.com>

Other credits
-------------

The development of this module has been financially supported by:

- Camptocamp

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

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
2 changes: 2 additions & 0 deletions product_set/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
from . import models # pragma: no cover
from . import wizard
20 changes: 20 additions & 0 deletions product_set/__manifest__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# Copyright 2015 Anybox
# Copyright 2018 Camptocamp, ACSONE SA/NV
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
{
"name": "Product set",
"category": "Sale",
"license": "AGPL-3",
"author": "Anybox, Odoo Community Association (OCA)",
"version": "19.0.1.0.0",
"website": "https://github.com/OCA/product-attribute",
"depends": ["product"],
"data": [
"security/ir.model.access.csv",
"security/rule_product_set.xml",
"views/product_set.xml",
"views/product_set_line.xml",
],
"demo": ["demo/product_set.xml", "demo/product_set_line.xml"],
"installable": True,
}
11 changes: 11 additions & 0 deletions product_set/demo/product_set.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8" ?>
<odoo>
<record id="product_set_i5_computer" model="product.set">
<field name="name">i5 computer offer</field>
<field name="ref">i5 computer offer</field>
</record>
<record id="product_set_services" model="product.set">
<field name="name">Services</field>
<field name="ref">Services</field>
</record>
</odoo>
37 changes: 37 additions & 0 deletions product_set/demo/product_set_line.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
<?xml version="1.0" encoding="UTF-8" ?>
<odoo>
<record id="product_set_line_computer_1" model="product.set.line">
<field name="product_set_id" ref="product_set_i5_computer" />
<field name="product_id" ref="product.product_product_5" />
<field name="name">Corner Desk Right Sit Description</field>
<field name="quantity">1</field>
<field name="sequence">30</field>
</record>
<record id="product_set_line_computer_3" model="product.set.line">
<field name="product_set_id" ref="product_set_i5_computer" />
<field name="product_id" ref="product.product_product_22" />
<field name="quantity">1</field>
<field name="sequence">50</field>
</record>
<record id="product_set_line_computer_4" model="product.set.line">
<field name="product_set_id" ref="product_set_i5_computer" />
<field name="product_id" ref="product.product_product_13" />
<field name="quantity">2</field>
<field name="sequence">20</field>
</record>
<record id="product_set_line_services_1" model="product.set.line">
<field name="product_set_id" ref="product_set_services" />
<field name="product_id" ref="product.product_product_2" />
<field name="quantity">1</field>
</record>
<record id="product_set_line_services_2" model="product.set.line">
<field name="product_set_id" ref="product_set_services" />
<field name="product_id" ref="product.product_product_1" />
<field name="quantity">1</field>
</record>
<record id="product_set_line_services_3" model="product.set.line">
<field name="product_set_id" ref="product_set_services" />
<field name="display_type">line_section</field>
<field name="name">Section</field>
</record>
</odoo>
Loading
Loading