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. 24
      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' Name of this ID type. For example, 'Driver License'
Code: Code:
Code, abbreviation or acronym of this ID type. For example, 'driver_license' 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: Python validation code:
Optional python code called to validate ID numbers of this ID type. This functionality can be 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: 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', 'name': 'Partner Identification Numbers',
'category': 'Customer Relationship Management', 'category': 'Customer Relationship Management',
'version': '10.0.1.1.2',
'version': '10.0.1.2.0',
'depends': [ 'depends': [
'sales_team', 'sales_team',
], ],

10
partner_identification/models/res_partner_id_category.py

@ -39,6 +39,16 @@ class ResPartnerIdCategory(models.Model):
'Python validation code', 'Python validation code',
help="Python code called to validate an id number.", help="Python code called to validate an id number.",
default=_default_validation_code) 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 @api.multi
def _validation_eval_context(self, id_number): def _validation_eval_context(self, id_number):

17
partner_identification/views/res_partner_id_category_view.xml

@ -12,6 +12,7 @@
<group> <group>
<field name="name" /> <field name="name" />
<field name="code" /> <field name="code" />
<field name="company_type"/>
</group> </group>
</form> </form>
</field> </field>
@ -25,14 +26,30 @@
<tree string="Partner Identification Categories"> <tree string="Partner Identification Categories">
<field name="name"/> <field name="name"/>
<field name="code"/> <field name="code"/>
<field name="company_type"/>
</tree> </tree>
</field> </field>
</record> </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"> <record id="action_partner_id_category" model="ir.actions.act_window">
<field name="name">Partner ID Categories</field> <field name="name">Partner ID Categories</field>
<field name="res_model">res.partner.id_category</field> <field name="res_model">res.partner.id_category</field>
<field name="view_type">form</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> <field name="view_mode">tree,form</field>
</record> </record>

2
partner_identification/views/res_partner_id_number_view.xml

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

24
partner_identification/views/res_partner_view.xml

@ -10,10 +10,26 @@
<field name="priority" eval="10"/> <field name="priority" eval="10"/>
<field name="arch" type="xml"> <field name="arch" type="xml">
<page name='sales_purchases' position="after"> <page name='sales_purchases' position="after">
<page string="ID Numbers" name="id_numbers">
<field name="id_numbers" colspan="4" nolabel="1"
widget="one2many_list"/>
</page>
<page string="ID Numbers" name="id_numbers">
<field name="id_numbers" colspan="4" nolabel="1"
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> </page>
</field> </field>
</record> </record>

Loading…
Cancel
Save