Browse Source

[10.0][IMP] partner_contact_identification: Add Company Type filter

pull/751/head
Denis Roussel 6 years ago
parent
commit
3661b37ae6
  1. 2
      partner_identification/README.rst
  2. 2
      partner_identification/__manifest__.py
  3. 10
      partner_identification/models/res_partner_id_category.py
  4. 17
      partner_identification/views/res_partner_id_category_view.xml
  5. 2
      partner_identification/views/res_partner_id_number_view.xml
  6. 18
      partner_identification/views/res_partner_view.xml

2
partner_identification/README.rst

@ -34,6 +34,8 @@ Name:
Name of this ID type. For example, 'Driver License'
Code:
Code, abbreviation or acronym of this ID type. For example, 'driver_license'
Company Type:
Individual or Company. Allow to get relevant categories in Partner form.
Python validation code:
Optional python code called to validate ID numbers of this ID type. This functionality can be
overridden by setting ``id_no_validate`` to ``True`` in the context, such as:

2
partner_identification/__manifest__.py

@ -11,7 +11,7 @@
{
'name': 'Partner Identification Numbers',
'category': 'Customer Relationship Management',
'version': '10.0.1.1.2',
'version': '10.0.1.2.0',
'depends': [
'sales_team',
],

10
partner_identification/models/res_partner_id_category.py

@ -39,6 +39,16 @@ class ResPartnerIdCategory(models.Model):
'Python validation code',
help="Python code called to validate an id number.",
default=_default_validation_code)
company_type = fields.Selection(
selection=lambda self: self._get_company_type_selection(),
)
@api.model
def _get_company_type_selection(self):
return [
('person', 'Individual'),
('company', 'Company'),
]
@api.multi
def _validation_eval_context(self, id_number):

17
partner_identification/views/res_partner_id_category_view.xml

@ -12,6 +12,7 @@
<group>
<field name="name" />
<field name="code" />
<field name="company_type"/>
</group>
</form>
</field>
@ -25,14 +26,30 @@
<tree string="Partner Identification Categories">
<field name="name"/>
<field name="code"/>
<field name="company_type"/>
</tree>
</field>
</record>
<record id="view_partner_id_category_search" model="ir.ui.view">
<field name="name">res.partner.id_category.search</field>
<field name="model">res.partner.id_category</field>
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Partner Identification Categories">
<group expand="0" string="Group By...">
<filter name="group_by_company_type" string="Company Type"
domain="[]" context="{'group_by':'company_type'}"/>
</group>
</search>
</field>
</record>
<record id="action_partner_id_category" model="ir.actions.act_window">
<field name="name">Partner ID Categories</field>
<field name="res_model">res.partner.id_category</field>
<field name="view_type">form</field>
<field name="context" eval="{'search_default_group_by_company_type': 1}"/>
<field name="view_mode">tree,form</field>
</record>

2
partner_identification/views/res_partner_id_number_view.xml

@ -9,7 +9,7 @@
<field name="arch" type="xml">
<form string="Partner ID Numbers">
<group>
<field name="category_id" />
<field name="category_id"/>
<field name="name" />
<field name="partner_issued_id" />
<field name="date_issued" />

18
partner_identification/views/res_partner_view.xml

@ -12,7 +12,23 @@
<page name='sales_purchases' position="after">
<page string="ID Numbers" name="id_numbers">
<field name="id_numbers" colspan="4" nolabel="1"
widget="one2many_list"/>
widget="one2many_list">
<form string="Partner ID Numbers">
<group>
<field name="category_id"
domain="['|', ('company_type', '=', False), '&amp;', ('company_type', '!=', False), ('company_type', '=', parent.company_type)]"/>
<field name="name" />
<field name="partner_issued_id" />
<field name="date_issued" />
<field name="place_issuance" />
<field name="valid_from" />
<field name="valid_until" />
<field name="status" />
</group>
<separator colspan="4" string="Notes"/>
<field name="comment" colspan="4" nolabel="1"/>
</form>
</field>
</page>
</page>
</field>

Loading…
Cancel
Save