Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
83 commits
Select commit Hold shift + click to select a range
a17f4e5
[add] sale_product_set
Aug 6, 2015
2558140
[10.0][MIG] sale_product_set
leemannd Dec 23, 2016
eed9e58
[10.0][FIX][sale_product_set] incompatibility with sale_margin (#519)
MiquelRForgeFlow Aug 28, 2017
a6fe2ac
[10.0][IMP] sale_product_set: move `add set` smart button header (#543)
leemannd Oct 25, 2017
6b91749
[MIG][11.0] sale_product_set
simahawk Nov 28, 2017
738856b
remove obsolete .pot files [ci skip]
sbidoul Jun 15, 2018
94f6692
[UPD] Update sale_product_set.pot
oca-travis Jun 21, 2018
6d7064c
Translated using Weblate (Spanish)
pedrobaeza Oct 24, 2018
88d4d58
[MIG] - Migration 12.0 sale_product_set
sbejaoui Nov 5, 2018
6ccdd4a
[IMP] - refresh sale_product_set.pot
sbejaoui Nov 26, 2018
00c1c7b
[REM] - Remove version="7.0" reference in xml views
sbejaoui Nov 27, 2018
f3fd272
[FIX] - fix class name
sbejaoui Nov 27, 2018
a6b7999
[FIX] - fix prepare_sale_order_line_data
sbejaoui Dec 3, 2018
29b6f57
[ADD] - Add ref field
sbejaoui Dec 19, 2018
5716686
[IMP] - order manifest files
sbejaoui Dec 26, 2018
c2497f0
Remove string attribute
rven Dec 26, 2018
ace6cb6
Translated using Weblate (Spanish)
mvrodriguez Feb 11, 2019
0651822
[IMP] - Add multi-company to product set
sbejaoui May 29, 2019
5cee38a
Translated using Weblate (German)
marylla Jul 16, 2019
19d8d15
[IMP] - Add archive option to product set
sbejaoui Apr 3, 2019
bfed45c
[IMP] sale_product_set module
AdriaGForgeFlow Jul 2, 2019
b90fff7
Translated using Weblate (Chinese (Simplified))
liweijie0812 Sep 1, 2019
03bf193
sale_product_set: test coverage 100%
simahawk Nov 14, 2019
f27368f
sale_product_set: add optional partner
simahawk Nov 14, 2019
76aae01
sale_product_set wizard: ease overrides
simahawk Nov 14, 2019
b499de8
sale_product_set: fix access rule
simahawk Nov 18, 2019
a48f5c1
sale_product_set: add skip existing products option
simahawk Nov 20, 2019
da194b2
sale_product_set: move menu to products catalog
simahawk Nov 20, 2019
094fd95
sale_product_set: fix add wizard relation w/ set
simahawk Nov 28, 2019
6882770
sale_product_set: fix wizard rel w/ order and partner
simahawk Dec 9, 2019
13905ba
sale_product_set 12.0.1.3.0
simahawk Dec 11, 2019
68ee51f
[IMP] sale_product_set: black, isort
AdriaGForgeFlow Dec 23, 2019
f037e47
[MIG] sale_product_set: Migration to 13.0
AdriaGForgeFlow Dec 23, 2019
4eb6258
sale_product_set: Define proper hook to prepare sale order line
grindtildeath Jul 13, 2020
2ea36f1
Translated using Weblate (Spanish)
danimv5 Jul 27, 2020
7255a5b
Translated using Weblate (Catalan)
brendapaniagua Aug 31, 2020
2082294
[13][IMP] product_set also duplicate lines
TDu Nov 6, 2020
970528a
sale_product_set: ease override of partner validation
simahawk Dec 4, 2020
6a88e88
[IMP] sale_product_set: black, isort, prettier
phuctranfxvn Dec 27, 2020
1177f14
[MIG] sale_product_set: Migration to 14.0
phuctranfxvn Dec 29, 2020
677ff9f
Translated using Weblate (Portuguese (Brazil))
britoederr Feb 14, 2021
4146a26
Translated using Weblate (Catalan)
danimv5 Feb 23, 2021
dbe7b84
Translated using Weblate (Spanish)
danimv5 Feb 23, 2021
2953d45
Added translation using Weblate (French (France))
Yvesldff Apr 11, 2021
4782d0d
sale_product_set: allow passing custom lines to wizard
simahawk Feb 16, 2021
5c04a19
sale_product_set: improve views/actions
simahawk Feb 16, 2021
5d67e87
sale_product_set: cleanup test case
simahawk Feb 16, 2021
9cedc04
sale_product_set: fix SO line vals get
simahawk May 14, 2021
46fa44a
Translated using Weblate (German)
marylla Jul 9, 2021
3734711
sale_product_set: add view and menu for lines
simahawk Jul 21, 2021
0f3ce95
[FIX] sale_product_set: Change toggle_active button to web_ribbon wid…
victoralmau Mar 11, 2022
7238773
[FIX] sale_product_set: Define multi-company rules correctly.
victoralmau Mar 14, 2022
36a439f
[14.0][FIX] sale_product_set: Add company_id from order
rousseldenis Mar 15, 2022
44499bd
Translated using Weblate (Spanish)
pedrobaeza Mar 24, 2022
6acefd5
[FIX] sale_product_set: Proper company default
pedrobaeza Mar 24, 2022
14f94ee
sale_product_set: fix custom lines edit
Jan 12, 2022
80dd8ad
Translated using Weblate (Italian)
francesco-ooops Apr 8, 2022
9d6440f
[13.0][FIX] sale_product_set: fix sequence during set_apply on SO.
acsonefho Oct 15, 2021
b8c67f5
[MIG]sale_product_set: Migration to 15.0
manuelregidor Jun 1, 2022
75a9868
Translated using Weblate (Italian)
mymage Mar 23, 2023
b92aa4d
Translated using Weblate (Slovenian)
sysadminmatmoz Mar 31, 2023
448d85c
[MIG] sale_product_set: Migration to 16.0
Jun 23, 2023
012e67d
Split into product-attribute/product_set and sale_product_set
Jul 13, 2023
77e8aa0
[MIG] sale_product_set_layout: Migration to 16.0
Nov 28, 2023
68f61f9
[IMP] sale_product_set: Move the base logic of the transient model to…
pilarvargas-tecnativa Mar 12, 2024
1d478c0
[IMP] sale_product_set: pre-commit auto fixes
NICO-SOLUTIONS Mar 26, 2024
2ffd2a2
[MIG] sale_product_set: Migration to 17.0
NICO-SOLUTIONS Mar 26, 2024
1062667
[UPD] Update sale_product_set.pot
Mar 26, 2024
cffc904
[BOT] post-merge updates
OCA-git-bot Mar 26, 2024
d01eeb0
Update translation files
weblate Mar 26, 2024
3af3c8b
Update translation files
weblate Mar 26, 2024
bac53cb
Translated using Weblate (German)
NICO-SOLUTIONS Mar 27, 2024
132231d
Translated using Weblate (Swedish)
jakobkrabbe Jun 12, 2024
9e5737d
Translated using Weblate (Italian)
mymage Aug 20, 2024
8a55bb7
[IMP] synchronize active state between partner and product set
ajaniszewska-dev Jun 27, 2024
07f5cc9
[IMP] sale_product_set: pre-commit auto fixes
juancarlosonate-tecnativa Feb 13, 2025
083b380
[MIG] sale_product_set: Migration to 18.0
sbejaoui Nov 4, 2024
64258ec
[UPD] Update sale_product_set.pot
Mar 5, 2025
0cb39b4
[BOT] post-merge updates
OCA-git-bot Mar 5, 2025
c09860d
Translated using Weblate (Turkish)
bo-eska Jul 19, 2025
0ff671a
[IMP] sale_product_set: pre-commit auto fixes
mmrondon Oct 13, 2025
3e7ce8b
[MIG] sale_product_set: Migration to 19.0
mmrondon Oct 13, 2025
646475b
[DON'T MERGE] Add test-requirements.txt
mmrondon Oct 17, 2025
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
127 changes: 127 additions & 0 deletions sale_product_set/README.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,127 @@
.. image:: https://odoo-community.org/readme-banner-image
:target: https://odoo-community.org/get-involved?utm_source=readme
:alt: Odoo Community Association

=================
Sales product set
=================

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

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

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

A **product set** is a list of products which end customers aren't
aware, this list is defined by sales manager.

This module aims to load a product set in a sales order though a wizard.
The product set is a list of products and quantities that gets inserted
as separate sales order lines.

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

**Table of contents**

.. contents::
:local:

Usage
=====

- Define a *product set* as sales manager:

- choose products
- for each product, define a quantity.
- for each product (if Discounts setting is active), define a discount
or leave default value
- Sort *set* lines, this order will be the default when added into the
quotation

- Then you can remove or update added lines as any other sales order
lines.

|Sale order|

.. |Sale order| image:: https://raw.githubusercontent.com/sale_product_set/static/description/sale_order.png

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

Bugs are tracked on `GitHub Issues <https://github.com/OCA/sale-workflow/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/sale-workflow/issues/new?body=module:%20sale_product_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 <[email protected]>
- Pierre Verkest <[email protected]>
- Denis Leemann <[email protected]>
- Simone Orsi <[email protected]>
- Souheil Bejaoui <[email protected]>
- Adria Gil Sorribes <[email protected]>
- Phuc (Tran Thanh) <[email protected]>
- Manuel Regidor <[email protected]>
- `Tecnativa <https://www.tecnativa.com>`__:

- Pilar Vargas
- Juan Carlos Oñate

- Nils Coenen <[email protected]>

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/sale-workflow <https://github.com/OCA/sale-workflow/tree/19.0/sale_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 sale_product_set/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
from . import models
from . import wizard
22 changes: 22 additions & 0 deletions sale_product_set/__manifest__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
# Copyright 2015 Anybox
# Copyright 2018 Camptocamp, ACSONE SA/NV
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
{
"name": "Sales product set",
"category": "Sales",
"license": "AGPL-3",
"author": "Anybox, Odoo Community Association (OCA)",
"version": "19.0.1.0.0",
"website": "https://github.com/OCA/sale-workflow",
"depends": ["sale", "sale_management", "product_set"],
"data": [
"security/ir.model.access.csv",
"views/product_set.xml",
"views/product_set_line.xml",
"wizard/sale_product_set_wizard_view.xml",
"views/sale_order.xml",
"views/res_config_settings.xml",
],
"demo": ["demo/product_set_line.xml"],
"installable": True,
}
9 changes: 9 additions & 0 deletions sale_product_set/demo/product_set_line.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
<?xml version="1.0" encoding="UTF-8" ?>
<odoo>
<record id="product_set.product_set_line_computer_1" model="product.set.line">
<field name="discount">25</field>
</record>
<record id="product_set.product_set_line_services_1" model="product.set.line">
<field name="discount">50</field>
</record>
</odoo>
150 changes: 150 additions & 0 deletions sale_product_set/i18n/am.po
Original file line number Diff line number Diff line change
@@ -0,0 +1,150 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * sale_product_set
#
# Translators:
# OCA Transbot <[email protected]>, 2017
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 10.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-05-13 01:19+0000\n"
"PO-Revision-Date: 2017-05-13 01:19+0000\n"
"Last-Translator: OCA Transbot <[email protected]>, 2017\n"
"Language-Team: Amharic (https://www.transifex.com/oca/teams/23907/am/)\n"
"Language: am\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_product_set
#: model_terms:ir.ui.view,arch_db:sale_product_set.product_set_add_form_view
msgid "Add a line"
msgstr ""

#. module: sale_product_set
#: model_terms:ir.ui.view,arch_db:sale_product_set.product_set_add_form_view
msgid "Add a note"
msgstr ""

#. module: sale_product_set
#: model_terms:ir.ui.view,arch_db:sale_product_set.product_set_add_form_view
msgid "Add a section"
msgstr ""

#. module: sale_product_set
#: model_terms:ir.ui.view,arch_db:sale_product_set.product_set_add_form_view
#: model_terms:ir.ui.view,arch_db:sale_product_set.view_order_stock_form
msgid "Add set"
msgstr ""

#. module: sale_product_set
#: model:ir.actions.act_window,name:sale_product_set.act_open_wizard_product_set_add_from_order
msgid "Add set in sale order"
msgstr ""

#. module: sale_product_set
#: model_terms:ir.ui.view,arch_db:sale_product_set.product_set_add_form_view
msgid "Add set in sale order line"
msgstr ""

#. module: sale_product_set
#: model:ir.actions.act_window,name:sale_product_set.act_open_wizard_product_set_add_from_set
msgid "Add set to sale order"
msgstr ""

#. module: sale_product_set
#: model_terms:ir.ui.view,arch_db:sale_product_set.product_set_add_form_view
msgid "Cancel"
msgstr ""

#. module: sale_product_set
#: model:ir.model.fields,field_description:sale_product_set.field_sale_product_set_wizard__create_uid
msgid "Created by"
msgstr "Creado por"

#. module: sale_product_set
#: model:ir.model.fields,field_description:sale_product_set.field_sale_product_set_wizard__create_date
msgid "Created on"
msgstr "Creado en"

#. module: sale_product_set
#: model:ir.model.fields,field_description:sale_product_set.field_sale_product_set_wizard__partner_id
msgid "Customer"
msgstr ""

#. module: sale_product_set
#: model:ir.model.fields,field_description:sale_product_set.field_product_set_line__discount
msgid "Discount (%)"
msgstr ""

#. module: sale_product_set
#: model:ir.model.fields,field_description:sale_product_set.field_sale_product_set_wizard__display_name
msgid "Display Name"
msgstr ""

#. module: sale_product_set
#: model:ir.model.fields,help:sale_product_set.field_sale_product_set_wizard__skip_existing_products
msgid ""
"Enable this to not add new lines for products already included in SO lines."
msgstr ""

#. module: sale_product_set
#: model:ir.model.fields,field_description:sale_product_set.field_sale_product_set_wizard__id
msgid "ID"
msgstr "ID"

#. module: sale_product_set
#: model:ir.model.fields,field_description:sale_product_set.field_sale_product_set_wizard__write_uid
msgid "Last Updated by"
msgstr "Última actualización por"

#. module: sale_product_set
#: model:ir.model.fields,field_description:sale_product_set.field_sale_product_set_wizard__write_date
msgid "Last Updated on"
msgstr "Última actualización en"

#. module: sale_product_set
#: model:ir.model.fields,field_description:sale_product_set.field_sale_product_set_wizard__product_set_id
#: model:ir.ui.menu,name:sale_product_set.menu_product_set_config
msgid "Product set"
msgstr ""

#. module: sale_product_set
#: model:ir.model,name:sale_product_set.model_product_set_line
#: model:ir.ui.menu,name:sale_product_set.menu_product_set_line_config
msgid "Product set line"
msgstr ""

#. module: sale_product_set
#: model:ir.model.fields,field_description:sale_product_set.field_sale_product_set_wizard__product_set_line_ids
msgid "Product set lines"
msgstr ""

#. module: sale_product_set
#: model:ir.model.fields,field_description:sale_product_set.field_sale_product_set_wizard__quantity
msgid "Quantity"
msgstr ""

#. module: sale_product_set
#: model:ir.model.fields,field_description:sale_product_set.field_sale_product_set_wizard__order_id
msgid "Sale Order"
msgstr ""

#. module: sale_product_set
#: model:ir.model.fields,field_description:sale_product_set.field_sale_product_set_wizard__skip_existing_products
msgid "Skip Existing Products"
msgstr ""

#. module: sale_product_set
#: model:ir.model,name:sale_product_set.model_sale_product_set_wizard
msgid "Wizard model to add product set into a quotation"
msgstr ""

#. module: sale_product_set
#. odoo-python
#: code:addons/sale_product_set/wizard/sale_product_set_wizard.py:0
#, python-format
msgid "You can use a sale order assigned only to following partner(s): {}"
msgstr ""
Loading
Loading