Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
106 changes: 106 additions & 0 deletions partner_multi_relation_function/README.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,106 @@
==========================
Partner Relation Functions
==========================

..
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! source digest: sha256:f5bedfce28db3d0081c34e3c73d93c3be293d8248a5143c99f135b8537f54ad1
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png
:target: https://odoo-community.org/page/development-status
:alt: Beta
.. |badge2| image:: https://img.shields.io/badge/licence-AGPL--3-blue.png
:target: http://www.gnu.org/licenses/agpl-3.0-standalone.html
:alt: License: AGPL-3
.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fpartner--contact-lightgray.png?logo=github
:target: https://github.com/OCA/partner-contact/tree/18.0/partner_multi_relation_function
:alt: OCA/partner-contact
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
:target: https://translation.odoo-community.org/projects/partner-contact-18-0/partner-contact-18-0-partner_multi_relation_function
:alt: Translate me on Weblate
.. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png
:target: https://runboat.odoo-community.org/builds?repo=OCA/partner-contact&target_branch=18.0
:alt: Try me on Runboat

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

This module gives the posibility to have a relation between partners
have a function.

Of course there is a function field on partner, but this ignores the
fact that persons can have multiple functions depending on the relations
they are in. For instance a person can be a CEO in one company and a
volunteer in another organisation.

**Table of contents**

.. contents::
:local:

Usage
=====

Relation Type
-------------

You can specify that a relation type can have a function attached to it.

Relation
--------

You can enter a function for relation types that allow this. The display
name for the relation will reflect the function entered, if any.

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

Bugs are tracked on `GitHub Issues <https://github.com/OCA/partner-contact/issues>`_.
In case of trouble, please check there if your issue has already been reported.
If you spotted it first, help us to smash it by providing a detailed and welcomed
`feedback <https://github.com/OCA/partner-contact/issues/new?body=module:%20partner_multi_relation_function%0Aversion:%2018.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.

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

Credits
=======

Authors
-------

* Therp BV

Contributors
------------

- `Therp BV <https://therp.nl>`__:

- Ronald Portier <ronald@therp.nl>

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.

.. |maintainer-NL66278| image:: https://github.com/NL66278.png?size=40px
:target: https://github.com/NL66278
:alt: NL66278

Current `maintainer <https://odoo-community.org/page/maintainer-role>`__:

|maintainer-NL66278|

This module is part of the `OCA/partner-contact <https://github.com/OCA/partner-contact/tree/18.0/partner_multi_relation_function>`_ project on GitHub.

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
2 changes: 2 additions & 0 deletions partner_multi_relation_function/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html).
from . import models
25 changes: 25 additions & 0 deletions partner_multi_relation_function/__manifest__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
# Copyright 2024 Therp BV <http://therp.nl>.
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html).
{
"name": "Partner Relation Functions",
"version": "18.0.1.0.0",
"author": "Therp BV,Odoo Community Association (OCA)",
"website": "https://github.com/OCA/partner-contact",
"maintainers": ["NL66278"],
"complexity": "normal",
"category": "Customer Relationship Management",
"license": "AGPL-3",
"depends": ["partner_multi_relation"],
"demo": [
"demo/res_partner_relation_type_demo.xml",
"demo/res_partner_demo.xml",
"demo/res_partner_relation_demo.xml", # Must be after type and partner
],
"data": [
"views/res_partner_views.xml",
"views/res_partner_relation_all_views.xml",
"views/res_partner_relation_type_views.xml",
],
"auto_install": False,
"installable": True,
}
12 changes: 12 additions & 0 deletions partner_multi_relation_function/demo/res_partner_demo.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8" ?>
<odoo>
<record id="res_partner_demo_the_big_guy" model="res.partner">
<field name="name">Joe Bigguy</field>
<field name="is_company">0</field>
<field name="city">Hilversum</field>
<field name="zip">1222 EE</field>
<field name="email">bigguy@yourcompany.example.com</field>
<field name="phone">+31 06 6461 0401</field>
<field name="street">Albert Einstein</field>
</record>
</odoo>
12 changes: 12 additions & 0 deletions partner_multi_relation_function/demo/res_partner_relation_demo.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8" ?>
<odoo>
<record id="demo_relation_ceo" model="res.partner.relation">
<field
name="left_partner_id"
ref="partner_multi_relation.res_partner_pmr_great"
/>
<field name="right_partner_id" ref="res_partner_demo_the_big_guy" />
<field name="type_id" ref="rel_type_board_member" />
<field name="function">CEO</field>
</record>
</odoo>
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
<?xml version="1.0" encoding="UTF-8" ?>
<odoo>
<record id="rel_type_board_member" model="res.partner.relation.type">
<field name="name">Has board member</field>
<field name="name_inverse">Is board member of</field>
<field name="contact_type_left">c</field>
<field name="contact_type_right">p</field>
<field name="allow_function">True</field>
</record>
</odoo>
98 changes: 98 additions & 0 deletions partner_multi_relation_function/i18n/it.po
Original file line number Diff line number Diff line change
@@ -0,0 +1,98 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * partner_multi_relation_function
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 16.0\n"
"Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: 2026-05-29 13:46+0000\n"
"Last-Translator: mymage <stefano.consolaro@mymage.it>\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 5.15.2\n"

