diff --git a/migrations/14.0.1.0.2/post-migration.py b/migrations/14.0.1.0.2/post-migration.py index fb707595fa9b0b2d9555b6e64e5e121177f47421..497ab3b596fd93011588bfb6e46a91e4407b4fd7 100644 --- a/migrations/14.0.1.0.2/post-migration.py +++ b/migrations/14.0.1.0.2/post-migration.py @@ -9,8 +9,6 @@ _logger = logging.getLogger(__name__) def update_status_project_accompagnement(env): - # Todo: Voir si on passe à Suivi ou Accompagnement et si on passe à Phase adhésion - # Confirmation docs à avoir openupgrade.logged_query( env.cr, """ @@ -51,6 +49,3 @@ def migrate(env, version): update_status_project_accompagnement(env) update_status_project_soumis_cg(env) update_with_new_status(env) - # update_status_project_suivi(env) - # update_status_project_abandonne(env) - # update_status_decede(env) diff --git a/models/res_partner.py b/models/res_partner.py index e6249c900804f99da756798116bea8f689517116..9a066286ad74d0b0f3d4282465accefc4f43c477 100644 --- a/models/res_partner.py +++ b/models/res_partner.py @@ -311,6 +311,7 @@ class ScopPartner(models.Model): ondelete="restrict", ) is_ag_constitution = fields.Boolean("AG constitutive réalisée") + # is_registration_in_progress = fields.Boolean("AG constitutive réalisée") is_federation_com = fields.Boolean( string="Fédération de la Communication", compute="_compute_federation", @@ -576,6 +577,19 @@ class ScopPartner(models.Model): elif self.search_count([("siret", "=", self.siret)]) > 1: raise ValidationError(_("Ce SIRET existe déjà")) + @api.constrains("is_company", "type", "email", "phone", "mobile", "user_ids") + def _check_contact_info(self): + # Contrainte de tel ou mail lors de la modification d'un contact + if ( + not self.is_company + and self.type == "contact" + and not self.user_ids + ): + if not self.email and not self.phone and not self.mobile: + raise UserError( + _("Vous devez saisir au moins un e-mail ou un téléphone pour %s") % self.name + ) + # ------------------------------------------------------ # Actions # ------------------------------------------------------ @@ -787,21 +801,6 @@ class ScopPartner(models.Model): ) for partner in self: - # Contrainte de tel ou mail lors de la modification d'un contact - if ( - not partner.is_company - and partner.type == "contact" - and not partner.user_ids - ): - if not partner.email and not partner.phone and not partner.mobile: - raise ValidationError( - _( - "Vous devez saisir au moins un e-mail ou un téléphone\ - pour " - + partner.name - ) - ) - # Création d'une période lors du changement de statut en Suivi # Todo: A voir si le statut reste à celui là if vals.get("project_status") == "4_suivi" and not self.env.context.get( diff --git a/models/res_partner_lists.py b/models/res_partner_lists.py index ee63c0d499fff3c375d0f06bd1dc86de35c92ee6..14123d59b266dc0bbfea61d2e49781393590ce53 100644 --- a/models/res_partner_lists.py +++ b/models/res_partner_lists.py @@ -30,6 +30,11 @@ class ResPartnerCooperativeForm(models.Model): name = fields.Char("Forme Coopérative") id_riga = fields.Integer("ID RIGA") + def _get_lm_form(self): + type_lm = self.env.ref("cgscop_partner.form_scop") + type_lamaneur = self.env.ref("cgscop_partner.form_lamaneur") + type_unionscop = self.env.ref("cgscop_partner.form_unionscop") + return type_lm + type_lamaneur + type_unionscop class ResPartnerCreationOrigin(models.Model): _name = "res.partner.creation.origin" diff --git a/views/res_partner.xml b/views/res_partner.xml index 754dd2aaddf30206f4c07f19bcddecdf3217b538..8f5ee117e8840dfaef1e2354e917732210c0beec 100644 --- a/views/res_partner.xml +++ b/views/res_partner.xml @@ -1094,13 +1094,13 @@ <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_suivi')), ('is_ag_constitution', '=', True), ('is_cooperative', '=', True), ('cooperative_form_id', '!=', %(cgscop_partner.form_noncooperative)d)], + 'invisible': ['|', '&', ('project_status', 'in', ('1_information', '2_pre-diagnostic',)), ('is_ag_constitution', '!=', True), ('cooperative_form_id', '=', %(cgscop_partner.form_noncooperative)d)], + 'required': [('project_status', 'not in', ('4_suivi')), ('is_ag_constitution', '=', True), ('is_cooperative', '=', True), ('cooperative_form_id', '!=', %(cgscop_partner.form_noncooperative)d)], 'readonly': [('id','!=',False), ('project_status', '=', '4_suivi'), ('is_administrative', '!=', True)]}" /> <field name="registration_date" - attrs="{'invisible': [('project_status', 'in', ('1_information', '2_pre-diagnostic', '3_accompagnement'))]}" + attrs="{'invisible': [('project_status', 'in', ('1_information', '2_pre-diagnostic',))]}" /> <field name="social_object" @@ -1108,69 +1108,69 @@ /> <field name="naf_id" - attrs="{'readonly': [('write_date', '!=', False), ('project_status', '=', '4_suivi')], 'required':[('write_date', '=', False), ('project_status', '=', '4_suivi')], 'invisible': [('project_status', 'in', ('1_information', '2_pre-diagnostic', '3_accompagnement'))]}" + attrs="{'readonly': [('write_date', '!=', False), ('project_status', '=', '4_suivi')], 'required':[('write_date', '=', False), ('project_status', '=', '4_suivi')], 'invisible': [('project_status', 'in', ('1_information', '2_pre-diagnostic',))]}" options="{'no_open': True, 'no_create': True}" /> <field name="certification_ids" widget="many2many_tags" options="{'color_field': 'color', 'no_create': True}" - attrs="{'invisible': [('project_status', 'in', ('1_information', '2_pre-diagnostic', '3_accompagnement'))]}" + attrs="{'invisible': [('project_status', 'in', ('1_information', '2_pre-diagnostic',))]}" /> <field name="other_certification" - attrs="{'invisible': [('project_status', 'in', ('1_information', '2_pre-diagnostic', '3_accompagnement'))]}" + attrs="{'invisible': [('project_status', 'in', ('1_information', '2_pre-diagnostic',))]}" /> <label for='siret' string="SIRET" class="oe_edit_only" - attrs="{'invisible': [('project_status', 'in', ('1_information', '2_pre-diagnostic', '3_accompagnement'))]}" + attrs="{'invisible': [('project_status', 'in', ('1_information', '2_pre-diagnostic',))]}" /> <div> <field name="siret" class="oe_edit_only" - attrs="{'readonly': [('write_date', '!=', False), ('project_status', '=', '4_suivi')], 'required':[('write_date', '=', False), ('project_status', '=', '4_suivi')], 'invisible': [('project_status', 'in', ('1_information', '2_pre-diagnostic', '3_accompagnement'))]}" + attrs="{'readonly': [('write_date', '!=', False), ('project_status', '=', '4_suivi')], 'required':[('write_date', '=', False), ('project_status', '=', '4_suivi')], 'invisible': [('project_status', 'in', ('1_information', '2_pre-diagnostic',))]}" /> </div> <label for='formatted_siret' string="SIRET" class="oe_read_only" - attrs="{'invisible': [('project_status', 'in', ('1_information', '2_pre-diagnostic', '3_accompagnement'))]}" + attrs="{'invisible': [('project_status', 'in', ('1_information', '2_pre-diagnostic',))]}" /> <div> <field name="formatted_siret" class="oe_read_only" - attrs="{'invisible': [('project_status', 'in', ('1_information', '2_pre-diagnostic', '3_accompagnement'))]}" + attrs="{'invisible': [('project_status', 'in', ('1_information', '2_pre-diagnostic',))]}" /> </div> <field name="siren" readonly="1" - attrs="{'invisible': [('project_status', 'in', ('1_information', '2_pre-diagnostic', '3_accompagnement'))]}" + attrs="{'invisible': [('project_status', 'in', ('1_information', '2_pre-diagnostic',))]}" /> <field name="vat" - attrs="{'invisible': [('project_status', 'in', ('1_information', '2_pre-diagnostic', '3_accompagnement'))]}" + attrs="{'invisible': [('project_status', 'in', ('1_information', '2_pre-diagnostic',))]}" /> <field name="capital" - attrs="{'required':[('project_status','in',('4_suivi'))], 'invisible': [('project_status', 'in', ('1_information', '2_pre-diagnostic', '3_accompagnement'))],}" + attrs="{'required':[('project_status','in',('4_suivi'))], 'invisible': [('project_status', 'in', ('1_information', '2_pre-diagnostic',))],}" widget="monetary" /> <field name="first_closeout" attrs="{ 'required':[('is_cooperative', '!=', False), ('project_status', '=', '4_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)], + 'invisible': ['|', ('project_status', 'in', ('1_information', '2_pre-diagnostic',)), ('cooperative_form_id', '=', %(cgscop_partner.form_noncooperative)d)], 'readonly': [('id','!=',False), ('project_status', '=', '4_suivi'), ('is_administrative', '!=', True)]}" /> <field name="closeout_month" - attrs="{'required':[('project_status','=','4_suivi')], 'invisible': [('project_status', 'in', ('1_information', '2_pre-diagnostic', '3_accompagnement'))]}" + attrs="{'required':[('project_status','=','4_suivi')], 'invisible': [('project_status', 'in', ('1_information', '2_pre-diagnostic',))]}" /> <field name="is_seed_scop" @@ -1191,11 +1191,11 @@ /> <field name="staff_last" - attrs="{'invisible': [('project_status', 'not in', ('4_suivi'))]}" + attrs="{'invisible': [('project_status', 'in', ('1_information', '2_pre-diagnostic', '3_accompagnement'))]}" /> <field name="staff_last_date" - attrs="{'invisible': [('project_status', 'not in', ('4_suivi'))]}" + attrs="{'invisible': [('project_status', 'in', ('1_information', '2_pre-diagnostic', '3_accompagnement'))]}" /> </group> </group>