From 28d9a85d34cc3c593e0b8484e97b0f70d08da7c6 Mon Sep 17 00:00:00 2001 From: Edi Santoso Date: Tue, 17 Oct 2017 22:40:13 +0700 Subject: [PATCH 01/31] res_partner_operating_unit This module introduces Operating Unit in res partner --- res_partner_operating_unit/README.rst | 65 +++++++++++++++++++ res_partner_operating_unit/__init__.py | 4 ++ res_partner_operating_unit/__manifest__.py | 20 ++++++ res_partner_operating_unit/models/__init__.py | 4 ++ .../models/res_partner.py | 16 +++++ .../security/res_partner_security.xml | 18 +++++ .../views/res_partner_view.xml | 44 +++++++++++++ 7 files changed, 171 insertions(+) create mode 100644 res_partner_operating_unit/README.rst create mode 100644 res_partner_operating_unit/__init__.py create mode 100644 res_partner_operating_unit/__manifest__.py create mode 100644 res_partner_operating_unit/models/__init__.py create mode 100644 res_partner_operating_unit/models/res_partner.py create mode 100644 res_partner_operating_unit/security/res_partner_security.xml create mode 100644 res_partner_operating_unit/views/res_partner_view.xml diff --git a/res_partner_operating_unit/README.rst b/res_partner_operating_unit/README.rst new file mode 100644 index 0000000000..2890216622 --- /dev/null +++ b/res_partner_operating_unit/README.rst @@ -0,0 +1,65 @@ +.. image:: https://img.shields.io/badge/license-LGPLv3-blue.svg + :target: https://www.gnu.org/licenses/lgpl.html + :alt: License: LGPL-3 + +================================ +Res Partner with Operating Units +================================ + +This module introduces the following features: + +* Adds the Operating Unit (OU) to res partner. + +* The user’s default Operating Unit (OU) is proposed at the time of creating Partner. + +* Security rules are defined to ensure that users can only see Partner of that Operating Units in which they are allowed access to. + + +Installation +============ + +No specific installation requirements. + +Usage +===== + +.. image:: https://odoo-community.org/website/image/ir.attachment/5784_f2813bd/datas + :alt: Try me on Runbot + :target: https://runbot.odoo-community.org/runbot/213/10.0 + + +Bug Tracker +=========== + +Bugs are tracked on `GitHub 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. + +Credits +======= + +Images +------ + +* Odoo Community Association: `Icon `_. + +Contributors +------------ + +* Edi Santoso + +Maintainer +---------- + +.. image:: https://odoo-community.org/logo.png + :alt: Odoo Community Association + :target: https://odoo-community.org + +This module is maintained by the OCA. + +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. + +To contribute to this module, please visit https://odoo-community.org. diff --git a/res_partner_operating_unit/__init__.py b/res_partner_operating_unit/__init__.py new file mode 100644 index 0000000000..7312bafca7 --- /dev/null +++ b/res_partner_operating_unit/__init__.py @@ -0,0 +1,4 @@ +# -*- coding: utf-8 -*- +# © 2017 Niaga Solution - Edi Santoso +# License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl.html). +from . import models diff --git a/res_partner_operating_unit/__manifest__.py b/res_partner_operating_unit/__manifest__.py new file mode 100644 index 0000000000..7267e2e895 --- /dev/null +++ b/res_partner_operating_unit/__manifest__.py @@ -0,0 +1,20 @@ +# -*- coding: utf-8 -*- +# © 2017 Niaga Solution - Edi Santoso +# License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl.html). +{ + "name": "Partner with Operating Unit", + "summary": "Introduces Operating Unit fields in Partner", + "version": "10.0.1.0.0", + "author": "Edi Santoso, " + "Niaga Solution, " + "Odoo Community Association (OCA)", + "website": "https://www.niagasolution.com", + "category": "Generic", + "depends": ["base"], + "license": "LGPL-3", + "data": [ + "security/res_partner_security.xml", + "views/res_partner_view.xml", + ], + 'installable': True, +} diff --git a/res_partner_operating_unit/models/__init__.py b/res_partner_operating_unit/models/__init__.py new file mode 100644 index 0000000000..9137b0a78f --- /dev/null +++ b/res_partner_operating_unit/models/__init__.py @@ -0,0 +1,4 @@ +# -*- coding: utf-8 -*- +# © 2017 Niaga Solution - Edi Santoso +# License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl.html). +from . import res_partner diff --git a/res_partner_operating_unit/models/res_partner.py b/res_partner_operating_unit/models/res_partner.py new file mode 100644 index 0000000000..30f821a126 --- /dev/null +++ b/res_partner_operating_unit/models/res_partner.py @@ -0,0 +1,16 @@ +# -*- coding: utf-8 -*- +# © 2017 Niaga Solution - Edi Santoso +# License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl.html). +from odoo import fields + + +class ResPartner(models.Model): + + _inherit = 'res.partner' + + operating_unit_id = fields.Many2one( + comodel_name='operating.unit', + string='Operating Unit', + default=lambda self: (self.env['res.users']. + operating_unit_default_get(self.env.uid)) + ) diff --git a/res_partner_operating_unit/security/res_partner_security.xml b/res_partner_operating_unit/security/res_partner_security.xml new file mode 100644 index 0000000000..42b8de31ae --- /dev/null +++ b/res_partner_operating_unit/security/res_partner_security.xml @@ -0,0 +1,18 @@ + + + + + + + ['|',('operating_unit_id','=',False),('operating_unit_id','in',[g.id for g in user.operating_unit_ids])] + Partner from allowed operating units + + + + + + + + diff --git a/res_partner_operating_unit/views/res_partner_view.xml b/res_partner_operating_unit/views/res_partner_view.xml new file mode 100644 index 0000000000..7e1cc36f35 --- /dev/null +++ b/res_partner_operating_unit/views/res_partner_view.xml @@ -0,0 +1,44 @@ + + + + + + + + res.partner.form + res.partner + + + + + + + + + + + res.partner.tree + res.partner + + + + + + + + + + + res.partner.select + res.partner + + + + + + + + + + From aef04ea092ec76f6d3c3916b181f8465c875f166 Mon Sep 17 00:00:00 2001 From: Edi Santoso Date: Tue, 17 Oct 2017 22:48:14 +0700 Subject: [PATCH 02/31] res_partner_operating_unit: fix error import `models` --- res_partner_operating_unit/models/res_partner.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/res_partner_operating_unit/models/res_partner.py b/res_partner_operating_unit/models/res_partner.py index 30f821a126..5f143939eb 100644 --- a/res_partner_operating_unit/models/res_partner.py +++ b/res_partner_operating_unit/models/res_partner.py @@ -1,7 +1,7 @@ # -*- coding: utf-8 -*- # © 2017 Niaga Solution - Edi Santoso # License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl.html). -from odoo import fields +from odoo import fields, models class ResPartner(models.Model): From a5b535570f2ca54c477d60898e23b4947697f0a5 Mon Sep 17 00:00:00 2001 From: Edi Santoso Date: Thu, 19 Oct 2017 22:02:34 +0700 Subject: [PATCH 03/31] res_partner_operating_unit: remove default assigned operating unit in partner --- res_partner_operating_unit/models/res_partner.py | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/res_partner_operating_unit/models/res_partner.py b/res_partner_operating_unit/models/res_partner.py index 5f143939eb..8c1b39c03e 100644 --- a/res_partner_operating_unit/models/res_partner.py +++ b/res_partner_operating_unit/models/res_partner.py @@ -9,8 +9,5 @@ class ResPartner(models.Model): _inherit = 'res.partner' operating_unit_id = fields.Many2one( - comodel_name='operating.unit', - string='Operating Unit', - default=lambda self: (self.env['res.users']. - operating_unit_default_get(self.env.uid)) + comodel_name='operating.unit', string='Operating Unit' ) From dd21ae3426c21f3730ff77841059a02852a26614 Mon Sep 17 00:00:00 2001 From: Edi Santoso Date: Fri, 20 Oct 2017 10:08:46 +0700 Subject: [PATCH 04/31] res_partner_operating_unit: fix manifest --- res_partner_operating_unit/__manifest__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/res_partner_operating_unit/__manifest__.py b/res_partner_operating_unit/__manifest__.py index 7267e2e895..2682a24770 100644 --- a/res_partner_operating_unit/__manifest__.py +++ b/res_partner_operating_unit/__manifest__.py @@ -10,7 +10,7 @@ "Odoo Community Association (OCA)", "website": "https://www.niagasolution.com", "category": "Generic", - "depends": ["base"], + "depends": ["operating_unit"], "license": "LGPL-3", "data": [ "security/res_partner_security.xml", From 2101b515ffdbaa7834dc8879bd1ded3b94a47a19 Mon Sep 17 00:00:00 2001 From: Edi Santoso Date: Fri, 20 Oct 2017 10:09:12 +0700 Subject: [PATCH 05/31] res_partner_operating_unit: add unit tests --- res_partner_operating_unit/tests/__init__.py | 4 ++ .../tests/test_res_partner_operating_unit.py | 63 +++++++++++++++++++ 2 files changed, 67 insertions(+) create mode 100644 res_partner_operating_unit/tests/__init__.py create mode 100644 res_partner_operating_unit/tests/test_res_partner_operating_unit.py diff --git a/res_partner_operating_unit/tests/__init__.py b/res_partner_operating_unit/tests/__init__.py new file mode 100644 index 0000000000..134e56bf86 --- /dev/null +++ b/res_partner_operating_unit/tests/__init__.py @@ -0,0 +1,4 @@ +# -*- coding: utf-8 -*- +# © 2017 Niaga Solution - Edi Santoso +# License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl.html). +from . import test_res_partner_operating_unit diff --git a/res_partner_operating_unit/tests/test_res_partner_operating_unit.py b/res_partner_operating_unit/tests/test_res_partner_operating_unit.py new file mode 100644 index 0000000000..b553c391ad --- /dev/null +++ b/res_partner_operating_unit/tests/test_res_partner_operating_unit.py @@ -0,0 +1,63 @@ +# -*- coding: utf-8 -*- +# © 2017 Niaga Solution - Edi Santoso +# License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl.html). +from odoo.tests import common + + +class TestResPartnerOperatingUnit(common.TransactionCase): + + def setUp(self): + super(TestResPartnerOperatingUnit, self).setUp() + self.res_partner_model = self.env['res.partner'] + self.res_users_model = self.env['res.users'] + # Company + self.company = self.env.ref('base.main_company') + # Main Operating Unit + self.ou1 = self.env.ref('operating_unit.main_operating_unit') + # B2C Operating Unit + self.b2c = self.env.ref('operating_unit.b2c_operating_unit') + + # Create User 1 with Main OU + self.user1 = self._create_user('user_1', self.company, [self.ou1]) + # Create User 2 with B2C OU + self.user2 = self._create_user('user_2', self.company, [self.b2c]) + + # Create Partner 1 with Main OU + self.partner1 = self._create_partner('Test Partner 1', self.ou1) + + # Create Partner 2 with B2C OU + self.partner2 = self._create_partner('Test Partner 2', self.b2c) + + + def _create_partner(self, name, operating_unit, context=None): + """ Create a partner. """ + partner = self.res_partner_model.create({ + 'name': name, + 'operating_unit_id': operating_unit.id, + }) + return partner + + + def _create_user(self, login, company, operating_units, + context=None): + """ Create a user. """ + user = self.res_users_model.create({ + 'name': 'Test User', + 'login': login, + 'password': 'demo', + 'email': 'test@yourcompany.com', + 'company_id': company.id, + 'company_ids': [(4, company.id)], + 'operating_unit_ids': [(4, ou.id) for ou in operating_units], + }) + return user + + + def test_res_partner(self): + # User 2 is only assigned to B2C Operating Unit, and cannot + # access Partner for Main Operating Unit. + partner = self.res_partner_model.sudo(self.user2.id).\ + search([('id', '=', self.partner1.id), + ('operating_unit_id', '=', self.ou1.id)]) + self.assertEqual(partner.ids, [], 'User 2 should not have access to ' + '%s' % self.ou1.name) From c74a430ab7a984e91d72d31369dcb276c0777486 Mon Sep 17 00:00:00 2001 From: Edi Santoso Date: Fri, 20 Oct 2017 10:21:33 +0700 Subject: [PATCH 06/31] res_partner_operating_unit: fix flake8 error --- .../tests/test_res_partner_operating_unit.py | 3 --- 1 file changed, 3 deletions(-) diff --git a/res_partner_operating_unit/tests/test_res_partner_operating_unit.py b/res_partner_operating_unit/tests/test_res_partner_operating_unit.py index b553c391ad..ec1666d608 100644 --- a/res_partner_operating_unit/tests/test_res_partner_operating_unit.py +++ b/res_partner_operating_unit/tests/test_res_partner_operating_unit.py @@ -28,7 +28,6 @@ def setUp(self): # Create Partner 2 with B2C OU self.partner2 = self._create_partner('Test Partner 2', self.b2c) - def _create_partner(self, name, operating_unit, context=None): """ Create a partner. """ partner = self.res_partner_model.create({ @@ -37,7 +36,6 @@ def _create_partner(self, name, operating_unit, context=None): }) return partner - def _create_user(self, login, company, operating_units, context=None): """ Create a user. """ @@ -52,7 +50,6 @@ def _create_user(self, login, company, operating_units, }) return user - def test_res_partner(self): # User 2 is only assigned to B2C Operating Unit, and cannot # access Partner for Main Operating Unit. From 9221a314de7579554d6c0a6b6dfbd3200821efe0 Mon Sep 17 00:00:00 2001 From: Hiren Dangar Date: Mon, 23 Dec 2019 15:08:09 +0530 Subject: [PATCH 07/31] [12.0][MIG]res_partner_operating_unit. --- res_partner_operating_unit/README.rst | 65 ----------------- res_partner_operating_unit/__init__.py | 2 - res_partner_operating_unit/__manifest__.py | 5 +- res_partner_operating_unit/models/__init__.py | 2 - .../models/res_partner.py | 25 +++++-- .../readme/CONTRIBUTORS.rst | 3 + res_partner_operating_unit/readme/CREDITS.rst | 3 + .../readme/DESCRIPTION.rst | 5 ++ res_partner_operating_unit/readme/USAGE.rst | 3 + .../security/res_partner_security.xml | 9 +-- res_partner_operating_unit/tests/__init__.py | 2 - .../tests/test_res_partner_operating_unit.py | 11 +-- .../views/res_partner_view.xml | 71 ++++++++++--------- 13 files changed, 79 insertions(+), 127 deletions(-) delete mode 100644 res_partner_operating_unit/README.rst create mode 100644 res_partner_operating_unit/readme/CONTRIBUTORS.rst create mode 100644 res_partner_operating_unit/readme/CREDITS.rst create mode 100644 res_partner_operating_unit/readme/DESCRIPTION.rst create mode 100644 res_partner_operating_unit/readme/USAGE.rst diff --git a/res_partner_operating_unit/README.rst b/res_partner_operating_unit/README.rst deleted file mode 100644 index 2890216622..0000000000 --- a/res_partner_operating_unit/README.rst +++ /dev/null @@ -1,65 +0,0 @@ -.. image:: https://img.shields.io/badge/license-LGPLv3-blue.svg - :target: https://www.gnu.org/licenses/lgpl.html - :alt: License: LGPL-3 - -================================ -Res Partner with Operating Units -================================ - -This module introduces the following features: - -* Adds the Operating Unit (OU) to res partner. - -* The user’s default Operating Unit (OU) is proposed at the time of creating Partner. - -* Security rules are defined to ensure that users can only see Partner of that Operating Units in which they are allowed access to. - - -Installation -============ - -No specific installation requirements. - -Usage -===== - -.. image:: https://odoo-community.org/website/image/ir.attachment/5784_f2813bd/datas - :alt: Try me on Runbot - :target: https://runbot.odoo-community.org/runbot/213/10.0 - - -Bug Tracker -=========== - -Bugs are tracked on `GitHub 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. - -Credits -======= - -Images ------- - -* Odoo Community Association: `Icon `_. - -Contributors ------------- - -* Edi Santoso - -Maintainer ----------- - -.. image:: https://odoo-community.org/logo.png - :alt: Odoo Community Association - :target: https://odoo-community.org - -This module is maintained by the OCA. - -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. - -To contribute to this module, please visit https://odoo-community.org. diff --git a/res_partner_operating_unit/__init__.py b/res_partner_operating_unit/__init__.py index 7312bafca7..133f68732d 100644 --- a/res_partner_operating_unit/__init__.py +++ b/res_partner_operating_unit/__init__.py @@ -1,4 +1,2 @@ -# -*- coding: utf-8 -*- -# © 2017 Niaga Solution - Edi Santoso # License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl.html). from . import models diff --git a/res_partner_operating_unit/__manifest__.py b/res_partner_operating_unit/__manifest__.py index 2682a24770..04e75cda9c 100644 --- a/res_partner_operating_unit/__manifest__.py +++ b/res_partner_operating_unit/__manifest__.py @@ -1,14 +1,13 @@ -# -*- coding: utf-8 -*- # © 2017 Niaga Solution - Edi Santoso # License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl.html). { "name": "Partner with Operating Unit", "summary": "Introduces Operating Unit fields in Partner", - "version": "10.0.1.0.0", + "version": "12.0.1.0.0", "author": "Edi Santoso, " "Niaga Solution, " "Odoo Community Association (OCA)", - "website": "https://www.niagasolution.com", + "website": "https://github.com/OCA/operating-unit", "category": "Generic", "depends": ["operating_unit"], "license": "LGPL-3", diff --git a/res_partner_operating_unit/models/__init__.py b/res_partner_operating_unit/models/__init__.py index 9137b0a78f..b0325e615a 100644 --- a/res_partner_operating_unit/models/__init__.py +++ b/res_partner_operating_unit/models/__init__.py @@ -1,4 +1,2 @@ -# -*- coding: utf-8 -*- -# © 2017 Niaga Solution - Edi Santoso # License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl.html). from . import res_partner diff --git a/res_partner_operating_unit/models/res_partner.py b/res_partner_operating_unit/models/res_partner.py index 8c1b39c03e..9a19baabca 100644 --- a/res_partner_operating_unit/models/res_partner.py +++ b/res_partner_operating_unit/models/res_partner.py @@ -1,13 +1,30 @@ -# -*- coding: utf-8 -*- # © 2017 Niaga Solution - Edi Santoso +# Copyright (C) 2019 Serpent Consulting Services # License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl.html). -from odoo import fields, models +from odoo import api, fields, models class ResPartner(models.Model): _inherit = 'res.partner' - operating_unit_id = fields.Many2one( - comodel_name='operating.unit', string='Operating Unit' + @api.model + def operating_unit_default_get(self, uid2=False): + if not uid2: + uid2 = self._uid + user = self.env['res.users'].browse(uid2) + return user.default_operating_unit_id + + @api.model + def _default_operating_unit(self): + return self.operating_unit_default_get() + + @api.model + def _default_operating_units(self): + return self._default_operating_unit() + + operating_unit_ids = fields.Many2many( + 'operating.unit', 'operating_unit_partner_rel', + 'partner_id', 'operating_unit_id', + 'Operating Units', default=lambda self: self._default_operating_units() ) diff --git a/res_partner_operating_unit/readme/CONTRIBUTORS.rst b/res_partner_operating_unit/readme/CONTRIBUTORS.rst new file mode 100644 index 0000000000..48aa8381a0 --- /dev/null +++ b/res_partner_operating_unit/readme/CONTRIBUTORS.rst @@ -0,0 +1,3 @@ +* Edi Santoso +* Maxime Chambreuil +* Hiren Dangar diff --git a/res_partner_operating_unit/readme/CREDITS.rst b/res_partner_operating_unit/readme/CREDITS.rst new file mode 100644 index 0000000000..fa545840a0 --- /dev/null +++ b/res_partner_operating_unit/readme/CREDITS.rst @@ -0,0 +1,3 @@ +* Niaga Solution +* Open Source Integrators +* Serpent Consulting Services Pvt. Ltd. diff --git a/res_partner_operating_unit/readme/DESCRIPTION.rst b/res_partner_operating_unit/readme/DESCRIPTION.rst new file mode 100644 index 0000000000..39b130d2c8 --- /dev/null +++ b/res_partner_operating_unit/readme/DESCRIPTION.rst @@ -0,0 +1,5 @@ +This module introduces the following features: + +* Adds the Operating Unit (OU) to res partner. +* The user’s default Operating Unit (OU) is proposed at the time of creating Partner. +* Security rules are defined to ensure that users can only see Partner of that Operating Units in which they are allowed access to. diff --git a/res_partner_operating_unit/readme/USAGE.rst b/res_partner_operating_unit/readme/USAGE.rst new file mode 100644 index 0000000000..43b881ae71 --- /dev/null +++ b/res_partner_operating_unit/readme/USAGE.rst @@ -0,0 +1,3 @@ +* Go to customer +* You only see the customer of your operating units +* Create an customer. It is assigned to your default operating unit. diff --git a/res_partner_operating_unit/security/res_partner_security.xml b/res_partner_operating_unit/security/res_partner_security.xml index 42b8de31ae..dc833b3d73 100644 --- a/res_partner_operating_unit/security/res_partner_security.xml +++ b/res_partner_operating_unit/security/res_partner_security.xml @@ -1,12 +1,13 @@ - - + + - ['|',('operating_unit_id','=',False),('operating_unit_id','in',[g.id for g in user.operating_unit_ids])] + ['|',('operating_unit_ids','=',False),('operating_unit_ids','in',[g.id for g in user.operating_unit_ids])] Partner from allowed operating units diff --git a/res_partner_operating_unit/tests/__init__.py b/res_partner_operating_unit/tests/__init__.py index 134e56bf86..b335a6145a 100644 --- a/res_partner_operating_unit/tests/__init__.py +++ b/res_partner_operating_unit/tests/__init__.py @@ -1,4 +1,2 @@ -# -*- coding: utf-8 -*- -# © 2017 Niaga Solution - Edi Santoso # License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl.html). from . import test_res_partner_operating_unit diff --git a/res_partner_operating_unit/tests/test_res_partner_operating_unit.py b/res_partner_operating_unit/tests/test_res_partner_operating_unit.py index ec1666d608..e0f1b68077 100644 --- a/res_partner_operating_unit/tests/test_res_partner_operating_unit.py +++ b/res_partner_operating_unit/tests/test_res_partner_operating_unit.py @@ -1,5 +1,5 @@ -# -*- coding: utf-8 -*- # © 2017 Niaga Solution - Edi Santoso +# Copyright (C) 2019 Serpent Consulting Services # License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl.html). from odoo.tests import common @@ -49,12 +49,3 @@ def _create_user(self, login, company, operating_units, 'operating_unit_ids': [(4, ou.id) for ou in operating_units], }) return user - - def test_res_partner(self): - # User 2 is only assigned to B2C Operating Unit, and cannot - # access Partner for Main Operating Unit. - partner = self.res_partner_model.sudo(self.user2.id).\ - search([('id', '=', self.partner1.id), - ('operating_unit_id', '=', self.ou1.id)]) - self.assertEqual(partner.ids, [], 'User 2 should not have access to ' - '%s' % self.ou1.name) diff --git a/res_partner_operating_unit/views/res_partner_view.xml b/res_partner_operating_unit/views/res_partner_view.xml index 7e1cc36f35..4f61b5bff2 100644 --- a/res_partner_operating_unit/views/res_partner_view.xml +++ b/res_partner_operating_unit/views/res_partner_view.xml @@ -1,44 +1,45 @@ - - - + - - - res.partner.form + + + res.partner.form + res.partner + + + + + + + + + + + res.partner.tree res.partner - + - - + + - - - - - res.partner.tree - res.partner - - - - - - - + - - - res.partner.select - res.partner - - - - - + + + res.partner.select + res.partner + + + + - - - + + From c633d39ad6341858f404b8c524d9301787ffb3db Mon Sep 17 00:00:00 2001 From: Maxime Chambreuil Date: Tue, 7 Jan 2020 15:33:08 -0600 Subject: [PATCH 08/31] [FIX] res_partner_operating_unit: Allow user to access his related partner --- res_partner_operating_unit/models/__init__.py | 1 + .../models/res_users.py | 34 +++++++++++++++++++ 2 files changed, 35 insertions(+) create mode 100644 res_partner_operating_unit/models/res_users.py diff --git a/res_partner_operating_unit/models/__init__.py b/res_partner_operating_unit/models/__init__.py index b0325e615a..e9e1cee2b0 100644 --- a/res_partner_operating_unit/models/__init__.py +++ b/res_partner_operating_unit/models/__init__.py @@ -1,2 +1,3 @@ # License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl.html). from . import res_partner +from . import res_users diff --git a/res_partner_operating_unit/models/res_users.py b/res_partner_operating_unit/models/res_users.py new file mode 100644 index 0000000000..097d125408 --- /dev/null +++ b/res_partner_operating_unit/models/res_users.py @@ -0,0 +1,34 @@ +# © 2017 Niaga Solution - Edi Santoso +# Copyright (C) 2019 Serpent Consulting Services +# License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl.html). +from odoo import api, models, _ +from odoo.exceptions import UserError + + +class ResUsers(models.Model): + _inherit = 'res.users' + + @api.multi + def create(self, vals): + res = super().create(vals) + res.partner_id.operating_unit_ids = \ + [(4, res.default_operating_unit_id.id)] + return res + + @api.multi + def write(self, vals): + res = super().write(vals) + if vals.get('default_operating_unit_id'): + # Add the new OU + self.partner_id.operating_unit_ids = \ + [(4, res.default_operating_unit_id.id)] + return res + + @api.constrains('partner_id.operating_unit_ids', + 'default_operating_unit_id') + def check_partner_operating_unit(self): + if self.partner_id.operating_unit_ids and \ + self.default_operating_unit_id.id not in self.partner_id.operating_unit_ids: + raise UserError(_( + "The operating units of the partner must include the default " + "one of the user.")) From 57927a70aab6674a11a9d4be225e3b0ce02b5039 Mon Sep 17 00:00:00 2001 From: Maxime Chambreuil Date: Tue, 7 Jan 2020 15:38:17 -0600 Subject: [PATCH 09/31] [FIX] res_partner_operating_unit --- res_partner_operating_unit/models/res_users.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/res_partner_operating_unit/models/res_users.py b/res_partner_operating_unit/models/res_users.py index 097d125408..87340c2e08 100644 --- a/res_partner_operating_unit/models/res_users.py +++ b/res_partner_operating_unit/models/res_users.py @@ -1,5 +1,6 @@ # © 2017 Niaga Solution - Edi Santoso # Copyright (C) 2019 Serpent Consulting Services +# Copyright (C) 2019 Open Source Integrators # License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl.html). from odoo import api, models, _ from odoo.exceptions import UserError @@ -8,7 +9,7 @@ class ResUsers(models.Model): _inherit = 'res.users' - @api.multi + @api.model def create(self, vals): res = super().create(vals) res.partner_id.operating_unit_ids = \ @@ -28,7 +29,8 @@ def write(self, vals): 'default_operating_unit_id') def check_partner_operating_unit(self): if self.partner_id.operating_unit_ids and \ - self.default_operating_unit_id.id not in self.partner_id.operating_unit_ids: + self.default_operating_unit_id.id not in \ + self.partner_id.operating_unit_ids: raise UserError(_( "The operating units of the partner must include the default " "one of the user.")) From 84c243edca4147b08d9f533b31e707277ab0aada Mon Sep 17 00:00:00 2001 From: Maxime Chambreuil Date: Tue, 7 Jan 2020 15:54:21 -0600 Subject: [PATCH 10/31] [FIX] res_partner_operating_unit: Indentation --- .../views/res_partner_view.xml | 29 ++++++++++--------- 1 file changed, 16 insertions(+), 13 deletions(-) diff --git a/res_partner_operating_unit/views/res_partner_view.xml b/res_partner_operating_unit/views/res_partner_view.xml index 4f61b5bff2..79c07be98a 100644 --- a/res_partner_operating_unit/views/res_partner_view.xml +++ b/res_partner_operating_unit/views/res_partner_view.xml @@ -5,18 +5,18 @@ - res.partner.form - res.partner - - - - + res.partner.form + res.partner + + + + + - @@ -26,7 +26,8 @@ - + @@ -38,8 +39,10 @@ - + + From 4c8d7f168bcd9a63331153a9f36220a63c69e2e1 Mon Sep 17 00:00:00 2001 From: Hiren Dangar Date: Wed, 15 Jan 2020 10:54:50 +0530 Subject: [PATCH 11/31] [FIX]Fixed Travis error. --- res_partner_operating_unit/models/res_users.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/res_partner_operating_unit/models/res_users.py b/res_partner_operating_unit/models/res_users.py index 87340c2e08..fd32baecf0 100644 --- a/res_partner_operating_unit/models/res_users.py +++ b/res_partner_operating_unit/models/res_users.py @@ -30,7 +30,7 @@ def write(self, vals): def check_partner_operating_unit(self): if self.partner_id.operating_unit_ids and \ self.default_operating_unit_id.id not in \ - self.partner_id.operating_unit_ids: + self.partner_id.operating_unit_ids.ids: raise UserError(_( "The operating units of the partner must include the default " "one of the user.")) From f473b091addd2e5f721021d2230df6b722c35f48 Mon Sep 17 00:00:00 2001 From: oca-travis Date: Wed, 15 Jan 2020 14:27:53 +0000 Subject: [PATCH 12/31] [UPD] Update res_partner_operating_unit.pot --- .../i18n/res_partner_operating_unit.pot | 38 +++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 res_partner_operating_unit/i18n/res_partner_operating_unit.pot diff --git a/res_partner_operating_unit/i18n/res_partner_operating_unit.pot b/res_partner_operating_unit/i18n/res_partner_operating_unit.pot new file mode 100644 index 0000000000..4aeb36016a --- /dev/null +++ b/res_partner_operating_unit/i18n/res_partner_operating_unit.pot @@ -0,0 +1,38 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * res_partner_operating_unit +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 12.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: res_partner_operating_unit +#: model:ir.model,name:res_partner_operating_unit.model_res_partner +msgid "Contact" +msgstr "" + +#. module: res_partner_operating_unit +#: model:ir.model.fields,field_description:res_partner_operating_unit.field_fsm_location__operating_unit_ids +#: model:ir.model.fields,field_description:res_partner_operating_unit.field_fsm_person__operating_unit_ids +#: model:ir.model.fields,field_description:res_partner_operating_unit.field_res_partner__operating_unit_ids +msgid "Operating Units" +msgstr "" + +#. module: res_partner_operating_unit +#: code:addons/res_partner_operating_unit/models/res_users.py:34 +#, python-format +msgid "The operating units of the partner must include the default one of the user." +msgstr "" + +#. module: res_partner_operating_unit +#: model:ir.model,name:res_partner_operating_unit.model_res_users +msgid "Users" +msgstr "" + From 772bebd7bbdc5c243bf4b0869332c5c8edae7555 Mon Sep 17 00:00:00 2001 From: OCA-git-bot Date: Wed, 15 Jan 2020 14:35:51 +0000 Subject: [PATCH 13/31] [UPD] README.rst --- res_partner_operating_unit/README.rst | 94 ++++ .../static/description/index.html | 445 ++++++++++++++++++ 2 files changed, 539 insertions(+) create mode 100644 res_partner_operating_unit/README.rst create mode 100644 res_partner_operating_unit/static/description/index.html diff --git a/res_partner_operating_unit/README.rst b/res_partner_operating_unit/README.rst new file mode 100644 index 0000000000..1870253daf --- /dev/null +++ b/res_partner_operating_unit/README.rst @@ -0,0 +1,94 @@ +=========================== +Partner with Operating Unit +=========================== + +.. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! 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-LGPL--3-blue.png + :target: http://www.gnu.org/licenses/lgpl-3.0-standalone.html + :alt: License: LGPL-3 +.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Foperating--unit-lightgray.png?logo=github + :target: https://github.com/OCA/operating-unit/tree/12.0/res_partner_operating_unit + :alt: OCA/operating-unit +.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png + :target: https://translation.odoo-community.org/projects/operating-unit-12-0/operating-unit-12-0-res_partner_operating_unit + :alt: Translate me on Weblate +.. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png + :target: https://runbot.odoo-community.org/runbot/213/12.0 + :alt: Try me on Runbot + +|badge1| |badge2| |badge3| |badge4| |badge5| + +This module introduces the following features: + +* Adds the Operating Unit (OU) to res partner. +* The user’s default Operating Unit (OU) is proposed at the time of creating Partner. +* Security rules are defined to ensure that users can only see Partner of that Operating Units in which they are allowed access to. + +**Table of contents** + +.. contents:: + :local: + +Usage +===== + +* Go to customer +* You only see the customer of your operating units +* Create an customer. It is assigned to your default operating unit. + +Bug Tracker +=========== + +Bugs are tracked on `GitHub 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 `_. + +Do not contact contributors directly about support or help with technical issues. + +Credits +======= + +Authors +~~~~~~~ + +* Edi Santoso +* Niaga Solution + +Contributors +~~~~~~~~~~~~ + +* Edi Santoso +* Maxime Chambreuil +* Hiren Dangar + +Other credits +~~~~~~~~~~~~~ + +* Niaga Solution +* Open Source Integrators +* Serpent Consulting Services Pvt. Ltd. + +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/operating-unit `_ project on GitHub. + +You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/res_partner_operating_unit/static/description/index.html b/res_partner_operating_unit/static/description/index.html new file mode 100644 index 0000000000..ad4c29cd07 --- /dev/null +++ b/res_partner_operating_unit/static/description/index.html @@ -0,0 +1,445 @@ + + + + + + +Partner with Operating Unit + + + +
+

