Search 1.9 billion lines of Odoo code on GitHub

product_multi_relation

Author: Therp BV,Camptocamp,Odoo Community Association (OCA), Radovan Skolnik
License: AGPL-3
Branch: product_multi_relation
Repository: Rad0van/product-attribute
Dependencies: product
Languages: HTML (427, 17.6%), Python (1552, 64.1%), XML (293, 12.1%), and reStructuredText (148, 6.1%)

<h1 class="title">Partner Relations</h1> <p><a class="reference external" href="https://odoo-community.org/page/development-status"><img alt="Beta" src="https://img.shields.io/badge/maturity-Beta-yellow.png" /></a> <a class="reference external" href="http://www.gnu.org/licenses/agpl-3.0-standalone.html"><img alt="License: AGPL-3" src="https://img.shields.io/badge/licence-AGPL--3-blue.png" /></a> <a class="reference external" href="https://github.com/OCA/partner-contact/tree/12.0/partner_multi_relation"><img alt="OCA/partner-contact" src="https://img.shields.io/badge/github-OCA%2Fpartner--contact-lightgray.png?logo=github" /></a> <a class="reference external" href="https://translation.odoo-community.org/projects/partner-contact-12-0/partner-contact-12-0-partner_multi_relation"><img alt="Translate me on Weblate" src="https://img.shields.io/badge/weblate-Translate%20me-F47D42.png" /></a> <a class="reference external" href="https://runbot.odoo-community.org/runbot/134/12.0"><img alt="Try me on Runbot" src="https://img.shields.io/badge/runbot-Try%20me-875A7B.png" /></a></p> <p>This module aims to provide generic means to model relations between partners.</p> <p>Examples would be 'is sibling of' or 'is friend of', but also 'has contract X with' or 'is assistant of'. This way, you can encode your knowledge about your partners directly in your partner list.</p> <p><strong>Table of contents</strong></p> <div class="contents local topic" id="contents"> <ul class="simple"> <li><a class="reference internal" href="#usage" id="id1">Usage</a><ul> <li><a class="reference internal" href="#relation-types" id="id2">Relation Types</a></li> <li><a class="reference internal" href="#partner-types" id="id3">Partner Types</a></li> <li><a class="reference internal" href="#partner-categories" id="id4">Partner Categories</a></li> <li><a class="reference internal" href="#reflexive" id="id5">Reflexive</a></li> <li><a class="reference internal" href="#symmetric" id="id6">Symmetric</a></li> <li><a class="reference internal" href="#invalid-relation-handling" id="id7">Invalid Relation Handling</a></li> <li><a class="reference internal" href="#searching-partners-with-relations" id="id8">Searching Partners With Relations</a></li> <li><a class="reference internal" href="#searching-relations-from-partner-view" id="id9">Searching Relations From Partner View</a></li> </ul> </li> <li><a class="reference internal" href="#bug-tracker" id="id10">Bug Tracker</a></li> <li><a class="reference internal" href="#credits" id="id11">Credits</a><ul> <li><a class="reference internal" href="#authors" id="id12">Authors</a></li> <li><a class="reference internal" href="#contributors" id="id13">Contributors</a></li> <li><a class="reference internal" href="#maintainers" id="id14">Maintainers</a></li> </ul> </li> </ul> </div> <a name="usage"></a> <h2><a class="toc-backref" href="#id1">Usage</a></h2> <a name="relation-types"></a> <h3><a class="toc-backref" href="#id2">Relation Types</a></h3> <p>Before being able to use relations, you'll have define some first. Do that in Contacts / Relations / Partner relations.</p> <img alt="https://raw.githubusercontent.com/OCA/partner-contact/12.0/partner_multi_relation/static/description/relation_type_list.png" src="https://raw.githubusercontent.com/OCA/partner-contact/12.0/partner_multi_relation/static/description/relation_type_list.png" /> <p>A relation type has a name for both sides.</p> <img alt="https://raw.githubusercontent.com/OCA/partner-contact/12.0/partner_multi_relation/static/description/relation_type_form_empty.png" src="https://raw.githubusercontent.com/OCA/partner-contact/12.0/partner_multi_relation/static/description/relation_type_form_empty.png" /> <p>To have an assistant-relation, you would name one side 'is assistant of' and the other side 'has assistant'.</p> <img alt="https://raw.githubusercontent.com/OCA/partner-contact/12.0/partner_multi_relation/static/description/relation_type_form_name_filled.png" src="https://raw.githubusercontent.com/OCA/partner-contact/12.0/partner_multi_relation/static/description/relation_type_form_name_filled.png" /> <a name="partner-types"></a> <h3><a class="toc-backref" href="#id3">Partner Types</a></h3> <p>The <cite>Partner Type</cite> fields allow to constrain what type of partners can be used on the left and right sides of the relation.</p> <ul class="simple"> <li>In the example above, the assistant-relation only makes sense between people, so you would choose 'Person' for both partner types.</li> </ul> <img alt="https://raw.githubusercontent.com/OCA/partner-contact/12.0/partner_multi_relation/static/description/relation_type_form_partner_type_filled.png" src="https://raw.githubusercontent.com/OCA/partner-contact/12.0/partner_multi_relation/static/description/relation_type_form_partner_type_filled.png" /> <ul class="simple"> <li>For a relation 'is a competitor of', both sides would be companies.</li> <li>A relation 'has worked for' should have persons on the left side and companies on the right side.</li> </ul> <p>If you leave these fields empty, the relation is applicable to all types of partners.</p> <a name="partner-categories"></a> <h3><a class="toc-backref" href="#id4">Partner Categories</a></h3> <p>You may use categories (tags) to further specify the type of partners.</p> <p>You could for example enforce the 'is member of' relation to accept only companies with the label 'Organization' on the right side.</p> <img alt="https://raw.githubusercontent.com/OCA/partner-contact/12.0/partner_multi_relation/static/description/relation_type_form_category_filled.png" src="https://raw.githubusercontent.com/OCA/partner-contact/12.0/partner_multi_relation/static/description/relation_type_form_category_filled.png" /> <a name="reflexive"></a> <h3><a class="toc-backref" href="#id5">Reflexive</a></h3> <p>A reflexive relation type allows a partner to be in relation with himself.</p> <p>For example, the CEO of a company could be his own manager.</p> <img alt="https://raw.githubusercontent.com/OCA/partner-contact/12.0/partner_multi_relation/static/description/relation_type_reflexive.png" src="https://raw.githubusercontent.com/OCA/partner-contact/12.0/partner_multi_relation/static/description/relation_type_reflexive.png" /> <a name="symmetric"></a> <h3><a class="toc-backref" href="#id6">Symmetric</a></h3> <p>A symetric relation has the same value for the left and right sides.</p> <p>For example, in a competitor relation, both companies are competitors of each other.</p> <img alt="https://raw.githubusercontent.com/OCA/partner-contact/12.0/partner_multi_relation/static/description/relation_type_symmetric.png" src="https://raw.githubusercontent.com/OCA/partner-contact/12.0/partner_multi_relation/static/description/relation_type_symmetric.png" /> <a name="invalid-relation-handling"></a> <h3><a class="toc-backref" href="#id7">Invalid Relation Handling</a></h3> <p>When the configuration of a relation type changes, some relations between 2 partners may become invalid.</p> <p>For example, if the left partner type is set to <cite>Person</cite> and a relation already exists with a company on the right side, that relation becomes invalid.</p> <img alt="https://raw.githubusercontent.com/OCA/partner-contact/12.0/partner_multi_relation/static/description/relation_type_invalid_handling.png" src="https://raw.githubusercontent.com/OCA/partner-contact/12.0/partner_multi_relation/static/description/relation_type_invalid_handling.png" /> <p>What happens with invalid relations is customizable on the relation type.</p> <p>4 possible behaviors are available:</p> <ul class="simple"> <li>Do not allow change that will result in invalid relations</li> <li>Allow existing relations that do not fit changed conditions</li> <li>End relations per today, if they do not fit changed conditions</li> <li>Delete relations that do not fit changed conditions</li> </ul> <a name="searching-partners-with-relations"></a> <h3><a class="toc-backref" href="#id8">Searching Partners With Relations</a></h3> <p>To search for existing relations, go to <cite>Contacts / Relations / Relations</cite>.</p> <img alt="https://raw.githubusercontent.com/OCA/partner-contact/12.0/partner_multi_relation/static/description/search_relation.png" src="https://raw.githubusercontent.com/OCA/partner-contact/12.0/partner_multi_relation/static/description/search_relation.png" /> <p>To find all assistants in your database, fill in 'assistant' and autocomplete will propose to search for this type of relation.</p> <img alt="https://raw.githubusercontent.com/OCA/partner-contact/12.0/partner_multi_relation/static/description/search_relation_2.png" src="https://raw.githubusercontent.com/OCA/partner-contact/12.0/partner_multi_relation/static/description/search_relation_2.png" /> <p>Now if you want to find Colleen's assistant, you fill in 'Colleen' and one of the proposals is to search for partners having a relation with Colleen.</p> <img alt="https://raw.githubusercontent.com/OCA/partner-contact/12.0/partner_multi_relation/static/description/search_relation_3.png" src="https://raw.githubusercontent.com/OCA/partner-contact/12.0/partner_multi_relation/static/description/search_relation_3.png" /> <a name="searching-relations-from-partner-view"></a> <h3><a class="toc-backref" href="#id9">Searching Relations From Partner View</a></h3> <p>A smart button is available on the partner form view to display the list of relations.</p> <img alt="https://raw.githubusercontent.com/OCA/partner-contact/12.0/partner_multi_relation/static/description/partner_form_view_smart_button.png" src="https://raw.githubusercontent.com/OCA/partner-contact/12.0/partner_multi_relation/static/description/partner_form_view_smart_button.png" /> <img alt="https://raw.githubusercontent.com/OCA/partner-contact/12.0/partner_multi_relation/static/description/partner_form_view_smart_button_2.png" src="https://raw.githubusercontent.com/OCA/partner-contact/12.0/partner_multi_relation/static/description/partner_form_view_smart_button_2.png" /> <a name="bug-tracker"></a> <h2><a class="toc-backref" href="#id10">Bug Tracker</a></h2> <p>Bugs are tracked on <a class="reference external" href="https://github.com/OCA/partner-contact/issues">GitHub Issues</a>. 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 <a class="reference external" href="https://github.com/OCA/partner-contact/issues/new?body=module:%20partner_multi_relation%0Aversion:%2012.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**">feedback</a>.</p> <p>Do not contact contributors directly about support or help with technical issues.</p> <a name="credits"></a> <h2><a class="toc-backref" href="#id11">Credits</a></h2> <a name="authors"></a> <h3><a class="toc-backref" href="#id12">Authors</a></h3> <ul class="simple"> <li>Therp BV</li> <li>Camptocamp</li> </ul> <a name="contributors"></a> <h3><a class="toc-backref" href="#id13">Contributors</a></h3> <ul class="simple"> <li>Holger Brunn &lt;<a class="reference external" href="mailto:hbrunn&#64;therp.nl">hbrunn&#64;therp.nl</a>&gt;</li> <li>Stefan Rijnhart &lt;<a class="reference external" href="mailto:stefan&#64;therp.nl">stefan&#64;therp.nl</a>&gt;</li> <li>Ronald Portier &lt;<a class="reference external" href="mailto:ronald&#64;therp.nl">ronald&#64;therp.nl</a>&gt;</li> <li>Sandy Carter &lt;<a class="reference external" href="mailto:sandy.carter&#64;savoirfairelinux.com">sandy.carter&#64;savoirfairelinux.com</a>&gt;</li> <li>Bruno Joliveau &lt;<a class="reference external" href="mailto:bruno.joliveau&#64;savoirfairelinux.com">bruno.joliveau&#64;savoirfairelinux.com</a>&gt;</li> <li>Adriana Ierfino &lt;<a class="reference external" href="mailto:adriana.ierfino&#64;savoirfairelinux.com">adriana.ierfino&#64;savoirfairelinux.com</a>&gt;</li> <li>Numigi (tm) and all its contributors (<a class="reference external" href="https://bit.ly/numigiens">https://bit.ly/numigiens</a>)</li> </ul> <a name="maintainers"></a> <h3><a class="toc-backref" href="#id14">Maintainers</a></h3> <p>This module is maintained by the OCA.</p> <a class="reference external image-reference" href="https://odoo-community.org"><img alt="Odoo Community Association" src="https://odoo-community.org/logo.png" /></a> <p>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.</p> <p>This module is part of the <a class="reference external" href="https://github.com/OCA/partner-contact/tree/12.0/partner_multi_relation">OCA/partner-contact</a> project on GitHub.</p> <p>You are welcome to contribute. To learn how please visit <a class="reference external" href="https://odoo-community.org/page/Contribute">https://odoo-community.org/page/Contribute</a>.</p>