diff --git a/models/res_partner.py b/models/res_partner.py index e555953f7ad9edc8728d7735f5e67b1141b5947f..fff95f6e3f96f712df2a4089fcb096443ba7bf6e 100644 --- a/models/res_partner.py +++ b/models/res_partner.py @@ -141,6 +141,20 @@ class ScopPartner(models.Model): column2='segment_id', string='Segmentation 4') + segment_1_nb = fields.Integer( + string="Nb de segments 1", + compute="_compute_segment_nb") + segment_2_nb = fields.Integer( + string="Nb de segments 2", + compute="_compute_segment_nb") + segment_3_nb = fields.Integer( + string="Nb de segments 3", + compute="_compute_segment_nb") + segment_4_nb = fields.Integer( + string="Nb de segments 4", + compute="_compute_segment_nb") + + # Infos générales / Infos activité creation_origin_id = fields.Many2one( 'res.partner.creation.origin', @@ -769,6 +783,26 @@ class ScopPartner(models.Model): partner.staff_last = lm[0].staff_count partner.staff_last_date = lm[0].effective_date + @api.multi + def _compute_segment_nb(self): + for partner in self: + # Calcul nombre de segment 1 + seg1 = partner.env['res.partner.segment1'].search([ + ('ur_id', '=', self.env.user.ur_id.id)]) + partner.segment_1_nb = len(seg1) + # Calcul nombre de segment 2 + seg2 = partner.env['res.partner.segment2'].search([ + ('ur_id', '=', self.env.user.ur_id.id)]) + partner.segment_2_nb = len(seg2) + # Calcul nombre de segment 3 + seg3 = partner.env['res.partner.segment3'].search([ + ('ur_id', '=', self.env.user.ur_id.id)]) + partner.segment_3_nb = len(seg3) + # Calcul nombre de segment 4 + seg4 = partner.env['res.partner.segment4'].search([ + ('ur_id', '=', self.env.user.ur_id.id)]) + partner.segment_4_nb = len(seg4) + # ------------------------------------------------------ # Button Action # ------------------------------------------------------ diff --git a/views/res_partner.xml b/views/res_partner.xml index b21b0bd37f760b0dd43fb526230e12c58167cef2..d7b9ee78bb2ad49ab92e4744a4f65e00bcb006f5 100644 --- a/views/res_partner.xml +++ b/views/res_partner.xml @@ -127,11 +127,16 @@ </field> <xpath expr='//form/sheet/group/group[2]' position="replace"> <group name="partner_segment_info" attrs="{'invisible': [('is_company', '=', False)]}"> + <field name="segment_1_nb" invisible="1"/> + <field name="segment_2_nb" invisible="1"/> + <field name="segment_3_nb" invisible="1"/> + <field name="segment_4_nb" invisible="1"/> + <field name="certification_ids" widget="many2many_tags" options="{'color_field': 'color', 'no_create': True}" attrs="{'invisible': [('is_company', '=', False)]}"/> - <field name="segment_1_id" widget="many2many_tags" options="{'color_field': 'color', 'no_create': True}" domain="[('ur_id', '=', ur_id)]"/> - <field name="segment_2_id" widget="many2many_tags" options="{'color_field': 'color', 'no_create': True}" domain="[('ur_id', '=', ur_id)]"/> - <field name="segment_3_id" widget="many2many_tags" options="{'color_field': 'color', 'no_create': True}" domain="[('ur_id', '=', ur_id)]"/> - <field name="segment_4_id" widget="many2many_tags" options="{'color_field': 'color', 'no_create': True}" domain="[('ur_id', '=', ur_id)]"/> + <field name="segment_1_id" widget="many2many_tags" options="{'color_field': 'color', 'no_create': True}" domain="[('ur_id', '=', ur_id)]" attrs="{'invisible':[('segment_1_nb', '=', 0)]}" /> + <field name="segment_2_id" widget="many2many_tags" options="{'color_field': 'color', 'no_create': True}" domain="[('ur_id', '=', ur_id)]" attrs="{'invisible':[('segment_2_nb', '=', 0)]}"/> + <field name="segment_3_id" widget="many2many_tags" options="{'color_field': 'color', 'no_create': True}" domain="[('ur_id', '=', ur_id)]" attrs="{'invisible':[('segment_3_nb', '=', 0)]}"/> + <field name="segment_4_id" widget="many2many_tags" options="{'color_field': 'color', 'no_create': True}" domain="[('ur_id', '=', ur_id)]" attrs="{'invisible':[('segment_4_nb', '=', 0)]}"/> <field name="organization_subtype_id" attrs="{'invisible': ['|', ('is_company','=', False), ('type', '!=', 'contact')]}" domain="[('child_ids', '=', False)]" options="{'no_create': True, 'no_open': True}"/> <field name="organization_type_id" readonly="1" attrs="{'invisible': ['|', ('is_company', '=', False), ('type', '!=', 'contact')]}" options="{'no_create': True, 'no_open': True}"/> <field name="followup_delegate_id" widget="res_partner_many2one" options="{'no_open': True, 'no_create': True}" domain="[('active', '=', True),('ur_id', '=', ur_id)]" attrs="{'invisible': ['|', ('is_company','=', False), ('type', '!=', 'contact')]}"/> @@ -360,10 +365,10 @@ attrs="{'required':[('project_status','in',('3_accompagnement','4_adhesion', '5_cg'))], 'invisible':[('project_status', 'in', '6_suivi')]}" options="{'no_open': True, 'no_create': True}" domain="[('ur_id', '=', ur_id)]"/> <field name="followup_delegate_id" widget="res_partner_many2one" options="{'no_open': True, 'no_create': True}" domain="[('active', '=', True),('ur_id', '=', ur_id)]" attrs="{'invisible': [('project_status', 'in', ('1_information', '2_pre-diagnostic', '3_accompagnement'))]}"/> <field name="support_delegate_id" widget="res_partner_many2one" options="{'no_open': True, 'no_create': True}" domain="[('active', '=', True),('ur_id', '=', ur_id)]" /> - <field name="segment_1_id" widget="many2many_tags" options="{'color_field': 'color', 'no_create': True}" domain="[('ur_id', '=', ur_id)]" attrs="{'invisible': [('project_status', 'in', ('1_information'))]}"/> - <field name="segment_2_id" widget="many2many_tags" options="{'color_field': 'color', 'no_create': True}" domain="[('ur_id', '=', ur_id)]" attrs="{'invisible': [('project_status', 'in', ('1_information'))]}"/> - <field name="segment_3_id" widget="many2many_tags" options="{'color_field': 'color', 'no_create': True}" domain="[('ur_id', '=', ur_id)]" attrs="{'invisible': [('project_status', 'in', ('1_information'))]}"/> - <field name="segment_4_id" widget="many2many_tags" options="{'color_field': 'color', 'no_create': True}" domain="[('ur_id', '=', ur_id)]" attrs="{'invisible': [('project_status', 'in', ('1_information'))]}"/> + <field name="segment_1_id" widget="many2many_tags" options="{'color_field': 'color', 'no_create': True}" domain="[('ur_id', '=', ur_id)]" attrs="{'invisible': ['|',('project_status', 'in', ('1_information')),('segment_1_nb', '=', 0)]}"/> + <field name="segment_2_id" widget="many2many_tags" options="{'color_field': 'color', 'no_create': True}" domain="[('ur_id', '=', ur_id)]" attrs="{'invisible': ['|',('project_status', 'in', ('1_information')),('segment_2_nb', '=', 0)]}"/> + <field name="segment_3_id" widget="many2many_tags" options="{'color_field': 'color', 'no_create': True}" domain="[('ur_id', '=', ur_id)]" attrs="{'invisible': ['|',('project_status', 'in', ('1_information')),('segment_3_nb', '=', 0)]}"/> + <field name="segment_4_id" widget="many2many_tags" options="{'color_field': 'color', 'no_create': True}" domain="[('ur_id', '=', ur_id)]" attrs="{'invisible': ['|',('project_status', 'in', ('1_information')),('segment_4_nb', '=', 0)]}"/> <field name="activity_federation_com" groups="cgscop_partner.group_federation_com" options="{'no_open': True, 'no_create': True}"/> <field name="activity_federation_indus" groups="cgscop_partner.group_federation_indus" options="{'no_open': True, 'no_create': True}"/> </group> diff --git a/wizard/__pycache__/scop_membership_period_wizard.cpython-36.pyc b/wizard/__pycache__/scop_membership_period_wizard.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..285385e56d452b9f9aaf2e2523fe65bd6e24b299 Binary files /dev/null and b/wizard/__pycache__/scop_membership_period_wizard.cpython-36.pyc differ diff --git a/wizard/__pycache__/scop_period_wizard.cpython-36.pyc b/wizard/__pycache__/scop_period_wizard.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..b03a6fb0dc0ca8999a9f5b03a0d4bdd6e59aba14 Binary files /dev/null and b/wizard/__pycache__/scop_period_wizard.cpython-36.pyc differ