Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
81 commits
Select commit Hold shift + click to select a range
056c814
[ADD] sale_product_pack: new module
ernestotejeda Sep 19, 2019
21162fa
[UPD] README.rst + [ADD] icon.png
OCA-git-bot Oct 22, 2019
b9a099f
[UPD] Update sale_product_pack.pot
oca-travis Oct 22, 2019
d1df9d4
[IMP] sale_product_pack: add a Roadmap section to the readme
ernestotejeda Oct 22, 2019
038eaf0
[FIX] sale_product_pack: Unlink pack children lines before
pedrobaeza Dec 4, 2019
d96f926
[UPD] Update sale_product_pack.pot
oca-travis Dec 4, 2019
3240efd
Update translation files
oca-transbot Dec 4, 2019
bda5d11
Added translation using Weblate (Portuguese)
pedrocs-exo Dec 12, 2019
dd35541
[FIX] sale_product_pack: Set price 0 for non detailed components in s…
pedrobaeza Dec 17, 2019
e5eb1f7
[UPD] Update sale_product_pack.pot
oca-travis Dec 17, 2019
618415f
Update translation files
oca-transbot Dec 17, 2019
5efb7ae
Added translation using Weblate (Catalan + Spanish)
CarlesAntoli Dec 27, 2019
33f4190
Allow to update product_uom_qty after sale is confirmed
hparfr May 12, 2020
4136c0d
Administrative commits
oca-travis May 12, 2020
ae578d7
Add pack_modifiable in the sale order line.
hparfr Mar 18, 2020
d76501c
[UPD] Update sale_product_pack.pot
oca-travis May 26, 2020
4ea3203
Administrative commits
OCA-git-bot May 26, 2020
adc3754
Added translation using Weblate (French)
ypapouin May 28, 2020
942f34c
[IMP] sale_product_pack: black, isort, prettier
jjscarafia Jun 7, 2020
0d54d3d
[MIG] sale_product_pack: Migration to 13.0
jjscarafia Jun 7, 2020
33f96d4
[MIG] sale_product_pack: Migration to 13.0 (fix order line deleting)
Jul 8, 2020
419ad39
[UPD] Update sale_product_pack.pot
oca-travis Jul 13, 2020
4b7544d
[UPD] README.rst
OCA-git-bot Jul 13, 2020
cbe3f9d
Update translation files
oca-transbot Aug 16, 2020
e2c252e
[FIX] sale_product_pack: Missing write result
ypapouin Oct 9, 2020
7efa7be
Added translation using Weblate (Dutch)
bosd Dec 13, 2020
d2b5c8d
Translated using Weblate (Dutch)
bosd Dec 13, 2020
ade2394
[ADD] website_sale_product_pack: New module
chienandalu Jun 18, 2021
6115c9c
[FIX] sale_product_pack: Add pricelist to the sale order to avoid inc…
victoralmau Oct 20, 2021
59629a6
sale_product_pack 13.0.1.0.2
OCA-git-bot Oct 21, 2021
80574a9
[IMP] sale_product_pack: black, isort, prettier
dreispt Nov 15, 2021
0ea5541
[MIG] sale_product_pack: Migration to 14.0
dreispt Nov 15, 2021
32a41a5
[UPD] Update sale_product_pack.pot
oca-travis Jan 11, 2022
21ef8c6
[UPD] README.rst
OCA-git-bot Jan 11, 2022
ed5f337
[UPD] Update sale_product_pack.pot
oca-travis Jan 14, 2022
6ffb45b
Update translation files
oca-transbot Jan 14, 2022
0b9c2b6
Translated using Weblate (Catalan)
Noel000 Feb 28, 2022
d09cb34
[14.0][IMP] sale_product_pack: Use multi create for pack lines
rousseldenis Mar 8, 2022
d069a30
sale_product_pack 14.0.1.0.1
OCA-git-bot Mar 9, 2022
e61ca75
[14.0][IMP] sale_product_pack: add field in order to get 'do not expa…
rousseldenis Mar 16, 2022
f3335ef
[14.0][IMP] sale_product_pack: Use field instead of searches if we ha…
rousseldenis Mar 16, 2022
bd94b43
[14.0][IMP] sale_product_pack: Set sequence value in good function
rousseldenis Mar 16, 2022
f1ae8b4
[14.0][IMP] sale_product_pack: Add test for multi lines creation
rousseldenis Mar 16, 2022
caab9e8
[UPD] Update sale_product_pack.pot
Jun 28, 2022
5af4168
sale_product_pack 14.0.1.1.0
OCA-git-bot Jun 28, 2022
8c44250
Update translation files
oca-transbot Jun 28, 2022
674df8e
[IMP] Improve tests for sale_product_pack
cvinh Jul 5, 2022
10f579d
sale_product_pack 14.0.1.1.1
OCA-git-bot Jul 8, 2022
e4752ef
[MIG] sale_product_pack: Migration to 15.0
nicomacr Jun 2, 2022
0416310
[UPD] Update sale_product_pack.pot
Nov 30, 2022
93c37ed
[UPD] README.rst
OCA-git-bot Nov 30, 2022
6484298
[MIG] sale_product_pack: Migration to 16.0
FrancoMaxime Feb 22, 2023
4ea4cba
[FIX] sale_product_pack - Recomputes correctly the price of product_p…
FrancoMaxime Mar 2, 2023
bbbb9f2
[FIX] sale_product_pack: fix error when creating Down Payment
augusto-weiss Mar 28, 2023
a306bf4
[FIX] sale_product_pack: for compatibility with sale_product_pack_ass…
augusto-weiss Apr 6, 2023
0b1b4fc
[UPD] Update sale_product_pack.pot
Jun 5, 2023
c2e676f
[UPD] README.rst
OCA-git-bot Jun 5, 2023
6cb6122
Update translation files
weblate Jun 5, 2023
ac2632e
[UPD] README.rst
OCA-git-bot Sep 3, 2023
4c42424
Translated using Weblate (Spanish)
Ivorra78 Aug 23, 2023
0b99ce5
Added translation using Weblate (Italian)
mymage Nov 8, 2023
3757bb8
Translated using Weblate (Italian)
mymage Nov 9, 2023
a8846a1
Translated using Weblate (Italian)
mymage Nov 10, 2023
df40d34
[IMP] sale_product_pack: add sale demo for each type of pack
ALopez-Adhoc Oct 30, 2023
9bb616c
[BOT] post-merge updates
OCA-git-bot Nov 23, 2023
f9b9e04
[IMP] sale_product_pack: pre-commit execution
Nov 30, 2023
6718563
[MIG] sale_product_pack: Migration to 17.0
Nov 30, 2023
c276597
[UPD] Update sale_product_pack.pot
May 14, 2024
c2c7c56
[BOT] post-merge updates
OCA-git-bot May 14, 2024
1f6bea9
Update translation files
weblate May 14, 2024
d105c27
[REF] sale_product_pack: Price computation refactor
May 10, 2024
9184942
[FIX] sale_product_pack: Update Price Action
Oct 12, 2023
1099909
[FIX] sale_product_pack: Respect the order of the lines to be added
victoralmau Oct 21, 2024
dbaf486
[IMP] sale_product_pack: Change manifest maintainers
victoralmau Oct 29, 2024
d6d8c95
[BOT] post-merge updates
OCA-git-bot Oct 29, 2024
60bd988
[UPD] Update sale_product_pack.pot
Nov 4, 2024
d1f9095
[BOT] post-merge updates
OCA-git-bot Nov 4, 2024
d234a5b
Update translation files
weblate Nov 4, 2024
16a0e43
Translated using Weblate (Italian)
mymage Nov 5, 2024
36fdc62
[IMP] sale_product_pack: pre-commit execution
ALopez-Adhoc Nov 21, 2024
ce9ba34
[MIG] sale_product_pack: Migration to 18.0
ALopez-Adhoc Nov 21, 2024
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
137 changes: 137 additions & 0 deletions sale_product_pack/README.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,137 @@
=================
Sale Product Pack
=================

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

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

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

