diff --git a/res_partner_required_fields/README.rst b/res_partner_required_fields/README.rst new file mode 100644 index 0000000000..080300230e --- /dev/null +++ b/res_partner_required_fields/README.rst @@ -0,0 +1,29 @@ +.. image:: https://img.shields.io/badge/licence-AGPL--3-blue.svg + :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html + :alt: License: AGPL-3 + +=========================== +Res partner required fields +=========================== + +* Required fields in "res.partner" when the potential client becomes an active + client. + +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 smash it by providing detailed and welcomed feedback. + +Do not contact contributors directly about support or help with technical issues. + +Credits +======= + +Contributors +------------ + +* Ana Juaristi +* Alfredo de la Fuente diff --git a/res_partner_required_fields/__init__.py b/res_partner_required_fields/__init__.py new file mode 100644 index 0000000000..0650744f6b --- /dev/null +++ b/res_partner_required_fields/__init__.py @@ -0,0 +1 @@ +from . import models diff --git a/res_partner_required_fields/__manifest__.py b/res_partner_required_fields/__manifest__.py new file mode 100644 index 0000000000..eb15857509 --- /dev/null +++ b/res_partner_required_fields/__manifest__.py @@ -0,0 +1,22 @@ +# Copyright 2020 Alfredo de la fuente - AvanzOSC +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html). +{ + "name": "Res Partner Required Fields", + "version": "18.0.1.0.0", + "category": "Sales/CRM", + "license": "AGPL-3", + "author": "AvanzOSC", + "website": "https://github.com/avanzosc/odoo-addons", + "depends": [ + "account", + "product", + "partner_group_purchase", + "commission_oca", + "delivery", + "account_payment_partner", + ], + "data": [ + "views/res_partner_views.xml", + ], + "installable": True, +} diff --git a/res_partner_required_fields/i18n/de.po b/res_partner_required_fields/i18n/de.po new file mode 100644 index 0000000000..2985e0444f --- /dev/null +++ b/res_partner_required_fields/i18n/de.po @@ -0,0 +1,27 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * res_partner_required_fields +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 16.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-08-12 12:23+0000\n" +"PO-Revision-Date: 2025-08-12 12:23+0000\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_required_fields +#: model:ir.model,name:res_partner_required_fields.model_res_partner +msgid "Contact" +msgstr "Kontakt" + +#. module: res_partner_required_fields +#: model:ir.model.fields,field_description:res_partner_required_fields.field_res_partner__parent_customer_rank +#: model:ir.model.fields,field_description:res_partner_required_fields.field_res_users__parent_customer_rank +msgid "Customer Rank" +msgstr "" diff --git a/res_partner_required_fields/i18n/en_GB.po b/res_partner_required_fields/i18n/en_GB.po new file mode 100644 index 0000000000..fa3fb9f4aa --- /dev/null +++ b/res_partner_required_fields/i18n/en_GB.po @@ -0,0 +1,27 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * res_partner_required_fields +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 16.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-08-12 12:22+0000\n" +"PO-Revision-Date: 2025-08-12 12:22+0000\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_required_fields +#: model:ir.model,name:res_partner_required_fields.model_res_partner +msgid "Contact" +msgstr "" + +#. module: res_partner_required_fields +#: model:ir.model.fields,field_description:res_partner_required_fields.field_res_partner__parent_customer_rank +#: model:ir.model.fields,field_description:res_partner_required_fields.field_res_users__parent_customer_rank +msgid "Customer Rank" +msgstr "" diff --git a/res_partner_required_fields/i18n/en_US.po b/res_partner_required_fields/i18n/en_US.po new file mode 100644 index 0000000000..2caa35d3e7 --- /dev/null +++ b/res_partner_required_fields/i18n/en_US.po @@ -0,0 +1,27 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * res_partner_required_fields +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 16.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-08-12 12:23+0000\n" +"PO-Revision-Date: 2025-08-12 12:23+0000\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_required_fields +#: model:ir.model,name:res_partner_required_fields.model_res_partner +msgid "Contact" +msgstr "" + +#. module: res_partner_required_fields +#: model:ir.model.fields,field_description:res_partner_required_fields.field_res_partner__parent_customer_rank +#: model:ir.model.fields,field_description:res_partner_required_fields.field_res_users__parent_customer_rank +msgid "Customer Rank" +msgstr "" diff --git a/res_partner_required_fields/i18n/es.po b/res_partner_required_fields/i18n/es.po new file mode 100644 index 0000000000..bbbd04e80e --- /dev/null +++ b/res_partner_required_fields/i18n/es.po @@ -0,0 +1,27 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * res_partner_required_fields +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 16.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-08-12 12:24+0000\n" +"PO-Revision-Date: 2025-08-12 12:24+0000\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_required_fields +#: model:ir.model,name:res_partner_required_fields.model_res_partner +msgid "Contact" +msgstr "Contacto" + +#. module: res_partner_required_fields +#: model:ir.model.fields,field_description:res_partner_required_fields.field_res_partner__parent_customer_rank +#: model:ir.model.fields,field_description:res_partner_required_fields.field_res_users__parent_customer_rank +msgid "Customer Rank" +msgstr "Rango del cliente" diff --git a/res_partner_required_fields/i18n/fr.po b/res_partner_required_fields/i18n/fr.po new file mode 100644 index 0000000000..2caa35d3e7 --- /dev/null +++ b/res_partner_required_fields/i18n/fr.po @@ -0,0 +1,27 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * res_partner_required_fields +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 16.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-08-12 12:23+0000\n" +"PO-Revision-Date: 2025-08-12 12:23+0000\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_required_fields +#: model:ir.model,name:res_partner_required_fields.model_res_partner +msgid "Contact" +msgstr "" + +#. module: res_partner_required_fields +#: model:ir.model.fields,field_description:res_partner_required_fields.field_res_partner__parent_customer_rank +#: model:ir.model.fields,field_description:res_partner_required_fields.field_res_users__parent_customer_rank +msgid "Customer Rank" +msgstr "" diff --git a/res_partner_required_fields/i18n/it.po b/res_partner_required_fields/i18n/it.po new file mode 100644 index 0000000000..3f362a25d4 --- /dev/null +++ b/res_partner_required_fields/i18n/it.po @@ -0,0 +1,27 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * res_partner_required_fields +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 16.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-08-12 12:24+0000\n" +"PO-Revision-Date: 2025-08-12 12:24+0000\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_required_fields +#: model:ir.model,name:res_partner_required_fields.model_res_partner +msgid "Contact" +msgstr "Contatto" + +#. module: res_partner_required_fields +#: model:ir.model.fields,field_description:res_partner_required_fields.field_res_partner__parent_customer_rank +#: model:ir.model.fields,field_description:res_partner_required_fields.field_res_users__parent_customer_rank +msgid "Customer Rank" +msgstr "" diff --git a/res_partner_required_fields/i18n/pt.po b/res_partner_required_fields/i18n/pt.po new file mode 100644 index 0000000000..3db8f9fdff --- /dev/null +++ b/res_partner_required_fields/i18n/pt.po @@ -0,0 +1,27 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * res_partner_required_fields +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 16.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-08-12 12:24+0000\n" +"PO-Revision-Date: 2025-08-12 12:24+0000\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_required_fields +#: model:ir.model,name:res_partner_required_fields.model_res_partner +msgid "Contact" +msgstr "Contacto" + +#. module: res_partner_required_fields +#: model:ir.model.fields,field_description:res_partner_required_fields.field_res_partner__parent_customer_rank +#: model:ir.model.fields,field_description:res_partner_required_fields.field_res_users__parent_customer_rank +msgid "Customer Rank" +msgstr "" diff --git a/res_partner_required_fields/i18n/res_partner_required_fields.pot b/res_partner_required_fields/i18n/res_partner_required_fields.pot new file mode 100644 index 0000000000..fa3fb9f4aa --- /dev/null +++ b/res_partner_required_fields/i18n/res_partner_required_fields.pot @@ -0,0 +1,27 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * res_partner_required_fields +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 16.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-08-12 12:22+0000\n" +"PO-Revision-Date: 2025-08-12 12:22+0000\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_required_fields +#: model:ir.model,name:res_partner_required_fields.model_res_partner +msgid "Contact" +msgstr "" + +#. module: res_partner_required_fields +#: model:ir.model.fields,field_description:res_partner_required_fields.field_res_partner__parent_customer_rank +#: model:ir.model.fields,field_description:res_partner_required_fields.field_res_users__parent_customer_rank +msgid "Customer Rank" +msgstr "" diff --git a/res_partner_required_fields/i18n/tr.po b/res_partner_required_fields/i18n/tr.po new file mode 100644 index 0000000000..285d61ebbc --- /dev/null +++ b/res_partner_required_fields/i18n/tr.po @@ -0,0 +1,27 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * res_partner_required_fields +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 16.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-08-12 12:25+0000\n" +"PO-Revision-Date: 2025-08-12 12:25+0000\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_required_fields +#: model:ir.model,name:res_partner_required_fields.model_res_partner +msgid "Contact" +msgstr "Kontak" + +#. module: res_partner_required_fields +#: model:ir.model.fields,field_description:res_partner_required_fields.field_res_partner__parent_customer_rank +#: model:ir.model.fields,field_description:res_partner_required_fields.field_res_users__parent_customer_rank +msgid "Customer Rank" +msgstr "" diff --git a/res_partner_required_fields/models/__init__.py b/res_partner_required_fields/models/__init__.py new file mode 100644 index 0000000000..91fed54d40 --- /dev/null +++ b/res_partner_required_fields/models/__init__.py @@ -0,0 +1 @@ +from . import res_partner diff --git a/res_partner_required_fields/models/res_partner.py b/res_partner_required_fields/models/res_partner.py new file mode 100644 index 0000000000..17c75f6e73 --- /dev/null +++ b/res_partner_required_fields/models/res_partner.py @@ -0,0 +1,9 @@ +# Copyright 2020 Alfredo de la fuente - AvanzOSC +# License AGPL-3 - See http://www.gnu.org/licenses/agpl-3.0.html +from odoo import fields, models + + +class ResPartner(models.Model): + _inherit = "res.partner" + + parent_customer_rank = fields.Integer(related="parent_id.customer_rank") diff --git a/res_partner_required_fields/pyproject.toml b/res_partner_required_fields/pyproject.toml new file mode 100644 index 0000000000..4231d0cccb --- /dev/null +++ b/res_partner_required_fields/pyproject.toml @@ -0,0 +1,3 @@ +[build-system] +requires = ["whool"] +build-backend = "whool.buildapi" diff --git a/res_partner_required_fields/views/res_partner_views.xml b/res_partner_required_fields/views/res_partner_views.xml new file mode 100644 index 0000000000..bb9100198c --- /dev/null +++ b/res_partner_required_fields/views/res_partner_views.xml @@ -0,0 +1,140 @@ + + + + res.partner + + 100 + + + + + + + customer_rank > 0 + + + customer_rank > 0 and type != 'contact' and parent_id == False + type == 'contact' and parent_id != False + + + customer_rank > 0 + + + customer_rank > 0 + + + customer_rank > 0 + + + customer_rank > 0 + + + customer_rank > 0 and is_company == True + + + parent_customer_rank > 0 and type == 'contact' + + + + + + customer_rank > 0 and type == 'contact' + + + parent_id != False or (parent_id != False and type != 'delivery') + + + customer_rank == 0 and is_company == True + + + + + + res.partner + + 101 + + + is_company == False + customer_rank > 0 and is_company != False + + + is_company == False + customer_rank > 0 and is_company != False + + + + + + res.partner + + 102 + + + customer_rank > 0 and is_company == True + + + customer_rank > 0 and is_company == True + + + + + + res.partner + + 103 + + + customer_rank > 0 and is_company == True + + + + + + res.partner + + 104 + + + customer_rank > 0 and is_company == True + + + + + + res.partner + + 105 + + + customer_rank > 0 and is_company == True + + + + + + res.partner + + 106 + + + customer_rank > 0 and is_company == True + + + +