From c3ee525bd08f87b0ae6ef9b6eb65e3cc58ab6474 Mon Sep 17 00:00:00 2001 From: jordan <jordan@le-filament.com> Date: Tue, 2 Nov 2021 12:13:36 +0100 Subject: [PATCH] [update] ur_id can only be changed in period --- models/res_partner.py | 1 + models/scop_period.py | 4 +++- views/res_partner.xml | 3 ++- views/scop_period_views.xml | 1 + wizard/scop_address_wizard.py | 14 ++++++++++++-- wizard/scop_address_wizard.xml | 1 + wizard/scop_period_wizard.py | 1 - wizard/scop_period_wizard.xml | 2 +- 8 files changed, 21 insertions(+), 6 deletions(-) diff --git a/models/res_partner.py b/models/res_partner.py index fbb3047..3125436 100644 --- a/models/res_partner.py +++ b/models/res_partner.py @@ -601,6 +601,7 @@ class ScopPartner(models.Model): 'state_id': partner.state_id.id, 'country_id': partner.country_id.id, 'naf_id': partner.naf_id.id, + 'ur_id': partner.ur_id.id, 'cae': partner.cae }) partner.scop_period_ids = new_period diff --git a/models/scop_period.py b/models/scop_period.py index 107299e..65043dd 100644 --- a/models/scop_period.py +++ b/models/scop_period.py @@ -59,6 +59,9 @@ class ScopPeriod(models.Model): 'res.partner.naf', string='Code NAF', on_delete='restrict') + ur_id = fields.Many2one( + comodel_name='union.regionale', + string='Union Régionale') cae = fields.Boolean("CAE") dissolution_reason_id = fields.Many2one( 'res.partner.dissolution.reason', @@ -70,7 +73,6 @@ class ScopPeriod(models.Model): related='partner_id.member_number', store=False) - # ------------------------------------------------------ # Override ORM # ------------------------------------------------------ diff --git a/views/res_partner.xml b/views/res_partner.xml index a6ab780..580588b 100644 --- a/views/res_partner.xml +++ b/views/res_partner.xml @@ -399,7 +399,7 @@ <field name="id_riga" groups="cgscop_partner.group_cg_administrator"/> </group> <group string="Suivi UR"> - <field name="ur_id" required="True" options="{'no_open': True, 'no_create': True}"/> + <field name="ur_id" readonly="1" options="{'no_open': True, 'no_create': True}"/> <field name="creation_delegate_id" 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" 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'))]}"/> @@ -656,6 +656,7 @@ <field name="state_id" invisible="1"/> <field name="country_id" invisible="1"/> <field name="naf_id"/> + <field name="ur_id"/> <field name="cae"/> </tree> </field> diff --git a/views/scop_period_views.xml b/views/scop_period_views.xml index 28c1184..d6712ae 100644 --- a/views/scop_period_views.xml +++ b/views/scop_period_views.xml @@ -44,6 +44,7 @@ <field name="state_id" invisible="1"/> <field name="country_id" invisible="1"/> <field name="naf_id" options="{'no_open': True, 'no_create': True}"/> + <field name="ur_id" options="{'no_open': True, 'no_create': True}"/> <field name="cae"/> </tree> </field> diff --git a/wizard/scop_address_wizard.py b/wizard/scop_address_wizard.py index 60ae4f4..8fa6b75 100644 --- a/wizard/scop_address_wizard.py +++ b/wizard/scop_address_wizard.py @@ -96,6 +96,11 @@ class ScopPeriodWizard(models.TransientModel): return self.env['res.partner'].browse( self.env.context.get('active_id')).cae + @api.model + def _default_ur_id(self): + return self.env['res.partner'].browse( + self.env.context.get('active_id')).ur_id + # Fields common partner_id = fields.Integer('Partner', default=_default_partner_id) @@ -151,7 +156,10 @@ class ScopPeriodWizard(models.TransientModel): string='Code NAF', on_delete='restrict', default=_default_naf_id) cae = fields.Boolean("CAE", default=_default_cae) - + ur_id = fields.Many2one( + comodel_name='union.regionale', + string='Union Régionale', + default=_default_ur_id) # Action @api.onchange('zip_id') @@ -228,7 +236,8 @@ class ScopPeriodWizard(models.TransientModel): 'state_id': period.state_id.id, 'country_id': period.country_id.id, 'naf_id': period.naf_id.id, - 'cae': period.cae + 'cae': period.cae, + 'ur_id': period.ur_id.id, } period_values.update(values) self.env['scop.period'].sudo().create(period_values) @@ -245,5 +254,6 @@ class ScopPeriodWizard(models.TransientModel): 'cedex': period.cedex, 'state_id': period.state_id.id, 'country_id': period.country_id.id, + 'ur_id': period.ur_id.id, }) partner.write(partner_values) diff --git a/wizard/scop_address_wizard.xml b/wizard/scop_address_wizard.xml index a27f4d6..a95d9f2 100644 --- a/wizard/scop_address_wizard.xml +++ b/wizard/scop_address_wizard.xml @@ -30,6 +30,7 @@ <field name="cedex" placeholder="Cedex" class="o_address_city"/> <field name="state_id" placeholder="État" invisible="1"/> <field name="country_id" placeholder="Pays" invisible="1"/> + <field name="ur_id" required="1" options="{'no_open': True, 'no_create': True}"/> </div> </group> </group> diff --git a/wizard/scop_period_wizard.py b/wizard/scop_period_wizard.py index d3ee865..cc71115 100644 --- a/wizard/scop_period_wizard.py +++ b/wizard/scop_period_wizard.py @@ -161,7 +161,6 @@ class ScopPeriodWizard(models.TransientModel): string='Union Régionale', default=_default_ur_id) - # Action @api.onchange('zip_id') def _onchange_zip_id(self): diff --git a/wizard/scop_period_wizard.xml b/wizard/scop_period_wizard.xml index 8907029..ec98893 100644 --- a/wizard/scop_period_wizard.xml +++ b/wizard/scop_period_wizard.xml @@ -30,7 +30,7 @@ <field name="cedex" placeholder="Cedex" class="o_address_city"/> <field name="state_id" placeholder="État" invisible="1"/> <field name="country_id" placeholder="Pays" invisible="1"/> - <field name="ur_id" required="1"/> + <field name="ur_id" required="1" options="{'no_open': True, 'no_create': True}"/> </div> </group> <group> -- GitLab