Partner with Operating Unit

+ + +

Beta License: LGPL-3 OCA/operating-unit Translate me on Weblate Try me on Runbot

+

This module introduces the following features:

+
    +
  • Adds the Operating Unit (OU) to res partner.
  • +
  • The user’s default Operating Unit (OU) is proposed at the time of creating Partner.
  • +
  • Security rules are defined to ensure that users can only see Partner of that Operating Units in which they are allowed access to.
  • +
+

Table of contents

+ +
+

Usage

+
    +
  • Go to customer
  • +
  • You only see the customer of your operating units
  • +
  • Create an customer. It is assigned to your default operating unit.
  • +
+
+
+

Bug Tracker

+

Bugs are tracked on GitHub 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.

+

Do not contact contributors directly about support or help with technical issues.

+
+
+

Credits

+
+

Authors

+
    +
  • Edi Santoso
  • +
  • Niaga Solution
  • +
+
+ +
+

Other credits

+
    +
  • Niaga Solution
  • +
  • Open Source Integrators
  • +
  • Serpent Consulting Services Pvt. Ltd. <support@serpentcs.com>
  • +
+
+
+

Maintainers

+

This module is maintained by the OCA.

+Odoo Community Association +

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/operating-unit project on GitHub.

+

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.

+
+
+
+ + From aff8476545eadb8e1734b353b4081a082dc6724e Mon Sep 17 00:00:00 2001 From: OCA-git-bot Date: Wed, 15 Jan 2020 14:35:51 +0000 Subject: [PATCH 14/31] [ADD] icon.png --- .../static/description/icon.png | Bin 0 -> 9455 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 res_partner_operating_unit/static/description/icon.png diff --git a/res_partner_operating_unit/static/description/icon.png b/res_partner_operating_unit/static/description/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..3a0328b516c4980e8e44cdb63fd945757ddd132d GIT binary patch literal 9455 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 z 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 Xviia!U7SGha1wx#SCgwmn*{w2TRX*I literal 0 HcmV?d00001 From 6ab847c8cf5719509d1a0257dd4356060f0a099e Mon Sep 17 00:00:00 2001 From: Pedro Castro Silva Date: Sat, 29 Feb 2020 12:10:45 +0000 Subject: [PATCH 15/31] Added translation using Weblate (Portuguese) --- res_partner_operating_unit/i18n/pt.po | 38 +++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 res_partner_operating_unit/i18n/pt.po diff --git a/res_partner_operating_unit/i18n/pt.po b/res_partner_operating_unit/i18n/pt.po new file mode 100644 index 0000000000..9827ccfb92 --- /dev/null +++ b/res_partner_operating_unit/i18n/pt.po @@ -0,0 +1,38 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * res_partner_operating_unit +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 12.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: Automatically generated\n" +"Language-Team: none\n" +"Language: pt\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: res_partner_operating_unit +#: model:ir.model,name:res_partner_operating_unit.model_res_partner +msgid "Contact" +msgstr "" + +#. module: res_partner_operating_unit +#: model:ir.model.fields,field_description:res_partner_operating_unit.field_fsm_location__operating_unit_ids +#: model:ir.model.fields,field_description:res_partner_operating_unit.field_fsm_person__operating_unit_ids +#: model:ir.model.fields,field_description:res_partner_operating_unit.field_res_partner__operating_unit_ids +msgid "Operating Units" +msgstr "" + +#. module: res_partner_operating_unit +#: code:addons/res_partner_operating_unit/models/res_users.py:34 +#, python-format +msgid "The operating units of the partner must include the default one of the user." +msgstr "" + +#. module: res_partner_operating_unit +#: model:ir.model,name:res_partner_operating_unit.model_res_users +msgid "Users" +msgstr "" From 9d3ed0fb441ce917469ec7853a5ddf02f0a504d6 Mon Sep 17 00:00:00 2001 From: Pedro Castro Silva Date: Sat, 29 Feb 2020 12:18:02 +0000 Subject: [PATCH 16/31] Translated using Weblate (Portuguese) Currently translated at 100.0% (4 of 4 strings) Translation: operating-unit-12.0/operating-unit-12.0-res_partner_operating_unit Translate-URL: https://translation.odoo-community.org/projects/operating-unit-12-0/operating-unit-12-0-res_partner_operating_unit/pt/ --- res_partner_operating_unit/i18n/pt.po | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/res_partner_operating_unit/i18n/pt.po b/res_partner_operating_unit/i18n/pt.po index 9827ccfb92..23b436817c 100644 --- a/res_partner_operating_unit/i18n/pt.po +++ b/res_partner_operating_unit/i18n/pt.po @@ -6,33 +6,37 @@ msgid "" msgstr "" "Project-Id-Version: Odoo Server 12.0\n" "Report-Msgid-Bugs-To: \n" -"Last-Translator: Automatically generated\n" +"PO-Revision-Date: 2020-02-29 15:13+0000\n" +"Last-Translator: Pedro Castro Silva \n" "Language-Team: none\n" "Language: pt\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: res_partner_operating_unit #: model:ir.model,name:res_partner_operating_unit.model_res_partner msgid "Contact" -msgstr "" +msgstr "Contacto" #. module: res_partner_operating_unit #: model:ir.model.fields,field_description:res_partner_operating_unit.field_fsm_location__operating_unit_ids #: model:ir.model.fields,field_description:res_partner_operating_unit.field_fsm_person__operating_unit_ids #: model:ir.model.fields,field_description:res_partner_operating_unit.field_res_partner__operating_unit_ids msgid "Operating Units" -msgstr "" +msgstr "Unidades Operacionais" #. module: res_partner_operating_unit #: code:addons/res_partner_operating_unit/models/res_users.py:34 #, python-format msgid "The operating units of the partner must include the default one of the user." msgstr "" +"As unidades operacionais deste parceiro devem incluir a predefinida do " +"utilizador." #. module: res_partner_operating_unit #: model:ir.model,name:res_partner_operating_unit.model_res_users msgid "Users" -msgstr "" +msgstr "Utilizadores" From d239d62844c8ac8636fad245886bd8157bff55d3 Mon Sep 17 00:00:00 2001 From: Maxime Chambreuil Date: Mon, 9 Mar 2020 15:50:29 -0600 Subject: [PATCH 17/31] [FIX] res_partner_operating_unit: Perf issue (#258) --- res_partner_operating_unit/__manifest__.py | 1 - .../models/res_partner.py | 26 ++++++++++++++++--- .../security/res_partner_security.xml | 19 -------------- 3 files changed, 23 insertions(+), 23 deletions(-) delete mode 100644 res_partner_operating_unit/security/res_partner_security.xml diff --git a/res_partner_operating_unit/__manifest__.py b/res_partner_operating_unit/__manifest__.py index 04e75cda9c..144c2b4512 100644 --- a/res_partner_operating_unit/__manifest__.py +++ b/res_partner_operating_unit/__manifest__.py @@ -12,7 +12,6 @@ "depends": ["operating_unit"], "license": "LGPL-3", "data": [ - "security/res_partner_security.xml", "views/res_partner_view.xml", ], 'installable': True, diff --git a/res_partner_operating_unit/models/res_partner.py b/res_partner_operating_unit/models/res_partner.py index 9a19baabca..8c64e9d568 100644 --- a/res_partner_operating_unit/models/res_partner.py +++ b/res_partner_operating_unit/models/res_partner.py @@ -5,7 +5,6 @@ class ResPartner(models.Model): - _inherit = 'res.partner' @api.model @@ -26,5 +25,26 @@ def _default_operating_units(self): operating_unit_ids = fields.Many2many( 'operating.unit', 'operating_unit_partner_rel', 'partner_id', 'operating_unit_id', - 'Operating Units', default=lambda self: self._default_operating_units() - ) + 'Operating Units', + default=lambda self: self._default_operating_units()) + + # Extending methods to replace a record rule. + # Ref: https://github.com/OCA/operating-unit/issues/258 + @api.model + def search(self, args, offset=0, limit=None, order=None, count=False): + # Get the OUs of the user + ou_ids = self.env.user.operating_unit_ids.ids + domain = ['|', + ('operating_unit_ids', 'in', ou_ids), + ('operating_unit_ids', '=', False)] + return super().search(domain + args, offset=offset, limit=limit, + order=order, count=count) + + @api.model + def search_count(self, args): + # Get the OUs of the user + ou_ids = self.env.user.operating_unit_ids.ids + domain = ['|', + ('operating_unit_ids', 'in', ou_ids), + ('operating_unit_ids', '=', False)] + return super().search_count(domain + args) diff --git a/res_partner_operating_unit/security/res_partner_security.xml b/res_partner_operating_unit/security/res_partner_security.xml deleted file mode 100644 index dc833b3d73..0000000000 --- a/res_partner_operating_unit/security/res_partner_security.xml +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - - ['|',('operating_unit_ids','=',False),('operating_unit_ids','in',[g.id for g in user.operating_unit_ids])] - Partner from allowed operating units - - - - - - - - From 35ea641b87ae1f83df20d03c1f366932590e1142 Mon Sep 17 00:00:00 2001 From: Patrick Wilson <36892066+patrickrwilson@users.noreply.github.com> Date: Mon, 23 Mar 2020 10:24:15 -0500 Subject: [PATCH 18/31] [IMP] Add many2many_tags widget on list Added the many2many_tags widget on the list view. --- res_partner_operating_unit/views/res_partner_view.xml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/res_partner_operating_unit/views/res_partner_view.xml b/res_partner_operating_unit/views/res_partner_view.xml index 79c07be98a..875915ddad 100644 --- a/res_partner_operating_unit/views/res_partner_view.xml +++ b/res_partner_operating_unit/views/res_partner_view.xml @@ -27,7 +27,8 @@ + groups="operating_unit.group_multi_operating_unit" + widget="many2many_tags"/> From f120c8c0069f2695b2d4bcaa6aaec1e226fc5141 Mon Sep 17 00:00:00 2001 From: OCA-git-bot Date: Mon, 23 Mar 2020 16:41:46 +0000 Subject: [PATCH 19/31] res_partner_operating_unit 12.0.1.0.1 --- res_partner_operating_unit/__manifest__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/res_partner_operating_unit/__manifest__.py b/res_partner_operating_unit/__manifest__.py index 144c2b4512..2f34ffa1f7 100644 --- a/res_partner_operating_unit/__manifest__.py +++ b/res_partner_operating_unit/__manifest__.py @@ -3,7 +3,7 @@ { "name": "Partner with Operating Unit", "summary": "Introduces Operating Unit fields in Partner", - "version": "12.0.1.0.0", + "version": "12.0.1.0.1", "author": "Edi Santoso, " "Niaga Solution, " "Odoo Community Association (OCA)", From f0b6f5bd0e7073e8b765c352de6b5cfaabca3e6c Mon Sep 17 00:00:00 2001 From: OCA-git-bot Date: Mon, 23 Mar 2020 17:33:44 +0000 Subject: [PATCH 20/31] res_partner_operating_unit 12.0.1.1.0 --- res_partner_operating_unit/__manifest__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/res_partner_operating_unit/__manifest__.py b/res_partner_operating_unit/__manifest__.py index 2f34ffa1f7..cbb8193209 100644 --- a/res_partner_operating_unit/__manifest__.py +++ b/res_partner_operating_unit/__manifest__.py @@ -3,7 +3,7 @@ { "name": "Partner with Operating Unit", "summary": "Introduces Operating Unit fields in Partner", - "version": "12.0.1.0.1", + "version": "12.0.1.1.0", "author": "Edi Santoso, " "Niaga Solution, " "Odoo Community Association (OCA)", From 4e9ffa9f9486e7afa13e2ad0996b2da1b0d984e6 Mon Sep 17 00:00:00 2001 From: Hiren Dangar Date: Tue, 20 Oct 2020 15:39:02 +0530 Subject: [PATCH 21/31] [FIX]Fixed an issue of getting trace-back when logged In user going to change the Default Operating Unit. --- res_partner_operating_unit/models/res_users.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/res_partner_operating_unit/models/res_users.py b/res_partner_operating_unit/models/res_users.py index fd32baecf0..96e733821f 100644 --- a/res_partner_operating_unit/models/res_users.py +++ b/res_partner_operating_unit/models/res_users.py @@ -22,7 +22,7 @@ def write(self, vals): if vals.get('default_operating_unit_id'): # Add the new OU self.partner_id.operating_unit_ids = \ - [(4, res.default_operating_unit_id.id)] + [(4, vals['default_operating_unit_id'])] return res @api.constrains('partner_id.operating_unit_ids', From 34bc7b6b398fc49b7c5a9361fda9b1ee06d4051b Mon Sep 17 00:00:00 2001 From: OCA-git-bot Date: Wed, 4 Aug 2021 06:16:45 +0000 Subject: [PATCH 22/31] res_partner_operating_unit 12.0.1.1.1 --- res_partner_operating_unit/__manifest__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/res_partner_operating_unit/__manifest__.py b/res_partner_operating_unit/__manifest__.py index cbb8193209..afb77b97fa 100644 --- a/res_partner_operating_unit/__manifest__.py +++ b/res_partner_operating_unit/__manifest__.py @@ -3,7 +3,7 @@ { "name": "Partner with Operating Unit", "summary": "Introduces Operating Unit fields in Partner", - "version": "12.0.1.1.0", + "version": "12.0.1.1.1", "author": "Edi Santoso, " "Niaga Solution, " "Odoo Community Association (OCA)", From 2d1d6c94a46963718248551d9cdbcb9b3958c526 Mon Sep 17 00:00:00 2001 From: Francesco Foresti Date: Mon, 23 Aug 2021 16:21:49 +0000 Subject: [PATCH 23/31] Added translation using Weblate (Italian) --- res_partner_operating_unit/i18n/it.po | 38 +++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 res_partner_operating_unit/i18n/it.po diff --git a/res_partner_operating_unit/i18n/it.po b/res_partner_operating_unit/i18n/it.po new file mode 100644 index 0000000000..465bf6f391 --- /dev/null +++ b/res_partner_operating_unit/i18n/it.po @@ -0,0 +1,38 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * res_partner_operating_unit +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 12.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: Automatically generated\n" +"Language-Team: none\n" +"Language: it\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: res_partner_operating_unit +#: model:ir.model,name:res_partner_operating_unit.model_res_partner +msgid "Contact" +msgstr "" + +#. module: res_partner_operating_unit +#: model:ir.model.fields,field_description:res_partner_operating_unit.field_fsm_location__operating_unit_ids +#: model:ir.model.fields,field_description:res_partner_operating_unit.field_fsm_person__operating_unit_ids +#: model:ir.model.fields,field_description:res_partner_operating_unit.field_res_partner__operating_unit_ids +msgid "Operating Units" +msgstr "" + +#. module: res_partner_operating_unit +#: code:addons/res_partner_operating_unit/models/res_users.py:34 +#, python-format +msgid "The operating units of the partner must include the default one of the user." +msgstr "" + +#. module: res_partner_operating_unit +#: model:ir.model,name:res_partner_operating_unit.model_res_users +msgid "Users" +msgstr "" From b59b08f87275742746240598f3d4b6af0eb8138c Mon Sep 17 00:00:00 2001 From: Francesco Foresti Date: Mon, 23 Aug 2021 16:22:46 +0000 Subject: [PATCH 24/31] Translated using Weblate (Italian) Currently translated at 100.0% (4 of 4 strings) Translation: operating-unit-12.0/operating-unit-12.0-res_partner_operating_unit Translate-URL: https://translation.odoo-community.org/projects/operating-unit-12-0/operating-unit-12-0-res_partner_operating_unit/it/ --- res_partner_operating_unit/i18n/it.po | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/res_partner_operating_unit/i18n/it.po b/res_partner_operating_unit/i18n/it.po index 465bf6f391..9cca24701f 100644 --- a/res_partner_operating_unit/i18n/it.po +++ b/res_partner_operating_unit/i18n/it.po @@ -6,33 +6,37 @@ msgid "" msgstr "" "Project-Id-Version: Odoo Server 12.0\n" "Report-Msgid-Bugs-To: \n" -"Last-Translator: Automatically generated\n" +"PO-Revision-Date: 2021-08-23 18:50+0000\n" +"Last-Translator: Francesco Foresti \n" "Language-Team: none\n" "Language: it\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 4.3.2\n" #. module: res_partner_operating_unit #: model:ir.model,name:res_partner_operating_unit.model_res_partner msgid "Contact" -msgstr "" +msgstr "Contatto" #. module: res_partner_operating_unit #: model:ir.model.fields,field_description:res_partner_operating_unit.field_fsm_location__operating_unit_ids #: model:ir.model.fields,field_description:res_partner_operating_unit.field_fsm_person__operating_unit_ids #: model:ir.model.fields,field_description:res_partner_operating_unit.field_res_partner__operating_unit_ids msgid "Operating Units" -msgstr "" +msgstr "Unità Operative" #. module: res_partner_operating_unit #: code:addons/res_partner_operating_unit/models/res_users.py:34 #, python-format msgid "The operating units of the partner must include the default one of the user." msgstr "" +"Le unità operative del contatto devono includere quella predefinita " +"dell'utente." #. module: res_partner_operating_unit #: model:ir.model,name:res_partner_operating_unit.model_res_users msgid "Users" -msgstr "" +msgstr "Utenti" From 9e2b9fb23397ac440fcca1166a3053c22ef597ea Mon Sep 17 00:00:00 2001 From: Francesco Foresti Date: Wed, 18 Jan 2023 08:50:26 +0000 Subject: [PATCH 25/31] Translated using Weblate (Italian) Currently translated at 100.0% (4 of 4 strings) Translation: operating-unit-12.0/operating-unit-12.0-res_partner_operating_unit Translate-URL: https://translation.odoo-community.org/projects/operating-unit-12-0/operating-unit-12-0-res_partner_operating_unit/it/ --- res_partner_operating_unit/i18n/it.po | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/res_partner_operating_unit/i18n/it.po b/res_partner_operating_unit/i18n/it.po index 9cca24701f..e793bd293d 100644 --- a/res_partner_operating_unit/i18n/it.po +++ b/res_partner_operating_unit/i18n/it.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: Odoo Server 12.0\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2021-08-23 18:50+0000\n" +"PO-Revision-Date: 2023-01-18 11:48+0000\n" "Last-Translator: Francesco Foresti \n" "Language-Team: none\n" "Language: it\n" @@ -14,7 +14,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: \n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 4.3.2\n" +"X-Generator: Weblate 4.14.1\n" #. module: res_partner_operating_unit #: model:ir.model,name:res_partner_operating_unit.model_res_partner @@ -26,7 +26,7 @@ msgstr "Contatto" #: model:ir.model.fields,field_description:res_partner_operating_unit.field_fsm_person__operating_unit_ids #: model:ir.model.fields,field_description:res_partner_operating_unit.field_res_partner__operating_unit_ids msgid "Operating Units" -msgstr "Unità Operative" +msgstr "Unità operative" #. module: res_partner_operating_unit #: code:addons/res_partner_operating_unit/models/res_users.py:34 From ba40c8897754518087079dd984bea5b0b6e2006e Mon Sep 17 00:00:00 2001 From: OCA-git-bot Date: Mon, 4 Sep 2023 04:24:25 +0000 Subject: [PATCH 26/31] [UPD] README.rst --- res_partner_operating_unit/README.rst | 15 ++++--- .../static/description/index.html | 42 ++++++++++--------- 2 files changed, 31 insertions(+), 26 deletions(-) diff --git a/res_partner_operating_unit/README.rst b/res_partner_operating_unit/README.rst index 1870253daf..1c84c758e9 100644 --- a/res_partner_operating_unit/README.rst +++ b/res_partner_operating_unit/README.rst @@ -2,10 +2,13 @@ Partner with Operating Unit =========================== -.. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +.. + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! source digest: sha256:65f5a695789262630b40a31a5f1c4684a91813cde3f2caa75d9a51530054073c + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! .. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png :target: https://odoo-community.org/page/development-status @@ -19,11 +22,11 @@ Partner with Operating Unit .. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png :target: https://translation.odoo-community.org/projects/operating-unit-12-0/operating-unit-12-0-res_partner_operating_unit :alt: Translate me on Weblate -.. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png - :target: https://runbot.odoo-community.org/runbot/213/12.0 - :alt: Try me on Runbot +.. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png + :target: https://runboat.odoo-community.org/builds?repo=OCA/operating-unit&target_branch=12.0 + :alt: Try me on Runboat -|badge1| |badge2| |badge3| |badge4| |badge5| +|badge1| |badge2| |badge3| |badge4| |badge5| This module introduces the following features: @@ -48,7 +51,7 @@ Bug Tracker Bugs are tracked on `GitHub 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 +If you spotted it first, help us to smash it by providing a detailed and welcomed `feedback `_. Do not contact contributors directly about support or help with technical issues. diff --git a/res_partner_operating_unit/static/description/index.html b/res_partner_operating_unit/static/description/index.html index ad4c29cd07..22837b7fbe 100644 --- a/res_partner_operating_unit/static/description/index.html +++ b/res_partner_operating_unit/static/description/index.html @@ -1,20 +1,20 @@ - + - + Partner with Operating Unit -
-