This module adds *Product Pack* functionality to sales orders. You can
choose a *Pack* in *sales order lines* and see different behaviors
depending on "Pack type" and "Pack component price" fields options
selected on this *Pack*.

**Table of contents**

.. contents::
:local:

Usage
=====

To use this module, you need to:

1. Go to *Sales > Products > Products*, create or select a product and
check *Is Pack?*
2. Set "Product type" and "Pack component price" fields in the *Pack*
page.
3. Add the products to be included in it.
4. Go to *Sales > Orders > Quotations* and create a Quotation.
5. Add a product that has checked "Is Pack?"
6. Save data and you will see an specific behavior depending on "Pack
type" and "Pack component price" fields options selected on this
*Pack*. For example, for products that has *Detailed* option selected
in "Pack type" field you will see one *sale order line* per component
that belong to this Pack. (See *Product pack* module README.rst file)

Known issues / Roadmap
======================

- If this module is installed and stock module is installed too, when
you create a Sale order for a *Non detailed* Pack and you confirm it,
a *Stock picking* is not created with the storable components of that
Pack. So, add a new module called *sale_stock_product_pack* that adds
that feature.

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

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

* NaN·tic
* ADHOC SA
* Tecnativa

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

- `Tecnativa <https://www.tecnativa.com>`__:

- Ernesto Tejeda
- Pedro M. Baeza

- `Akretion <https://akretion.com>`__:

- Raphaël Reverdy

- `Open Source Integrators <https://opensourceintegrators.eu>`__:

- Daniel Reis <dreis@opensourceintegrators.com>

- `Acsone <https://www.acsone.eu/>`__:

- Maxime Franco

- `ADHOC SA <https://www.adhoc.com.ar>`__:

- Bruno Zanotti
- Augusto Weiss
- Nicolas Col

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.

.. |maintainer-victoralmau| image:: https://github.com/victoralmau.png?size=40px
:target: https://github.com/victoralmau
:alt: victoralmau

Current `maintainer <https://odoo-community.org/page/maintainer-role>`__:

|maintainer-victoralmau|

This module is part of the `OCA/product-pack <https://github.com/OCA/product-pack/tree/18.0/sale_product_pack>`_ 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_pack/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
from . import models
19 changes: 19 additions & 0 deletions sale_product_pack/__manifest__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
# Copyright 2019 NaN (http://www.nan-tic.com) - Àngel Àlvarez
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
{
"name": "Sale Product Pack",
"version": "18.0.1.0.0",
"category": "Sales",
"summary": "This module allows you to sell product packs",
"website": "https://github.com/OCA/product-pack",
"author": "NaN·tic, ADHOC SA, Tecnativa, Odoo Community Association (OCA)",
"maintainers": ["victoralmau"],
"license": "AGPL-3",
"depends": ["product_pack", "sale"],
"data": ["security/ir.model.access.csv", "views/product_pack_line_views.xml"],
"demo": [
"demo/product_pack_line_demo.xml",
"demo/sale_pack_demo.xml",
],
"installable": True,
}
23 changes: 23 additions & 0 deletions sale_product_pack/demo/product_pack_line_demo.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
<?xml version="1.0" encoding="utf-8" ?>
<!-- Copyright 2019 Tecnativa - Ernesto Tejeda
License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). -->
<odoo noupdate="1">
<record id="product_pack.pack_cpu_detailed_components_1" model="product.pack.line">
<field name="sale_discount" eval="10.0" />
</record>
<record id="product_pack.pack_cpu_detailed_components_3" model="product.pack.line">
<field name="sale_discount" eval="10.0" />
</record>
<record id="product_pack.pack_cpu_detailed_totalized_1" model="product.pack.line">
<field name="sale_discount" eval="10.0" />
</record>
<record id="product_pack.pack_cpu_detailed_totalized_3" model="product.pack.line">
<field name="sale_discount" eval="10.0" />
</record>
<record id="product_pack.pack_cpu_non_detailed_1" model="product.pack.line">
<field name="sale_discount" eval="10.0" />
</record>
<record id="product_pack.pack_cpu_non_detailed_3" model="product.pack.line">
<field name="sale_discount" eval="10.0" />
</record>
</odoo>
108 changes: 108 additions & 0 deletions sale_product_pack/demo/sale_pack_demo.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,108 @@
<?xml version='1.0' encoding='utf-8' ?>
<odoo>
<!-- Sale order -->
<record id="portal_sale_order_3" model="sale.order">
<field name="partner_id" ref="base.partner_demo_portal" />
<field name="partner_invoice_id" ref="base.partner_demo_portal" />
<field name="partner_shipping_id" ref="base.partner_demo_portal" />
<field name="user_id" ref="base.user_admin" />
<field name="payment_term_id" ref="account.account_payment_term_30days" />
<field name="team_id" ref="sales_team.team_sales_department" />
<field
name="date_order"
eval="(DateTime.today() - relativedelta(months=1)).strftime('%Y-%m-%d %H:%M')"
/>
<field
name="message_partner_ids"
eval="[(4, ref('base.partner_demo_portal'))]"
/>
</record>

