diff --git a/models/res_partner.py b/models/res_partner.py
index 55afc7f63ca3971c29e6cdab13a9688d82859a82..cc6dad383ea57bdf5f8c3050b6d2190e3ab72337 100644
--- a/models/res_partner.py
+++ b/models/res_partner.py
@@ -181,6 +181,10 @@ class ScopPartner(models.Model):
domain=[('active', '=', True), ('is_company', '=', True),
('organization_subtype_id.name', '=', 'Incubateur')],
on_delete='restrict')
+ is_accountant = fields.Boolean(
+ "Est un Expert-comptable")
+ is_auditor = fields.Boolean(
+ "Est un Commissaire au compte")
# Contacts
director_ids = fields.One2many(
@@ -400,8 +404,47 @@ class ScopPartner(models.Model):
@api.onchange('organization_type_id')
def onchange_organization_type_id(self):
for partner in self:
- partner.organization_subtype_id = False
+ if not partner.organization_type_id:
+ partner.organization_subtype_id = False
+ @api.onchange('is_accountant')
+ def onchange_is_accountant(self):
+ for partner in self:
+ if partner.is_accountant and partner.is_auditor:
+ orga_sub = self.env['res.partner.organization.type'].search([
+ ('name', '=', 'Organisme réviseur, ' +
+ 'Expert-comptable / Commissaire au compte')])
+ partner.organization_subtype_id = orga_sub.id
+ elif partner.is_accountant:
+ orga_sub = self.env['res.partner.organization.type'].search([
+ ('name', '=', 'Expert-Comptable')])
+ partner.organization_subtype_id = orga_sub.id
+ elif partner.is_auditor:
+ orga_sub = self.env['res.partner.organization.type'].search([
+ ('name', '=', 'Commissaire au compte')])
+ partner.organization_subtype_id = orga_sub.id
+ else:
+ partner.organization_subtype_id = False
+
+ @api.onchange('is_auditor')
+ def onchange_is_auditor(self):
+ for partner in self:
+ if partner.is_accountant and partner.is_auditor:
+ orga_sub = self.env['res.partner.organization.type'].search([
+ ('name', '=', 'Organisme réviseur, ' +
+ 'Expert-comptable / Commissaire au compte')])
+ partner.organization_subtype_id = orga_sub.id
+ elif partner.is_auditor:
+ orga_sub = self.env['res.partner.organization.type'].search([
+ ('name', '=', 'Commissaire au compte')])
+ partner.organization_subtype_id = orga_sub.id
+ elif partner.is_accountant:
+ orga_sub = self.env['res.partner.organization.type'].search([
+ ('name', '=', 'Expert-Comptable')])
+ partner.organization_subtype_id = orga_sub.id
+ else:
+ partner.organization_subtype_id = False
+
@api.onchange('name')
def onchange_name(self):
if self.search_count([('name', '=ilike', self.name)]) > 0:
@@ -541,7 +584,6 @@ class ScopPartner(models.Model):
def _search_current_user_ur_id(self, operator, value):
return [('ur_id', '=', self.env.user.company_id.ur_id.id)]
-
@api.multi
def scop_send_to_cg(self):
self.write({
diff --git a/views/res_partner.xml b/views/res_partner.xml
index 138a9ee128801c37e2dcb44b91e0e62b1bf3b0db..93e8332e254a17c230b1d2ee3bb2eed90a797ff4 100644
--- a/views/res_partner.xml
+++ b/views/res_partner.xml
@@ -72,6 +72,8 @@
<field name="segment_2_id" widget="many2many_tags" options="{'color_field': 'color', 'no_create_edit': True}" domain="[('ur_id', '=', ur_id)]"/>
<field name="segment_3_id" widget="many2many_tags" options="{'color_field': 'color', 'no_create_edit': True}" domain="[('ur_id', '=', ur_id)]"/>
<field name="segment_4_id" widget="many2many_tags" options="{'color_field': 'color', 'no_create_edit': True}" domain="[('ur_id', '=', ur_id)]"/>
+ <field name="is_accountant" attrs="{'invisible': ['|', ('is_company','=', False), ('is_auditor','=', True)]}"/>
+ <field name="is_auditor" attrs="{'invisible': ['|', ('is_company','=', False), ('is_accountant','=', True)]}"/>
<field name="organization_type_id" attrs="{'invisible': [('is_company','=', False)]}" options="{'no_create': True}"/>
<field name="organization_subtype_id" attrs="{'invisible': [('is_company','=', False)]}" domain="[('parent_id', '=', organization_type_id), ('child_ids', '=', False)]" options="{'no_create': True}"/>
</group>
diff --git a/views/res_partner_cooperative.xml b/views/res_partner_cooperative.xml
index c5915d81c7f27a44d01250e6ea95aba814c464ba..161bb47b180b6eb3a56f0a7874c072dc26b6cc52 100644
--- a/views/res_partner_cooperative.xml
+++ b/views/res_partner_cooperative.xml
@@ -261,6 +261,8 @@
<field name="seed_end" attrs="{'invisible': [('is_seed_scop', '!=', True)], 'required':[('project_status','in',('4_adhesion', '5_cg', '6_suivi')),('is_seed_scop', '=', True)]}"/>
<field name="is_incubated" attrs="{'invisible': [('project_status', '=', '1_information')]}"/>
<field name="incubator_id" widget="res_partner_many2one" attrs="{'invisible': [('is_incubated', '!=', True)]}" options="{'no_create': True}"/>
+ <field name="is_accountant"/>
+ <field name="is_auditor"/>
</group>
</group>
<notebook colspan="4">
@@ -695,7 +697,7 @@
<field name="name">Tous les Organismes</field>
<field name="res_model">res.partner</field>
<field name="view_type">form</field>
- <field name="view_mode">tree,form</field>
+ <field name="view_mode">tree,form,activity</field>
<field name="search_view_id" ref="scop_partner_view_search"/>
<field name="domain" eval="[('is_cooperative', '=', True)]"/>
<field name="view_ids" eval="[(5, 0, 0),