#. module: partner_multi_relation_function
#. odoo-python
#: code:addons/partner_multi_relation_function/models/res_partner_relation_all.py:0
#, python-format
msgid " with function "
msgstr " con funzione "

#. module: partner_multi_relation_function
#: model:ir.model,name:partner_multi_relation_function.model_res_partner_relation_all
msgid "All (non-inverse + inverse) relations between partners"
msgstr "Tutte le relazioni tra partner (non-inverse e inverse)"

#. module: partner_multi_relation_function
#: model:ir.model,name:partner_multi_relation_function.model_res_partner_relation_type_selection
msgid "All relation types"
msgstr "Tutti i tipi di relazione"

#. module: partner_multi_relation_function
#: model:ir.model.fields,field_description:partner_multi_relation_function.field_res_partner_relation_all__allow_function
#: model:ir.model.fields,field_description:partner_multi_relation_function.field_res_partner_relation_type__allow_function
#: model:ir.model.fields,field_description:partner_multi_relation_function.field_res_partner_relation_type_selection__allow_function
msgid "Allow Function"
msgstr "Consente funzione"

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

#. module: partner_multi_relation_function
#: model:ir.model.fields,field_description:partner_multi_relation_function.field_res_partner_relation__function
#: model:ir.model.fields,field_description:partner_multi_relation_function.field_res_partner_relation_all__function
msgid "Function"
msgstr "Funzione"

#. module: partner_multi_relation_function
#: model:res.partner.relation.type,name:partner_multi_relation_function.rel_type_board_member
msgid "Has board member"
msgstr "Ha membro del board"

#. module: partner_multi_relation_function
#: model:ir.model.fields,field_description:partner_multi_relation_function.field_res_partner__search_relation_function
#: model:ir.model.fields,field_description:partner_multi_relation_function.field_res_users__search_relation_function
msgid "Has relation function"
msgstr "Ha funzione relazione"

#. module: partner_multi_relation_function
#: model:res.partner.relation.type,name_inverse:partner_multi_relation_function.rel_type_board_member
msgid "Is board member of"
msgstr "È membro del board di"

#. module: partner_multi_relation_function
#: model:ir.model.fields,help:partner_multi_relation_function.field_res_partner_relation_type__allow_function
msgid "Is set, relations of this type can have a function specified"
msgstr ""
"Se impostata, le relazioni di questo tipo possono avere una funzione indicata"

#. module: partner_multi_relation_function
#: model:ir.model,name:partner_multi_relation_function.model_res_partner_relation_type
msgid "Partner Relation Type"
msgstr "Tipo di relazione del partner"

