Skip to content

Commit

Permalink
Merge pull request #1176 from OCA/16.0
Browse files Browse the repository at this point in the history
Syncing from upstream OCA/partner-contact (16.0)
  • Loading branch information
bt-admin authored Mar 19, 2024
2 parents 543223e + 4724fc7 commit 44e4f62
Show file tree
Hide file tree
Showing 28 changed files with 194 additions and 58 deletions.
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ addon | version | maintainers | summary
[partner_company_group](partner_company_group/) | 16.0.1.0.0 | [![luisg123v](https://github.com/luisg123v.png?size=30px)](https://github.com/luisg123v) | Adds the possibility to add a company group to a company
[partner_company_type](partner_company_type/) | 16.0.1.0.0 | | Adds a company type to partner that are companies
[partner_contact_access_link](partner_contact_access_link/) | 16.0.1.1.0 | [![Yajo](https://github.com/Yajo.png?size=30px)](https://github.com/Yajo) | Allow to visit the full contact form from a company
[partner_contact_address_default](partner_contact_address_default/) | 16.0.1.0.0 | | Set a default delivery and invoice address for contacts
[partner_contact_address_default](partner_contact_address_default/) | 16.0.1.1.0 | | Set a default delivery address, invoice address and contact for contacts
[partner_contact_age_range](partner_contact_age_range/) | 16.0.1.0.1 | | Age Range for Contact's
[partner_contact_birthdate](partner_contact_birthdate/) | 16.0.1.0.0 | | Contact's birthdate
[partner_contact_department](partner_contact_department/) | 16.0.1.0.2 | | Assign contacts to departments
Expand All @@ -69,7 +69,7 @@ addon | version | maintainers | summary
[partner_identification_eori](partner_identification_eori/) | 16.0.1.0.0 | | This addon extends "Partner Identification Numbers" to provide a number category for EORI Number
[partner_identification_gln](partner_identification_gln/) | 16.0.1.0.1 | | This addon extends "Partner Identification Numbers" to provide a number category for GLN registration
[partner_industry_secondary](partner_industry_secondary/) | 16.0.1.0.1 | | Add secondary partner industries
[partner_interest_group](partner_interest_group/) | 16.0.1.1.0 | [![victor-champonnois](https://github.com/victor-champonnois.png?size=30px)](https://github.com/victor-champonnois) | Add Interest Group to Partners
[partner_interest_group](partner_interest_group/) | 16.0.1.2.0 | [![victor-champonnois](https://github.com/victor-champonnois.png?size=30px)](https://github.com/victor-champonnois) | Add Interest Group to Partners
[partner_label](partner_label/) | 16.0.1.0.0 | | Print partner labels
[partner_lastname_uppercase](partner_lastname_uppercase/) | 16.0.1.0.1 | | Uppercases the the last names of partners
[partner_manual_rank](partner_manual_rank/) | 16.0.1.1.2 | [![luisg123v](https://github.com/luisg123v.png?size=30px)](https://github.com/luisg123v) [![frahikLV](https://github.com/frahikLV.png?size=30px)](https://github.com/frahikLV) | Be able to manually flag partners as customer or supplier.
Expand Down
10 changes: 7 additions & 3 deletions partner_contact_address_default/README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ Partner Contact address default
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! source digest: sha256:b0bc360740d521fe8611939734e13382bffa7d27fcb3eb6bdf16a2de39161928
!! source digest: sha256:9496d2d1f99fe0aef45114a95ae30624127d3453d894ad1713156e670f6c9d09
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png
Expand All @@ -29,7 +29,7 @@ Partner Contact address default
|badge1| |badge2| |badge3| |badge4| |badge5|

This module extends the functionality of base partner module to allow to set a
default delivery and invoice address for contacts.
default delivery and invoice address and a default contact for contacts.

**Table of contents**

Expand All @@ -40,7 +40,7 @@ Usage
=====

#. Go to *Contacts*.
#. Select default delivery address or invoice address for partner.
#. Select default delivery address, invoice address or contact for partner.

Bug Tracker
===========
Expand Down Expand Up @@ -76,6 +76,10 @@ Contributors

* Carlos Reyes

* `ForgeFlow <https://www.forgeflow.com>`_:

* Laura Cazorla

Maintainers
~~~~~~~~~~~

Expand Down
4 changes: 2 additions & 2 deletions partner_contact_address_default/__manifest__.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
{
"name": "Partner Contact address default",
"summary": "Set a default delivery and invoice address for contacts",
"version": "16.0.1.0.0",
"summary": "Set a default delivery address, invoice address and contact for contacts",
"version": "16.0.1.1.0",
"development_status": "Beta",
"category": "Generic Modules/Base",
"website": "https://github.com/OCA/partner-contact",
Expand Down
16 changes: 12 additions & 4 deletions partner_contact_address_default/i18n/es.po
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,8 @@ msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 16.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-01-11 10:32+0000\n"
"PO-Revision-Date: 2023-01-11 10:32+0000\n"
"POT-Creation-Date: 2024-03-11 07:35+0000\n"
"PO-Revision-Date: 2024-03-11 07:35+0000\n"
"Last-Translator: \n"
"Language-Team: \n"
"Language: \n"
Expand All @@ -21,6 +21,12 @@ msgstr ""
msgid "Contact"
msgstr "Contacto"

#. module: partner_contact_address_default
#: model:ir.model.fields,field_description:partner_contact_address_default.field_res_partner__partner_contact_id
#: model:ir.model.fields,field_description:partner_contact_address_default.field_res_users__partner_contact_id
msgid "Default contact"
msgstr "Contacto predeterminado"

#. module: partner_contact_address_default
#: model_terms:ir.ui.view,arch_db:partner_contact_address_default.view_partner_form
msgid "Force addresses"
Expand All @@ -45,5 +51,7 @@ msgstr "Dirección de envío"

#. module: partner_contact_address_default
#: model_terms:ir.ui.view,arch_db:partner_contact_address_default.view_partner_form
msgid "You can force and delivery and invoice address for this contacts."
msgstr "Puede forzar las dirección de envío y facturación para estos contactos"
msgid "You can force contact, delivery and invoice address for this contacts."
msgstr ""
"Puede forzar el contacto y las direcciones de envío y facturación para estos "
"contactos."
15 changes: 12 additions & 3 deletions partner_contact_address_default/i18n/fr.po
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,12 @@ msgstr ""
msgid "Contact"
msgstr ""

#. module: partner_contact_address_default
#: model:ir.model.fields,field_description:partner_contact_address_default.field_res_partner__partner_contact_id
#: model:ir.model.fields,field_description:partner_contact_address_default.field_res_users__partner_contact_id
msgid "Default contact"
msgstr ""

#. module: partner_contact_address_default
#: model_terms:ir.ui.view,arch_db:partner_contact_address_default.view_partner_form
msgid "Force addresses"
Expand All @@ -45,10 +51,13 @@ msgstr "Adresse de livraison"

#. module: partner_contact_address_default
#: model_terms:ir.ui.view,arch_db:partner_contact_address_default.view_partner_form
msgid "You can force and delivery and invoice address for this contacts."
msgid "You can force contact, delivery and invoice address for this contacts."
msgstr ""
"Vous pouvez forcer l'adresse de livraison et de facturation pour ces "
"contacts."

#~ msgid "You can force and delivery and invoice address for this contacts."
#~ msgstr ""
#~ "Vous pouvez forcer l'adresse de livraison et de facturation pour ces "
#~ "contacts."

#~ msgid "Display Name"
#~ msgstr "Nom affiché"
Expand Down
15 changes: 12 additions & 3 deletions partner_contact_address_default/i18n/fr_FR.po
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,12 @@ msgstr ""
msgid "Contact"
msgstr ""

#. module: partner_contact_address_default
#: model:ir.model.fields,field_description:partner_contact_address_default.field_res_partner__partner_contact_id
#: model:ir.model.fields,field_description:partner_contact_address_default.field_res_users__partner_contact_id
msgid "Default contact"
msgstr ""

#. module: partner_contact_address_default
#: model_terms:ir.ui.view,arch_db:partner_contact_address_default.view_partner_form
msgid "Force addresses"
Expand All @@ -45,10 +51,13 @@ msgstr "Adresse de livraison"

#. module: partner_contact_address_default
#: model_terms:ir.ui.view,arch_db:partner_contact_address_default.view_partner_form
msgid "You can force and delivery and invoice address for this contacts."
msgid "You can force contact, delivery and invoice address for this contacts."
msgstr ""
"Vous pouvez forcer l'adresse de livraison et de facturation pour ces "
"contacts."

#~ msgid "You can force and delivery and invoice address for this contacts."
#~ msgstr ""
#~ "Vous pouvez forcer l'adresse de livraison et de facturation pour ces "
#~ "contacts."

#~ msgid "Display Name"
#~ msgstr "Nom affiché"
Expand Down
15 changes: 12 additions & 3 deletions partner_contact_address_default/i18n/it.po
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,12 @@ msgstr ""
msgid "Contact"
msgstr "Contatto"

#. module: partner_contact_address_default
#: model:ir.model.fields,field_description:partner_contact_address_default.field_res_partner__partner_contact_id
#: model:ir.model.fields,field_description:partner_contact_address_default.field_res_users__partner_contact_id
msgid "Default contact"
msgstr ""

#. module: partner_contact_address_default
#: model_terms:ir.ui.view,arch_db:partner_contact_address_default.view_partner_form
msgid "Force addresses"
Expand All @@ -47,7 +53,10 @@ msgstr "Indirizzo di spedizione"

#. module: partner_contact_address_default
#: model_terms:ir.ui.view,arch_db:partner_contact_address_default.view_partner_form
msgid "You can force and delivery and invoice address for this contacts."
msgid "You can force contact, delivery and invoice address for this contacts."
msgstr ""
"Si possono forzare gli indirizzi di spedizione e fatturazione per questo "
"contatto."

#~ msgid "You can force and delivery and invoice address for this contacts."
#~ msgstr ""
#~ "Si possono forzare gli indirizzi di spedizione e fatturazione per questo "
#~ "contatto."
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,12 @@ msgstr ""
msgid "Contact"
msgstr ""

#. module: partner_contact_address_default
#: model:ir.model.fields,field_description:partner_contact_address_default.field_res_partner__partner_contact_id
#: model:ir.model.fields,field_description:partner_contact_address_default.field_res_users__partner_contact_id
msgid "Default contact"
msgstr ""

#. module: partner_contact_address_default
#: model_terms:ir.ui.view,arch_db:partner_contact_address_default.view_partner_form
msgid "Force addresses"
Expand All @@ -42,5 +48,5 @@ msgstr ""

#. module: partner_contact_address_default
#: model_terms:ir.ui.view,arch_db:partner_contact_address_default.view_partner_form
msgid "You can force and delivery and invoice address for this contacts."
msgid "You can force contact, delivery and invoice address for this contacts."
msgstr ""
13 changes: 11 additions & 2 deletions partner_contact_address_default/i18n/pt.po
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,12 @@ msgstr ""
msgid "Contact"
msgstr "Contacto"

#. module: partner_contact_address_default
#: model:ir.model.fields,field_description:partner_contact_address_default.field_res_partner__partner_contact_id
#: model:ir.model.fields,field_description:partner_contact_address_default.field_res_users__partner_contact_id
msgid "Default contact"
msgstr ""

#. module: partner_contact_address_default
#: model_terms:ir.ui.view,arch_db:partner_contact_address_default.view_partner_form
msgid "Force addresses"
Expand All @@ -46,5 +52,8 @@ msgstr "Endereço de envio"

#. module: partner_contact_address_default
#: model_terms:ir.ui.view,arch_db:partner_contact_address_default.view_partner_form
msgid "You can force and delivery and invoice address for this contacts."
msgstr "Pode forçar um endereço de envio e faturação para este contacto."
msgid "You can force contact, delivery and invoice address for this contacts."
msgstr ""

#~ msgid "You can force and delivery and invoice address for this contacts."
#~ msgstr "Pode forçar um endereço de envio e faturação para este contacto."
14 changes: 11 additions & 3 deletions partner_contact_address_default/models/res_partner.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
# Copyright 2020 Tecnativa - Carlos Dauden
# Copyright 2020 Tecnativa - Sergio Teruel
# Copyright 2024 ForgeFlow S.L. (https://www.forgeflow.com)
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
from odoo import fields, models

Expand All @@ -15,14 +16,18 @@ class ResPartner(models.Model):
comodel_name="res.partner",
string="Invoice address",
)
partner_contact_id = fields.Many2one(
comodel_name="res.partner",
string="Default contact",
)

def get_address_default_type(self):
"""This will be the extension method for other contact types"""
return ["delivery", "invoice"]
return ["delivery", "invoice", "contact"]

def address_get(self, adr_pref=None):
"""Force the delivery or invoice addresses. It will try to default
to the one set in the commercial partner if any"""
"""Force the contact, delivery or invoice addresses. It will
try to default to the one set in the commercial partner if any"""
res = super().address_get(adr_pref)
adr_pref = adr_pref or []
default_address_type_list = {
Expand All @@ -47,4 +52,7 @@ def write(self, vals):
self.search([("partner_invoice_id", "in", self.ids)]).write(
{"partner_invoice_id": False}
)
self.search([("partner_contact_id", "in", self.ids)]).write(
{"partner_contact_id": False}
)
return super().write(vals)
4 changes: 4 additions & 0 deletions partner_contact_address_default/readme/CONTRIBUTORS.rst
Original file line number Diff line number Diff line change
Expand Up @@ -10,3 +10,7 @@
* `Studio73 <https://www.studio73.es>`_:

* Carlos Reyes

* `ForgeFlow <https://www.forgeflow.com>`_:

* Laura Cazorla
2 changes: 1 addition & 1 deletion partner_contact_address_default/readme/DESCRIPTION.rst
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
This module extends the functionality of base partner module to allow to set a
default delivery and invoice address for contacts.
default delivery and invoice address and a default contact for contacts.
2 changes: 1 addition & 1 deletion partner_contact_address_default/readme/USAGE.rst
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
#. Go to *Contacts*.
#. Select default delivery address or invoice address for partner.
#. Select default delivery address, invoice address or contact for partner.
11 changes: 7 additions & 4 deletions partner_contact_address_default/static/description/index.html
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
Expand Down Expand Up @@ -367,11 +366,11 @@ <h1 class="title">Partner Contact address default</h1>
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! source digest: sha256:b0bc360740d521fe8611939734e13382bffa7d27fcb3eb6bdf16a2de39161928
!! source digest: sha256:9496d2d1f99fe0aef45114a95ae30624127d3453d894ad1713156e670f6c9d09
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
<p><a class="reference external image-reference" href="https://odoo-community.org/page/development-status"><img alt="Beta" src="https://img.shields.io/badge/maturity-Beta-yellow.png" /></a> <a class="reference external image-reference" href="http://www.gnu.org/licenses/agpl-3.0-standalone.html"><img alt="License: AGPL-3" src="https://img.shields.io/badge/licence-AGPL--3-blue.png" /></a> <a class="reference external image-reference" href="https://github.com/OCA/partner-contact/tree/16.0/partner_contact_address_default"><img alt="OCA/partner-contact" src="https://img.shields.io/badge/github-OCA%2Fpartner--contact-lightgray.png?logo=github" /></a> <a class="reference external image-reference" href="https://translation.odoo-community.org/projects/partner-contact-16-0/partner-contact-16-0-partner_contact_address_default"><img alt="Translate me on Weblate" src="https://img.shields.io/badge/weblate-Translate%20me-F47D42.png" /></a> <a class="reference external image-reference" href="https://runboat.odoo-community.org/builds?repo=OCA/partner-contact&amp;target_branch=16.0"><img alt="Try me on Runboat" src="https://img.shields.io/badge/runboat-Try%20me-875A7B.png" /></a></p>
<p>This module extends the functionality of base partner module to allow to set a
default delivery and invoice address for contacts.</p>
default delivery and invoice address and a default contact for contacts.</p>
<p><strong>Table of contents</strong></p>
<div class="contents local topic" id="contents">
<ul class="simple">
Expand All @@ -389,7 +388,7 @@ <h1 class="title">Partner Contact address default</h1>
<h1><a class="toc-backref" href="#toc-entry-1">Usage</a></h1>
<ol class="arabic simple">
<li>Go to <em>Contacts</em>.</li>
<li>Select default delivery address or invoice address for partner.</li>
<li>Select default delivery address, invoice address or contact for partner.</li>
</ol>
</div>
<div class="section" id="bug-tracker">
Expand Down Expand Up @@ -424,6 +423,10 @@ <h2><a class="toc-backref" href="#toc-entry-5">Contributors</a></h2>
<li>Carlos Reyes</li>
</ul>
</li>
<li><a class="reference external" href="https://www.forgeflow.com">ForgeFlow</a>:<ul>
<li>Laura Cazorla</li>
</ul>
</li>
</ul>
</div>
<div class="section" id="maintainers">
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,27 +27,39 @@ def setUpClass(cls):
cls.partner_child_invoice = cls.Partner.create(
{"name": "Child invoice", "type": "invoice", "parent_id": cls.partner.id}
)
cls.partner_child_contact = cls.Partner.create(
{"name": "Child contact", "type": "contact", "parent_id": cls.partner.id}
)

def test_contact_address_default(self):
self.partner.partner_delivery_id = self.partner
self.partner.partner_invoice_id = self.partner
res = self.partner.address_get(["delivery", "invoice"])
self.partner.partner_contact_id = self.partner
res = self.partner.address_get(["delivery", "invoice", "contact"])
self.assertEqual(res["delivery"], self.partner.id)
self.assertEqual(res["invoice"], self.partner.id)
self.assertEqual(res["contact"], self.partner.id)

self.partner_child_delivery2.partner_delivery_id = self.partner_child_delivery2
self.partner_child_delivery2.partner_invoice_id = self.partner_child_delivery2
res = self.partner_child_delivery2.address_get(["delivery", "invoice"])
self.partner_child_delivery2.partner_contact_id = self.partner_child_delivery2
res = self.partner_child_delivery2.address_get(
["delivery", "invoice", "contact"]
)
self.assertEqual(res["delivery"], self.partner_child_delivery2.id)
self.assertEqual(res["invoice"], self.partner_child_delivery2.id)
self.assertEqual(res["contact"], self.partner_child_delivery2.id)

def test_contact_address_archived(self):
self.partner.partner_delivery_id = self.partner_child_delivery2
self.partner.partner_invoice_id = self.partner_child_invoice
self.partner.partner_contact_id = self.partner_child_contact
self.partner_child_contact.write({"active": False})
self.partner_child_invoice.write({"active": False})
self.partner_child_delivery2.write({"active": False})
res = self.partner.address_get(["delivery", "invoice"])
res = self.partner.address_get(["delivery", "invoice", "contact"])
# As partner_child_delivery2 is archived, even though it is set as
# partner_delivery_id it should fall back to partner_child_delivery1 here:
self.assertEqual(res["delivery"], self.partner_child_delivery1.id)
self.assertEqual(res["invoice"], self.partner.id)
self.assertEqual(res["contact"], self.partner.id)
Loading

0 comments on commit 44e4f62

Please sign in to comment.