Skip to content

Commit

Permalink
Merge PR #1520 into 16.0
Browse files Browse the repository at this point in the history
Signed-off-by pedrobaeza
  • Loading branch information
OCA-git-bot committed Aug 8, 2023
2 parents 1c9fc79 + fee8568 commit 026860b
Show file tree
Hide file tree
Showing 19 changed files with 882 additions and 0 deletions.
79 changes: 79 additions & 0 deletions sale_partner_company_group/README.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
==========================
Sale Partner Company Group
==========================

.. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
.. |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%2Fpartner--contact-lightgray.png?logo=github
:target: https://github.com/OCA/partner-contact/tree/15.0/sale_partner_company_group
:alt: OCA/partner-contact
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
:target: https://translation.odoo-community.org/projects/partner-contact-15-0/partner-contact-15-0-sale_partner_company_group
:alt: Translate me on Weblate
.. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png
:target: https://runbot.odoo-community.org/runbot/134/15.0
:alt: Try me on Runbot

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

This Module adds a company group field to sale orders. For more details investigate in base_partner_company_group.

**Table of contents**

.. contents::
:local:

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

Bugs are tracked on `GitHub Issues <https://github.com/OCA/partner-contact/issues>`_.
In case of trouble, please check there if your issue has already been reported.
If you spotted it first, help us smashing it by providing a detailed and welcomed
`feedback <https://github.com/OCA/partner-contact/issues/new?body=module:%20sale_partner_company_group%0Aversion:%2015.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
~~~~~~~

* Camptocamp SA

Contributors
~~~~~~~~~~~~

* Timon Tschanz <[email protected]>
* Yannick Vaucher <[email protected]>
* `Tecnativa <https://www.tecnativa.com>`_:

* Ernesto Tejeda

* Tharathip Chaweewongphan <[email protected]>

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/partner-contact <https://github.com/OCA/partner-contact/tree/15.0/sale_partner_company_group>`_ 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_partner_company_group/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
from . import models
from .hooks import pre_init_hook
14 changes: 14 additions & 0 deletions sale_partner_company_group/__manifest__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
# Copyright 2019 Camptocamp SA
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
{
"name": "Sale Partner Company Group",
"summary": "Adds the possibility to add a company group to a company",
"version": "16.0.1.0.0",
"category": "Sales",
"author": "Camptocamp SA, Odoo Community Association (OCA)",
"license": "AGPL-3",
"depends": ["base_partner_company_group", "sale"],
"website": "https://github.com/OCA/partner-contact",
"data": ["views/sale_order_view.xml"],
"installable": True,
}
15 changes: 15 additions & 0 deletions sale_partner_company_group/hooks.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# Copyright 2022 Tecnativa - Víctor Martínez
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
import logging


def pre_init_hook(cr):
"""Prepopulate stored related fields for faster installation"""
logger = logging.getLogger(__name__)
logger.info("Prepopulating stored related fields")
cr.execute(
"""
ALTER TABLE sale_order
ADD COLUMN IF NOT EXISTS company_group_id integer;
"""
)
43 changes: 43 additions & 0 deletions sale_partner_company_group/i18n/es.po
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * sale_partner_company_group
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 13.0\n"
"Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: 2020-07-03 17:19+0000\n"
"Last-Translator: Sergio Teruel <[email protected]>\n"
"Language-Team: none\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 3.10\n"

#. module: sale_partner_company_group
#: model_terms:ir.ui.view,arch_db:sale_partner_company_group.view_sales_order_filter
msgid "Company Group"
msgstr "Grupo compañía"

#. module: sale_partner_company_group
#: model:ir.model.fields,field_description:sale_partner_company_group.field_sale_order__company_group_id
msgid "Company group"
msgstr "Grupo compañía"

#. module: sale_partner_company_group
#: model:ir.model,name:sale_partner_company_group.model_res_partner
msgid "Contact"
msgstr ""

#. module: sale_partner_company_group
#: model:ir.model,name:sale_partner_company_group.model_sale_order
msgid "Sales Order"
msgstr "Pedido de venta"

#. module: sale_partner_company_group
#: code:addons/sale_partner_company_group/models/res_partner.py:0
#, python-format
msgid "Warning"
msgstr ""
40 changes: 40 additions & 0 deletions sale_partner_company_group/i18n/sale_partner_company_group.pot
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * sale_partner_company_group
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 15.0\n"
"Report-Msgid-Bugs-To: \n"
"Last-Translator: \n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: \n"

