diff --git a/models/res_partner.py b/models/res_partner.py index 066462af87907e67e9edbd47665458fe1112d087..9cc3d990a3ef986a921331b42b83a8278355d3b6 100644 --- a/models/res_partner.py +++ b/models/res_partner.py @@ -404,6 +404,10 @@ class ScopPartner(models.Model): domain=[('child_ids', '=', False)], on_delete='restrict', track_visibility='onchange') + + # Droits utilisateurs + is_administrative = fields.Boolean(compute='_compute_is_administrative') + # Hack pour la création de contacts depuis la fiche organisme parent_id_onchange = fields.Many2one('res.partner') @@ -840,6 +844,13 @@ class ScopPartner(models.Model): else: partner.organization_type_id = False + def _compute_is_administrative(self): + for partner in self: + if self.env.user.has_group('cgscop_partner.group_cg_administrative'): + partner.is_administrative = True + else: + partner.is_administrative = False + # ------------------------------------------------------ # Button Action # ------------------------------------------------------ diff --git a/views/res_partner.xml b/views/res_partner.xml index 45d9d91fb954492d68b17a520689d31bc21c613e..1d0dd4e67d0d228f4639579f90ddcf388f559e76 100644 --- a/views/res_partner.xml +++ b/views/res_partner.xml @@ -409,10 +409,15 @@ <field name="activity_federation_indus_ids" groups="cgscop_partner.group_federation_indus" options="{'no_open': True, 'no_create': True}" attrs="{'invisible': [('is_federation_indus', '!=', True)]}" widget="many2many_tags"/> </group> <group string="Informations Activité"> + <field name="is_administrative" invisible="1"/> <field name="creation_origin_id" attrs="{'invisible': [('cooperative_form_id', '=', %(cgscop_partner.form_noncooperative)d)], 'required': [('is_cooperative', '=', True), ('cooperative_form_id', '!=', %(cgscop_partner.form_noncooperative)d)]}" options="{'no_open': True, 'no_create': True}"/> <field name="creation_suborigin_id" domain="[('parent_id', '=', creation_origin_id), ('child_ids', '=', False)]" options="{'no_open': True, 'no_create': True}" attrs="{'invisible': [('cooperative_form_id', '=', %(cgscop_partner.form_noncooperative)d)]}" /> <field name="is_ag_constitution" attrs="{'invisible': ['|', ('project_status', '!=', '3_accompagnement'), ('cooperative_form_id', '=', %(cgscop_partner.form_noncooperative)d)]}"/> - <field name="date_1st_sign" attrs="{'invisible': ['|', '&', ('project_status', 'in', ('1_information', '2_pre-diagnostic', '3_accompagnement')), ('is_ag_constitution', '!=', True), ('cooperative_form_id', '=', %(cgscop_partner.form_noncooperative)d)], 'required': ['|', ('project_status', 'in', ('4_adhesion', '5_cg', '6_suivi')), ('is_ag_constitution', '=', True), ('is_cooperative', '=', True), ('cooperative_form_id', '!=', %(cgscop_partner.form_noncooperative)d)]}"/> + <field name="date_1st_sign" + attrs="{ + 'invisible': ['|', '&', ('project_status', 'in', ('1_information', '2_pre-diagnostic', '3_accompagnement')), ('is_ag_constitution', '!=', True), ('cooperative_form_id', '=', %(cgscop_partner.form_noncooperative)d)], + 'required': ['|', ('project_status', 'in', ('4_adhesion', '5_cg', '6_suivi')), ('is_ag_constitution', '=', True), ('is_cooperative', '=', True), ('cooperative_form_id', '!=', %(cgscop_partner.form_noncooperative)d)], + 'readonly': [('project_status', '=', '6_suivi'), ('is_administrative', '!=', True)]}"/> <field name="registration_date" attrs="{'invisible': [('project_status', 'in', ('1_information', '2_pre-diagnostic', '3_accompagnement'))]}"/> <field name="social_object" attrs="{'required': [('is_cooperative', '=', True), ('project_status','in',('2_pre-diagnostic', '3_accompagnement','4_adhesion', '5_cg', '6_suivi'))]}"/> <field name="naf_id" attrs="{'readonly': [('write_date', '!=', False), ('project_status', '=', '6_suivi')], 'required':['|', ('project_status','in',('4_adhesion', '5_cg'), '&', ('write_date', '=', False), ('project_status', '=', '6_suivi'))], 'invisible': [('project_status', 'in', ('1_information', '2_pre-diagnostic', '3_accompagnement'))]}" options="{'no_open': True, 'no_create': True}"/> @@ -426,8 +431,11 @@ <field name="formatted_siret" class="oe_read_only" attrs="{'invisible': [('project_status', 'in', ('1_information', '2_pre-diagnostic', '3_accompagnement'))]}"/> </div> <field name="siren" readonly="1" attrs="{'invisible': [('project_status', 'in', ('1_information', '2_pre-diagnostic', '3_accompagnement'))]}"/> - <field name="capital" attrs="{'required':[('project_status','in',('4_adhesion', '5_cg', '6_suivi'))], 'invisible': [('project_status', 'in', ('1_information', '2_pre-diagnostic', '3_accompagnement'))]}" widget="monetary"/> - <field name="first_closeout" attrs="{'required':[('is_cooperative', '!=', False), ('project_status', 'in', ('4_adhesion', '5_cg', '6_suivi')), ('cooperative_form_id', '!=', %(cgscop_partner.form_noncooperative)d)], 'invisible': ['|', ('project_status', 'in', ('1_information', '2_pre-diagnostic', '3_accompagnement')), ('cooperative_form_id', '=', %(cgscop_partner.form_noncooperative)d)]}"/> + <field name="capital" attrs="{'required':[('project_status','in',('4_adhesion', '5_cg', '6_suivi'))], 'invisible': [('project_status', 'in', ('1_information', '2_pre-diagnostic', '3_accompagnement'))],}" widget="monetary"/> + <field name="first_closeout" attrs="{ + 'required':[('is_cooperative', '!=', False), ('project_status', 'in', ('4_adhesion', '5_cg', '6_suivi')), ('cooperative_form_id', '!=', %(cgscop_partner.form_noncooperative)d)], + 'invisible': ['|', ('project_status', 'in', ('1_information', '2_pre-diagnostic', '3_accompagnement')), ('cooperative_form_id', '=', %(cgscop_partner.form_noncooperative)d)], + 'readonly': [('project_status', '=', '6_suivi'), ('is_administrative', '!=', True)]}"/> <field name="closeout_month" attrs="{'required':[('project_status','in',('4_adhesion', '5_cg', '6_suivi'))], 'invisible': [('project_status', 'in', ('1_information', '2_pre-diagnostic', '3_accompagnement'))]}"/> <field name="is_seed_scop" attrs="{'invisible': [('project_status', '=', '1_information')]}"/> <field name="seed_end" attrs="{'invisible': [('is_seed_scop', '!=', True)], 'required':[('project_status','in',('4_adhesion', '5_cg', '6_suivi')),('is_seed_scop', '=', True)]}"/> @@ -689,7 +697,6 @@ </field> </record> - <!-- ****************************** *** Custom Views ****************************** -->