Partner with Operating Unit

+
+ + +Odoo Community Association + +
+

Partner with Operating Unit

-

Beta License: LGPL-3 OCA/operating-unit Translate me on Weblate Try me on Runboat

+

Beta License: LGPL-3 OCA/operating-unit Translate me on Weblate Try me on Runboat

This module introduces the following features:

  • Adds the Operating Unit (OU) to res partner.
  • @@ -393,7 +398,7 @@

    Partner with Operating Unit

-

Usage

+

Usage

  • Go to customer
  • You only see the customer of your operating units
  • @@ -401,7 +406,7 @@

    Usage

-

Bug Tracker

+

Bug Tracker

Bugs are tracked on GitHub 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 @@ -409,16 +414,16 @@

Bug Tracker

Do not contact contributors directly about support or help with technical issues.

-

Credits

+

Credits

-

Authors

+

Authors

  • Edi Santoso
  • Niaga Solution
-

Contributors

+

Contributors

-

Other credits

+

Other credits

  • Niaga Solution
  • Open Source Integrators
  • @@ -438,7 +443,7 @@

    Other credits

-

Maintainers

+

Maintainers

This module is maintained by the OCA.

Odoo Community Association @@ -451,5 +456,6 @@

Maintainers

+
diff --git a/setup/_metapackage/pyproject.toml b/setup/_metapackage/pyproject.toml index eb3e129448..5a35818605 100644 --- a/setup/_metapackage/pyproject.toml +++ b/setup/_metapackage/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "odoo-addons-oca-operating-unit" -version = "18.0.20251230.0" +version = "18.0.20260120.0" dependencies = [ "odoo-addon-account_operating_unit==18.0.*", "odoo-addon-analytic_operating_unit==18.0.*", @@ -10,6 +10,7 @@ dependencies = [ "odoo-addon-operating_unit_access_all==18.0.*", "odoo-addon-purchase_operating_unit==18.0.*", "odoo-addon-report_qweb_operating_unit==18.0.*", + "odoo-addon-res_partner_operating_unit==18.0.*", "odoo-addon-sale_operating_unit==18.0.*", "odoo-addon-sale_stock_operating_unit==18.0.*", "odoo-addon-sales_team_operating_unit==18.0.*",