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 <<a class="reference external" href="mailto:hbrunn@therp.nl">hbrunn@therp.nl</a>></li>
<li>Stefan Rijnhart <<a class="reference external" href="mailto:stefan@therp.nl">stefan@therp.nl</a>></li>
<li>Ronald Portier <<a class="reference external" href="mailto:ronald@therp.nl">ronald@therp.nl</a>></li>
<li>Sandy Carter <<a class="reference external" href="mailto:sandy.carter@savoirfairelinux.com">sandy.carter@savoirfairelinux.com</a>></li>
<li>Bruno Joliveau <<a class="reference external" href="mailto:bruno.joliveau@savoirfairelinux.com">bruno.joliveau@savoirfairelinux.com</a>></li>
<li>Adriana Ierfino <<a class="reference external" href="mailto:adriana.ierfino@savoirfairelinux.com">adriana.ierfino@savoirfairelinux.com</a>></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>