From ad0df3b6f8821f6a7b3fd947939a7ebf023e955f Mon Sep 17 00:00:00 2001 From: Aungkokolin1997 Date: Tue, 9 Jan 2024 08:23:08 +0630 Subject: [PATCH 1/2] [FIX] partner_company_default: multi-record creation aware and not always correct depending on when the create override in the stack is executed --- partner_company_default/models/res_partner.py | 18 ++++++++++++------ .../tests/test_partner_company_default.py | 2 ++ 2 files changed, 14 insertions(+), 6 deletions(-) diff --git a/partner_company_default/models/res_partner.py b/partner_company_default/models/res_partner.py index 7223c669710..d9f0b92d09b 100644 --- a/partner_company_default/models/res_partner.py +++ b/partner_company_default/models/res_partner.py @@ -2,16 +2,22 @@ # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). from odoo import api, fields, models +from odoo.tools import config class ResPartner(models.Model): _inherit = "res.partner" - company_id = fields.Many2one(default=lambda self: self.env.company) + company_id = fields.Many2one(default=lambda self: self._default_company_id()) @api.model - def create(self, vals): - # The context value is set in the create method of res.company - if self.env.context.get("creating_from_company"): - vals["company_id"] = False - return super(ResPartner, self).create(vals) + def _default_company_id(self): + """Return False for other tests or if creating a company.""" + context = self.env.context + if ( + context.get("creating_from_company") + or config["test_enable"] + and not context.get("test_partner_company_default") + ): + return False + return self.env.company diff --git a/partner_company_default/tests/test_partner_company_default.py b/partner_company_default/tests/test_partner_company_default.py index 7703de4e66c..e57ee406ed2 100644 --- a/partner_company_default/tests/test_partner_company_default.py +++ b/partner_company_default/tests/test_partner_company_default.py @@ -15,6 +15,7 @@ def test_partner_company_default(self): partner = ( self.env["res.partner"] .with_user(self.user.id) + .with_context(test_partner_company_default=True) .create({"name": "Test Partner 1"}) ) self.assertEqual(partner.company_id, self.user.company_id) @@ -39,6 +40,7 @@ def test_partner_company_default(self): partner = ( self.env["res.partner"] .with_user(self.user.id) + .with_context(test_partner_company_default=True) .create({"name": "Test Partner 2"}) ) self.assertEqual(partner.company_id, company_fr) From 05d5a239e124657618af63e1f6a28b225985c565 Mon Sep 17 00:00:00 2001 From: OCA-git-bot Date: Tue, 9 Jan 2024 07:41:35 +0000 Subject: [PATCH 2/2] [BOT] post-merge updates --- README.md | 2 +- partner_company_default/README.rst | 2 +- partner_company_default/__manifest__.py | 2 +- partner_company_default/static/description/index.html | 3 +-- 4 files changed, 4 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 790dcffbe11..dbb713a5a9d 100644 --- a/README.md +++ b/README.md @@ -37,7 +37,7 @@ addon | version | maintainers | summary [partner_bank_code](partner_bank_code/) | 16.0.1.0.1 | | Add fields information in banks [partner_capital](partner_capital/) | 16.0.0.1.1 | [![EmilioPascual](https://github.com/EmilioPascual.png?size=30px)](https://github.com/EmilioPascual) | Partners Capital [partner_category_type](partner_category_type/) | 16.0.1.0.0 | [![JordiMForgeFlow](https://github.com/JordiMForgeFlow.png?size=30px)](https://github.com/JordiMForgeFlow) | Add a selection field 'Type' to classify Contact Tags. -[partner_company_default](partner_company_default/) | 16.0.1.1.0 | | Partner Company Default +[partner_company_default](partner_company_default/) | 16.0.1.1.1 | | Partner Company Default [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 diff --git a/partner_company_default/README.rst b/partner_company_default/README.rst index 617bf919349..b00bc2d0ae9 100644 --- a/partner_company_default/README.rst +++ b/partner_company_default/README.rst @@ -7,7 +7,7 @@ Partner Company Default !! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - !! source digest: sha256:c9e405437556cad9c224d1e6c4f47cda4c138a08d8926e4f65f88962138f1348 + !! source digest: sha256:3f900e64a06a69974072a932a375cb3d891efc8111d337f4b092456d27b47c65 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! .. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png diff --git a/partner_company_default/__manifest__.py b/partner_company_default/__manifest__.py index 12679f275f7..f35757a0bca 100644 --- a/partner_company_default/__manifest__.py +++ b/partner_company_default/__manifest__.py @@ -2,7 +2,7 @@ # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). { "name": "Partner Company Default", - "version": "16.0.1.1.0", + "version": "16.0.1.1.1", "author": "Quartile Limited, Odoo Community Association (OCA)", "website": "https://github.com/OCA/partner-contact", "depends": ["base"], diff --git a/partner_company_default/static/description/index.html b/partner_company_default/static/description/index.html index e58d0686304..cc9c4815eb5 100644 --- a/partner_company_default/static/description/index.html +++ b/partner_company_default/static/description/index.html @@ -1,4 +1,3 @@ - @@ -367,7 +366,7 @@

Partner Company Default

!! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -!! source digest: sha256:c9e405437556cad9c224d1e6c4f47cda4c138a08d8926e4f65f88962138f1348 +!! source digest: sha256:3f900e64a06a69974072a932a375cb3d891efc8111d337f4b092456d27b47c65 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->

Beta License: AGPL-3 OCA/partner-contact Translate me on Weblate Try me on Runboat

This module assigns default company to res.parnter.