<!-- Sale order lines -->
<!-- Product pack: DETAILED - COMPONENTS -->
<record id="portal_sale_order_line_section_1" model="sale.order.line">
<field name="order_id" ref="portal_sale_order_3" />
<field name="name">Detailed Displayed Components Price</field>
<field name="display_type">line_section</field>
<field name="sequence">1</field>
</record>
<record id="portal_sale_order_line_6" model="sale.order.line">
<field name="order_id" ref="portal_sale_order_3" />
<field
name="product_id"
ref="product_pack.product_pack_cpu_detailed_components"
/>
<field name="sequence">2</field>
</record>
<!-- Product pack: DETAILED - TOTALIZED -->
<record id="portal_sale_order_line_section_2" model="sale.order.line">
<field name="order_id" ref="portal_sale_order_3" />
<field name="name">Detailed Totalized Components Price</field>
<field name="display_type">line_section</field>
<field name="sequence">3</field>
</record>
<record id="portal_sale_order_line_7" model="sale.order.line">
<field name="order_id" ref="portal_sale_order_3" />
<field
name="product_id"
ref="product_pack.product_pack_cpu_detailed_totalized"
/>
<field name="sequence">4</field>
</record>
<!-- Product pack: DETAILED - IGNORED -->
<record id="portal_sale_order_line_section_3" model="sale.order.line">
<field name="order_id" ref="portal_sale_order_3" />
<field name="name">Detailed Ignored Components Price</field>
<field name="display_type">line_section</field>
<field name="sequence">5</field>
</record>
<record id="portal_sale_order_line_8" model="sale.order.line">
<field name="order_id" ref="portal_sale_order_3" />
<field name="product_id" ref="product_pack.product_pack_cpu_detailed_ignored" />
<field name="sequence">6</field>
</record>
<!-- Product pack: NON DETAILED -->
<record id="portal_sale_order_line_section_4" model="sale.order.line">
<field name="order_id" ref="portal_sale_order_3" />
<field name="name">Not Detailed - Totalized Components Price</field>
<field name="display_type">line_section</field>
<field name="sequence">7</field>
</record>
<record id="portal_sale_order_line_9" model="sale.order.line">
<field name="order_id" ref="portal_sale_order_3" />
<field name="product_id" ref="product_pack.product_pack_cpu_non_detailed" />
<field name="sequence">8</field>
</record>
<!-- Components -->
<record id="portal_sale_order_line_section_5" model="sale.order.line">
<field name="order_id" ref="portal_sale_order_3" />
<field name="name">COMPONENTS</field>
<field name="display_type">line_section</field>
<field name="sequence">9</field>
</record>
<record id="portal_sale_order_line_components_1" model="sale.order.line">
<field name="order_id" ref="portal_sale_order_3" />
<field name="product_id" ref="product.product_product_20" />
<field name="sequence">10</field>
</record>

<record id="portal_sale_order_line_components_2" model="sale.order.line">
<field name="order_id" ref="portal_sale_order_3" />
<field name="product_id" ref="product.product_product_16" />
<field name="sequence">11</field>
</record>

<record id="portal_sale_order_components_3" model="sale.order.line">
<field name="order_id" ref="portal_sale_order_3" />
<field name="product_id" ref="product.product_product_24" />
<field name="sequence">12</field>
</record>

<function
model="sale.order"
name="action_confirm"
eval="[[
ref('portal_sale_order_3'),
]]"
/>
</odoo>
Loading
Loading