Browse Source

Hide inactive relations

pull/103/head
Sandy Carter 10 years ago
parent
commit
1cb76ba1cb
  1. 7
      partner_relations/model/res_partner.py
  2. 15
      partner_relations/model/res_partner_relation.py
  3. 12
      partner_relations/view/menu.xml
  4. 1
      partner_relations/view/res_partner.xml
  5. 55
      partner_relations/view/res_partner_relation.xml
  6. 3
      partner_relations/view/res_partner_relation_all.xml

7
partner_relations/model/res_partner.py

@ -37,8 +37,11 @@ class ResPartner(models.Model):
@api.one
@api.depends("relation_ids")
def _count_relations(self):
"""Count the number of relations this partner has for Smart Button"""
self.relation_count = len(self.relation_ids)
"""Count the number of relations this partner has for Smart Button
Don't count inactive relations.
"""
self.relation_count = len([r for r in self.relation_ids if r.active])
def _get_relation_ids_select(self, cr, uid, ids, field_name, arg,
context=None):

15
partner_relations/model/res_partner_relation.py

@ -44,24 +44,31 @@ class ResPartnerRelation(models.Model):
left_contact_type = fields.Selection(
lambda s: s.env['res.partner.relation.type']._get_partner_types(),
'Left Partner Type',
compute='_get_partner_type',
compute='_get_partner_type_any',
store=True,
)
right_contact_type = fields.Selection(
lambda s: s.env['res.partner.relation.type']._get_partner_types(),
'Right Partner Type',
compute='_get_partner_type',
compute='_get_partner_type_any',
store=True,
)
any_partner_id = fields.Many2one(
'res.partner',
string='Partner',
compute='_get_partner_type_any',
)
@api.one
@api.depends('left_partner_id', 'right_partner_id')
def _get_partner_type(self):
def _get_partner_type_any(self):
self.left_contact_type = get_partner_type(self.left_partner_id)
self.right_contact_type = get_partner_type(self.right_partner_id)
self.any_partner_id = self.left_partner_id + self.right_partner_id
def _on_right_partner(self, cr, uid, right_partner_id, context=None):
'''Determine wether functions are called in a situation where the
active partner is the right partner. Default False!

12
partner_relations/view/menu.xml

@ -1,15 +1,25 @@
<openerp>
<data>
<menuitem
id="menu_res_partner_relation_sales"
sequence="2"
parent="base.menu_sales"
action="action_res_partner_relation"
/>
<act_window
id="action_res_partner_relation_type"
res_model="res.partner.relation.type"
view_mode="tree,form"
name="Partner relations"
name="Partner Relations Types"
/>
<menuitem
id="menu_res_partner_relation_type"
parent="base.menu_config_address_book"
action="action_res_partner_relation_type"
/>
</data>
</openerp>

1
partner_relations/view/res_partner.xml

@ -27,6 +27,7 @@
<button class="oe_inline oe_stat_button"
type="action"
context="{
'search_default_active': True,
'search_default_left_partner_id': active_id,
'default_left_partner_id': active_id,
'active_model': 'res.partner',

55
partner_relations/view/res_partner_relation.xml

@ -25,32 +25,14 @@
>
<field
name="left_partner_id"
attrs="{
'readonly': [('type_selection_id','=',False)],
}"
options="{'create': false, 'create_edit': false}"
/>
<field
name="type_selection_id"
requiread="True"
context="{
'parent_model': 'res.partner',
'parent_id': parent.id,
}"
domain="[
'|',
('contact_type_this', '=', parent.is_company and 'c' or 'p'),
('contact_type_this', '=', False),
('search_partner_category_this', '=', parent.category_id),
]"
options="{'create': false, 'create_edit': false}"
on_change="on_change_type_selection_id(type_selection_id)"
/>
required="True"
options="{'create': false, 'create_edit': false}"/>
<field
name="right_partner_id"
attrs="{
'readonly': [('type_selection_id','=',False)],
}"
options="{'create': false, 'create_edit': false}"
/>
<field name="date_start" />
@ -60,6 +42,39 @@
</field>
</record>
<record id="search_res_partner_relation" model="ir.ui.view">
<field name="model">res.partner.relation</field>
<field name="arch" type="xml">
<search string="Search Relations">
<field name="any_partner_id"/>
<field name="left_partner_id"/>
<field name="right_partner_id"/>
<field name="type_id"/>
<field name="active"/>
<group expand="0" string="Group By">
<filter string="Left Partner" context="{'group_by': 'left_partner_id'}"/>
<filter string="Right Partner" context="{'group_by': 'right_partner_id'}"/>
<filter string="Relationship Type" context="{'group_by': 'type_id'}"/>
</group>
</search>
</field>
</record>
<record id="action_res_partner_relation" model="ir.actions.act_window">
<field name="name">Relations</field>
<field name="res_model">res.partner.relation</field>
<field name="view_type">form</field>
<field name="view_mode">tree</field>
<field name="view_id" ref="tree_res_partner_relation"/>
<field name="search_view_id" ref="search_res_partner_relation"/>
<field name="domain">[('active', '=', True)]</field>
<field name="help" type="html">
<p class="oe_view_nocontent_create">
Record and track your partners' relations. Relations may be linked to other partners with a type either directly or inversely.
</p>
</field>
</record>
<record id="action_show_right_relation_partners" model="ir.actions.server">
<field name="sequence" eval="5"/>
<field name="state">code</field>

3
partner_relations/view/res_partner_relation_all.xml

@ -62,6 +62,7 @@
<field name="this_partner_id"/>
<field name="other_partner_id"/>
<field name="type_id"/>
<field name="active"/>
<group expand="0" string="Group By">
<filter string="Other Partner" context="{'group_by': 'other_partner_id'}"/>
<filter string="Relationship Type" context="{'group_by': 'type_id'}"/>
@ -77,7 +78,7 @@
<field name="view_mode">tree</field>
<field name="view_id" ref="tree_res_partner_relation_all"/>
<field name="search_view_id" ref="search_res_partner_relation_all"/>
<field name="context">{"search_default_this_partner_id": active_id}</field>
<field name="domain">[('active', '=', True)]</field>
<field name="help" type="html">
<p class="oe_view_nocontent_create">
Record and track your partners' relations. Relations may be linked to other partners with a type either directly or inversely.

Loading…
Cancel
Save