#. module: sale_partner_company_group
#: model_terms:ir.ui.view,arch_db:sale_partner_company_group.view_sales_order_filter
msgid "Company Group"
msgstr ""

#. module: sale_partner_company_group
#: model:ir.model.fields,field_description:sale_partner_company_group.field_sale_order__company_group_id
msgid "Company group"
msgstr ""

#. module: sale_partner_company_group
#: model:ir.model,name:sale_partner_company_group.model_res_partner
msgid "Contact"
msgstr ""

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

#. module: sale_partner_company_group
#: code:addons/sale_partner_company_group/models/res_partner.py:0
#, python-format
msgid "Warning"
msgstr ""
43 changes: 43 additions & 0 deletions sale_partner_company_group/i18n/zh_CN.po
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * sale_partner_company_group
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 13.0\n"
"Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: 2020-03-21 14:13+0000\n"
"Last-Translator: Dong <[email protected]>\n"
"Language-Team: none\n"
"Language: zh_CN\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Generator: Weblate 3.10\n"

#. module: sale_partner_company_group
#: model_terms:ir.ui.view,arch_db:sale_partner_company_group.view_sales_order_filter
msgid "Company Group"
msgstr "集团公司"

#. module: sale_partner_company_group
#: model:ir.model.fields,field_description:sale_partner_company_group.field_sale_order__company_group_id
msgid "Company group"
msgstr "集团公司"

#. module: sale_partner_company_group
#: model:ir.model,name:sale_partner_company_group.model_res_partner
msgid "Contact"
msgstr ""

#. module: sale_partner_company_group
#: model:ir.model,name:sale_partner_company_group.model_sale_order
msgid "Sales Order"
msgstr "销售订单"

#. module: sale_partner_company_group
#: code:addons/sale_partner_company_group/models/res_partner.py:0
#, python-format
msgid "Warning"
msgstr ""
2 changes: 2 additions & 0 deletions sale_partner_company_group/models/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
from . import sale_order
from . import res_partner
55 changes: 55 additions & 0 deletions sale_partner_company_group/models/res_partner.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
# Copyright 2019 Camptocamp SA
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).

from odoo import _, api, models


class Contact(models.Model):
_inherit = "res.partner"

@api.onchange("company_group_id")
def _onchange_company_group_id(self):
res = {}
if (
self.company_group_id
and self.company_group_id.property_product_pricelist
!= self.property_product_pricelist
):
res["warning"] = {
"title": _("Warning"),
"message": _(
f"The company group {self.company_group_id.display_name} has the pricelist "
f"{self.company_group_id.property_product_pricelist.display_name}, "
"that is different than the pricelist set on this contact"
),
}
return res

@api.onchange("property_product_pricelist")
def _onchange_property_product_pricelist(self):
res = self._onchange_company_group_id()
if (
not res
and self.company_group_member_ids
# Need to check _origin because the field company_group_ids is a recordset of
# NewIds that have False values on the field property_product_pricelist.
and self.company_group_member_ids._origin.mapped(
"property_product_pricelist"
)
- self.property_product_pricelist
):
company_members = self.company_group_member_ids.filtered(
lambda cm: cm.property_product_pricelist
!= self.property_product_pricelist
)
members_str = ""
for member in company_members.sorted(key="display_name"):
members_str += "\t- %s\n" % member.display_name
res["warning"] = {
"title": _("Warning"),
"message": _(
"This contact has members of a company group with"
f" different pricelists, the members are:\n{members_str}"
),
}
return res
12 changes: 12 additions & 0 deletions sale_partner_company_group/models/sale_order.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# Copyright 2019 Camptocamp SA
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).

from odoo import fields, models


class SaleOrder(models.Model):
_inherit = "sale.order"

company_group_id = fields.Many2one(
related="partner_id.company_group_id", store=True
)
7 changes: 7 additions & 0 deletions sale_partner_company_group/readme/CONTRIBUTORS.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
* Timon Tschanz <[email protected]>
* Yannick Vaucher <[email protected]>
* `Tecnativa <https://www.tecnativa.com>`_:

* Ernesto Tejeda

* Tharathip Chaweewongphan <[email protected]>
1 change: 1 addition & 0 deletions sale_partner_company_group/readme/DESCRIPTION.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
This Module adds a company group field to sale orders. For more details investigate in base_partner_company_group.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading

0 comments on commit 026860b

Please sign in to comment.