#. module: partner_multi_relation_function
#: model:ir.model,name:partner_multi_relation_function.model_res_partner_relation
msgid "Partner relation"
msgstr "Relazione partner"

#. module: partner_multi_relation_function
#. odoo-python
#: code:addons/partner_multi_relation_function/models/res_partner.py:0
#, python-format
msgid "Unsupported search operator \"%s\""
msgstr "Operatore di ricerca non supportato \"%s\""

#. module: partner_multi_relation_function
#. odoo-python
#: code:addons/partner_multi_relation_function/models/res_partner_relation.py:0
#, python-format
msgid "You can not have a function on relations of type %(type)s."
msgstr "Non si può avere una funzione in una relazione di tipo %(type)s."
Original file line number Diff line number Diff line change
@@ -0,0 +1,94 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * partner_multi_relation_function
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 16.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: partner_multi_relation_function
#. odoo-python
#: code:addons/partner_multi_relation_function/models/res_partner_relation_all.py:0
#, python-format
msgid " with function "
msgstr ""

#. module: partner_multi_relation_function
#: model:ir.model,name:partner_multi_relation_function.model_res_partner_relation_all
msgid "All (non-inverse + inverse) relations between partners"
msgstr ""

#. module: partner_multi_relation_function
#: model:ir.model,name:partner_multi_relation_function.model_res_partner_relation_type_selection
msgid "All relation types"
msgstr ""

#. module: partner_multi_relation_function
#: model:ir.model.fields,field_description:partner_multi_relation_function.field_res_partner_relation_all__allow_function
#: model:ir.model.fields,field_description:partner_multi_relation_function.field_res_partner_relation_type__allow_function
#: model:ir.model.fields,field_description:partner_multi_relation_function.field_res_partner_relation_type_selection__allow_function
msgid "Allow Function"
msgstr ""

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

#. module: partner_multi_relation_function
#: model:ir.model.fields,field_description:partner_multi_relation_function.field_res_partner_relation__function
#: model:ir.model.fields,field_description:partner_multi_relation_function.field_res_partner_relation_all__function
msgid "Function"
msgstr ""

#. module: partner_multi_relation_function
#: model:res.partner.relation.type,name:partner_multi_relation_function.rel_type_board_member
msgid "Has board member"
msgstr ""

#. module: partner_multi_relation_function
#: model:ir.model.fields,field_description:partner_multi_relation_function.field_res_partner__search_relation_function
#: model:ir.model.fields,field_description:partner_multi_relation_function.field_res_users__search_relation_function
msgid "Has relation function"
msgstr ""

#. module: partner_multi_relation_function
#: model:res.partner.relation.type,name_inverse:partner_multi_relation_function.rel_type_board_member
msgid "Is board member of"
msgstr ""

#. module: partner_multi_relation_function
#: model:ir.model.fields,help:partner_multi_relation_function.field_res_partner_relation_type__allow_function
msgid "Is set, relations of this type can have a function specified"
msgstr ""

#. module: partner_multi_relation_function
#: model:ir.model,name:partner_multi_relation_function.model_res_partner_relation_type
msgid "Partner Relation Type"
msgstr ""

#. module: partner_multi_relation_function
#: model:ir.model,name:partner_multi_relation_function.model_res_partner_relation
msgid "Partner relation"
msgstr ""

#. module: partner_multi_relation_function
#. odoo-python
#: code:addons/partner_multi_relation_function/models/res_partner.py:0
#, python-format
msgid "Unsupported search operator \"%s\""
msgstr ""

#. module: partner_multi_relation_function
#. odoo-python
#: code:addons/partner_multi_relation_function/models/res_partner_relation.py:0
#, python-format
msgid "You can not have a function on relations of type %(type)s."
msgstr ""
6 changes: 6 additions & 0 deletions partner_multi_relation_function/models/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
from . import res_partner
from . import res_partner_relation_type
from . import res_partner_relation_type_selection
from . import res_partner_relation
from . import res_partner_relation_all
Loading
Loading