diff --git a/models/res_partner.py b/models/res_partner.py index f428f093146f3035a1b9a161d8212d0b946bc7db..278874b8b5b55836acc90b759a0a2e6b495e6fed 100644 --- a/models/res_partner.py +++ b/models/res_partner.py @@ -311,7 +311,9 @@ 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_registration_in_progress = fields.Boolean( + string="En cours d'immatriculation", default=False + ) is_federation_com = fields.Boolean( string="Fédération de la Communication", compute="_compute_federation", @@ -570,7 +572,7 @@ class ScopPartner(models.Model): def _check_siret(self): if self.siret and not self.env.context.get("import_file"): siren = self.siret[:3] + " " + self.siret[3:6] + " " + self.siret[6:9] - if not self.siret.isdigit(): + if not self.siret.isdigit() and self.siret != "En attente d'immatriculation": raise ValidationError(_("Ce SIRET n'est pas valide")) if len(self.siret) != 14: raise ValidationError(_("La longueur du SIRET doit être égale à 14")) @@ -752,7 +754,11 @@ class ScopPartner(models.Model): "name": partner.name, "cooperative_form_id": partner.cooperative_form_id.id, "partner_company_type_id": partner.partner_company_type_id.id, - "siret": partner.siret, + "siret": ( + partner.siret + if partner.siret or not partner.is_registration_in_progress + else "En attente d'immatriculation" + ), "street": partner.street, "street2": partner.street2, "street3": partner.street3, @@ -1197,32 +1203,9 @@ class ScopPartner(models.Model): # ------------------------------------------------------ # Button & Action # ------------------------------------------------------ - def scop_send_to_cg(self): - # Todo: A vérifier pour le statut suivi car déjà en statut suivi normalement - self.write( - { - "project_status": "4_suivi", - "membership_status": "soumis_cg", - } - ) - return True - def partner_archive(self): self.active = False - def scop_valid_cg_button(self): - self.ensure_one() - self.scop_valid_cg() - - def scop_valid_cg(self): - # Todo: A confirmer qu'on passe bien au statut member? - self.write( - { - "membership_status": "member", - } - ) - return True - def scop_prj_adhesion(self): self.write({"membership_status": "adhesion"}) return True diff --git a/models/scop_partner_staff.py b/models/scop_partner_staff.py index 0c736a6a647ed9107de45b6674b72c1cbb82905b..59e492151050f530aa0f7ffab139efabbe6669ff 100644 --- a/models/scop_partner_staff.py +++ b/models/scop_partner_staff.py @@ -67,6 +67,7 @@ class ScopPartnerStaff(models.Model): [ ("questionnaire", "Questionnaire"), ("questionnaire_inscription", "Questionnaire Inscription"), + ("membership", "Adhésion"), ("regul_ur", "Régularisation UR"), ("regul_cg", "Régularisation CG"), ("regul_diane", "Régularisation Diane"), diff --git a/models/scop_period.py b/models/scop_period.py index cadb5174e9422360763fc04159ecf939d0b8c79f..f52de721174657e995e4270dc00c25bf7e5870fc 100644 --- a/models/scop_period.py +++ b/models/scop_period.py @@ -33,6 +33,7 @@ class ScopPeriod(models.Model): ("acti", "Changement d'activité (NAF)"), ("adr", "Changement d'adresse"), ("nom", "Changement de dénomination sociale"), + ("registration", "Immatriculation"), ("dreets", "Radiation DREETS"), ("deces", "Décès"), ("autr", "Autres"), diff --git a/views/res_partner.xml b/views/res_partner.xml index da058493afbd32639994ea5464c130d8d81a3d01..6291d3fce990b9c362657f7bb5a5586729f02bd1 100644 --- a/views/res_partner.xml +++ b/views/res_partner.xml @@ -598,7 +598,7 @@ type="action" name="%(cgscop_partner.scop_period_wizard_create_action)d" class="oe_highlight" - attrs="{'invisible': ['|', ('write_date', '=', False), ('project_status', '!=', '4_suivi')]}" + attrs="{'invisible': [('project_status', '!=', '4_suivi')]}" groups="cgscop_partner.group_add_period" /> <button @@ -606,45 +606,30 @@ type="action" name="%(cgscop_partner.scop_address_wizard_action)d" class="oe_highlight" - attrs="{'invisible': ['|', ('write_date', '=', False), ('project_status', '!=', '4_suivi')]}" + attrs="{'invisible': [('project_status', '!=', '4_suivi')]}" /> <button string="Nouvelle période d'adhésion" type="action" name="%(cgscop_partner.scop_membership_period_wizard_create_action)d" class="oe_highlight" - attrs="{'invisible': ['|', ('write_date', '=', False), ('project_status', '!=', '4_suivi')]}" + attrs="{'invisible': ['|', ('project_status', '!=', '4_suivi'), ('membership_status', '!=', 'member')]}" groups="cgscop_partner.group_add_period" /> <button string="Décès/Mise en sommeil" type="action" name="%(cgscop_partner.scop_deces_wizard_create_action)d" - attrs="{'invisible': ['|', ('dissolution_reason_id', '!=', False), '|', ('write_date', '=', False), ('project_status', '!=', '4_suivi')]}" + attrs="{'invisible': ['|', ('dissolution_reason_id', '!=', False), ('project_status', '!=', '4_suivi')]}" groups="cgscop_partner.group_add_period" /> <button string="Radiation" type="action" name="%(cgscop_partner.scop_membership_out_wizard_create_action)d" - attrs="{'invisible': ['|', ('write_date', '=', False), ('project_status', '!=', '4_suivi')]}" + attrs="{'invisible': [('project_status', '!=', '4_suivi')]}" groups="cgscop_partner.group_add_period" /> - <button - string="Envoyer Dossier CG" - type="object" - name="scop_send_to_cg" - class="btn-primary" - attrs="{'invisible': ['|', ('write_date', '=', False), ('membership_status', '!=', 'adhesion')]}" - /> - <button - string="Dossier créé CG" - type="object" - name="scop_valid_cg_button" - class="btn-primary" - attrs="{'invisible': ['|', ('write_date', '=', False), ('membership_status', '!=', 'soumis_cg')]}" - groups="cgscop_partner.group_cg_administrator" - /> <button string="Prospect Abandonne" type="object" @@ -723,7 +708,7 @@ default_focus="1" required="1" placeholder="Raison Sociale" - attrs="{'readonly': [('write_date', '!=', False), ('project_status', '=', '4_suivi'), ('is_cooperative', '=', True)]}" + attrs="{'readonly': [('project_status', '=', '4_suivi'), ('is_cooperative', '=', True)]}" /> <button style="margin: -50px 0px 0px" @@ -741,7 +726,7 @@ <field class="o_field_header" name="cooperative_form_id" - attrs="{'readonly': [('write_date', '!=', False), ('project_status', '=', '4_suivi')], 'required': ['|', ('project_status','in',('2_pre-diagnostic', '3_accompagnement')), '&', ('write_date', '=', False), ('project_status', '=', '4_suivi')]}" + attrs="{'readonly': [('project_status', '=', '4_suivi')], 'required': [('project_status','in',('2_pre-diagnostic', '3_accompagnement', '4_suivi'))]}" options="{'no_open': True, 'no_create': True}" placeholder="Forme Coopérative" /> @@ -752,7 +737,7 @@ options="{'no_open': True, 'no_create': True}" domain="[('is_coop', '=', True)]" name="partner_company_type_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'))]}" + attrs="{'readonly': [('project_status', '=', '4_suivi')], 'required': [('project_status', 'in', ('3_accompagnement', '4_suivi'))], 'invisible': [('project_status', 'in', ('1_information', '2_pre-diagnostic'))]}" placeholder="Statut Juridique" /> </h3> @@ -782,7 +767,7 @@ <field name="cae" class="oe_edit_only" - attrs="{'readonly': [('write_date', '!=', False), ('project_status', '=', '4_suivi')]}" + attrs="{'readonly': [('project_status', '=', '4_suivi')]}" /> </h3> <field name="user_id" invisible="1" /> @@ -810,47 +795,47 @@ name="street" placeholder="Rue..." class="o_address_street" - attrs="{'readonly': [('type', '!=', 'facility'), ('write_date', '!=', False), ('project_status', '=', '4_suivi')], 'required':[('write_date', '=', False), ('project_status', '=', '4_suivi')]}" + attrs="{'readonly': [('type', '!=', 'facility'), ('project_status', '=', '4_suivi')], 'required':[('project_status', 'in', ('3_accompagnement', '4_suivi'))]}" /> <field name="street2" placeholder="Rue 2..." class="o_address_street" - attrs="{'readonly': [('type', '!=', 'facility'), ('write_date', '!=', False), ('project_status', '=', '4_suivi')]}" + attrs="{'readonly': [('type', '!=', 'facility'), ('project_status', '=', '4_suivi')]}" /> <field name="street3" placeholder="Rue 3..." class="o_address_street" - attrs="{'readonly': [('type', '!=', 'facility'), ('write_date', '!=', False), ('project_status', '=', '4_suivi')]}" + attrs="{'readonly': [('type', '!=', 'facility'), ('project_status', '=', '4_suivi')]}" /> <field name="zip_id" options="{'create_name_field': 'city', 'no_open': True, 'no_create': True}" placeholder="CP / Ville autocomplétion..." class="oe_edit_only" - attrs="{'readonly': [('write_date', '!=', False), ('project_status', '=', '4_suivi')]}" + attrs="{'readonly': [('project_status', '=', '4_suivi')]}" /> <field name="zip" placeholder="CP..." class="o_address_city" - attrs="{'readonly': [('type', '!=', 'facility'), ('write_date', '!=', False), ('project_status', '=', '4_suivi')], 'required':[('write_date', '=', False), ('project_status', '=', '4_suivi')]}" + attrs="{'readonly': [('type', '!=', 'facility'), ('project_status', '=', '4_suivi')], 'required':[('project_status', 'in', ('3_accompagnement', '4_suivi'))]}" /> <field name="zip_departement" invisible="1" /> <field name="city" placeholder="Ville..." class="o_address_city" - attrs="{'readonly': [('type', '!=', 'facility'), ('write_date', '!=', False), ('project_status', '=', '4_suivi')], 'required':[('write_date', '=', False), ('project_status', '=', '4_suivi')]}" - modifiers="{'readonly':[['project_status', '=', '4_suivi']], 'required':[('write_date', '=', False), ('project_status', '=', '4_suivi')]}" + attrs="{'readonly': [('type', '!=', 'facility'), ('project_status', '=', '4_suivi')], 'required':[('project_status', 'in', ('3_accompagnement', '4_suivi'))]}" + modifiers="{'readonly':[['project_status', '=', '4_suivi']], 'required':[('project_status', 'in', ('3_accompagnement', '4_suivi'))]}" /> <field name="city_id" invisible="1" /> <field name="cedex" placeholder="Cedex" class="o_address_city" - attrs="{'readonly': [('type', '!=', 'facility'), ('write_date', '!=', False), ('project_status', '=', '4_suivi')]}" + attrs="{'readonly': [('type', '!=', 'facility'), ('project_status', '=', '4_suivi')]}" modifiers="{'readonly':[['project_status', '=', '4_suivi']]}" /> <field @@ -859,7 +844,7 @@ placeholder="Région" options='{"no_open": True, "no_create": True}' context="{'country_id': country_id, 'zip': zip}" - attrs="{'readonly': [('type', '!=', 'facility'), ('write_date', '!=', False), ('project_status', '=', '4_suivi')]}" + attrs="{'readonly': [('type', '!=', 'facility'), ('project_status', '=', '4_suivi')]}" modifiers="{'readonly':[['project_status', '=', '4_suivi']]}" /> <field @@ -867,7 +852,7 @@ placeholder="Pays" class="o_address_country" options='{"no_open": True, "no_create": True}' - attrs="{'readonly': [('type', '!=', 'facility'), ('write_date', '!=', False), ('project_status', '=', '4_suivi')]}" + attrs="{'readonly': [('type', '!=', 'facility'), ('project_status', '=', '4_suivi')]}" modifiers="{'readonly':[['project_status', '=', '4_suivi']]}" /> </div> @@ -877,7 +862,7 @@ name="phone" widget="phone" string="Téléphone 1" - attrs="{'required':[('write_date', '=', False), ('project_status', '=', '4_suivi')]}" + attrs="{'required':[('project_status', 'in', ('3_accompagnement', '4_suivi'))]}" /> <field name="mobile" @@ -1099,24 +1084,35 @@ name="is_ag_constitution" attrs="{'invisible': ['|', ('project_status', '!=', '3_accompagnement'), ('cooperative_form_id', '=', %(cgscop_partner.form_noncooperative)d)]}" /> + <field + name="is_registration_in_progress" + attrs="{'invisible': ['|', ('project_status', 'not in', ['3_accompagnement', '4_suivi']), ('cooperative_form_id', '=', %(cgscop_partner.form_noncooperative)d)]}" + /> <field name="date_1st_sign" attrs="{ '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)], + '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',))]}" + attrs="{ + 'invisible': [('project_status', 'in', ('1_information', '2_pre-diagnostic',))], + 'required':[('project_status', '=', '3_accompagnement'), ('is_registration_in_progress', '!=', True)], + 'readonly': [('project_status', '=', '4_suivi'), ('is_administrative', '!=', True)] + }" /> <field name="social_object" - attrs="{'required': [('is_cooperative', '=', True), ('project_status','in',('2_pre-diagnostic', '3_accompagnement', '4_suivi'))]}" + attrs="{'required': [('is_cooperative', '=', True), ('project_status','in',('2_pre-diagnostic', '3_accompagnement', '4_suivi'))],}" /> <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',))]}" + attrs="{ + 'readonly': [('project_status', '=', '4_suivi')], + 'required':[('project_status', '=', '3_accompagnement'), ('is_registration_in_progress', '!=', True)], + 'invisible': [('project_status', 'in', ('1_information', '2_pre-diagnostic',))]}" options="{'no_open': True, 'no_create': True}" /> <field @@ -1139,7 +1135,10 @@ <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',))]}" + attrs="{ + 'readonly': [('project_status', '=', '4_suivi')], + 'required':[('project_status', '=', '3_accompagnement'), ('is_registration_in_progress', '!=', True)], + 'invisible': [('project_status', 'in', ('1_information', '2_pre-diagnostic',))]}" /> </div> <label @@ -1640,27 +1639,27 @@ <field name="is_partner_in_tracked_naf" invisible="1" /> <field name="effective_date" - attrs="{'readonly':[('type_entry','in',('questionnaire', 'questionnaire_inscription'))]}" + attrs="{'readonly':[('type_entry','in',('questionnaire', 'questionnaire_inscription', 'membership'))]}" /> <field name="type_entry" - attrs="{'readonly':[('type_entry','in',('questionnaire', 'questionnaire_inscription'))]}" + attrs="{'readonly':[('type_entry','in',('questionnaire', 'questionnaire_inscription', 'membership'))]}" /> <field name="staff_count" - attrs="{'readonly':[('type_entry','in',('questionnaire', 'questionnaire_inscription'))]}" + attrs="{'readonly':[('type_entry','in',('questionnaire', 'questionnaire_inscription', 'membership'))]}" /> <field name="staff_shareholder_count" - attrs="{'readonly':[('type_entry','in',('questionnaire', 'questionnaire_inscription'))]}" + attrs="{'readonly':[('type_entry','in',('questionnaire', 'questionnaire_inscription', 'membership'))]}" /> <field name="staff_shareholder_total" - attrs="{'readonly':[('type_entry','in',('questionnaire', 'questionnaire_inscription'))]}" + attrs="{'readonly':[('type_entry','in',('questionnaire', 'questionnaire_inscription', 'membership'))]}" /> <field name="staff_average" - attrs="{'readonly':[('type_entry','in',('questionnaire', 'questionnaire_inscription'))], 'required':[('is_partner_in_tracked_naf', '=', True)]}" + attrs="{'readonly':[('type_entry','in',('questionnaire', 'questionnaire_inscription', 'membership'))], 'required':[('is_partner_in_tracked_naf', '=', True)]}" /> <field name="comment" /> <field name="user_id" readonly="1" /> @@ -1751,24 +1750,6 @@ name="activities_my" domain="[('activity_ids.user_id', '=', uid)]" /> - <separator /> - <filter - string="Activités en retard" - name="activities_overdue" - domain="[('activity_ids.date_deadline', '<', context_today().strftime('%Y-%m-%d'))]" - help="Show all records which has next action date is before today" - /> - <filter - string="Activités du Jour" - name="activities_today" - domain="[('activity_ids.date_deadline', '=', context_today().strftime('%Y-%m-%d'))]" - /> - <filter - string="Activités futures" - name="activities_upcoming_all" - domain="[('activity_ids.date_deadline', '>', context_today().strftime('%Y-%m-%d'))]" - /> - <separator /> <group expand="0" name="group_by" string="Group By"> <filter name="naf_id" diff --git a/views/res_partner_cooperative.xml b/views/res_partner_cooperative.xml index c725c60fd67767d3b813fb67ebcdec4f590d3d6d..7458e1d0b85918a088f956861a1ed8b6656f05a5 100644 --- a/views/res_partner_cooperative.xml +++ b/views/res_partner_cooperative.xml @@ -102,23 +102,6 @@ domain="[('activity_ids.user_id', '=', uid)]" /> <separator /> - <filter - string="Activités en retard" - name="activities_overdue" - domain="[('activity_ids.date_deadline', '<', context_today().strftime('%Y-%m-%d'))]" - help="Show all records which has next action date is before today" - /> - <filter - string="Activités du Jour" - name="activities_today" - domain="[('activity_ids.date_deadline', '=', context_today().strftime('%Y-%m-%d'))]" - /> - <filter - string="Activités futures" - name="activities_upcoming_all" - domain="[('activity_ids.date_deadline', '>', context_today().strftime('%Y-%m-%d'))]" - /> - <separator /> <filter string="Fédération de la Com" name="is_federation_com" @@ -146,6 +129,11 @@ name="is_rse" domain="[('is_rse', '=', True)]" /> + <filter + string="En cours d'immatriculation" + name="is_registration_in_progress" + domain="[('is_registration_in_progress', '=', True)]" + /> <separator /> <group expand="0" name="group_by" string="Group By"> diff --git a/views/scop_partner_staff.xml b/views/scop_partner_staff.xml index 1c2afd3acf297ede573b3e887b04a3d8b8831621..bbb39a9f1e34636724362bdf4f90d1bc18ec0a68 100644 --- a/views/scop_partner_staff.xml +++ b/views/scop_partner_staff.xml @@ -25,7 +25,7 @@ <field name="type_entry" /> <field name="effective_date" - attrs="{'readonly':[('type_entry','in',('questionnaire', 'questionnaire_inscription'))]}" + attrs="{'readonly':[('type_entry','in',('questionnaire', 'questionnaire_inscription', 'membership'))]}" /> </group> <group name="staff_stats"> @@ -33,19 +33,19 @@ <field name="is_partner_in_tracked_naf" invisible="1" /> <field name="staff_count" - attrs="{'readonly':[('type_entry','in',('questionnaire', 'questionnaire_inscription'))]}" + attrs="{'readonly':[('type_entry','in',('questionnaire', 'questionnaire_inscription', 'membership'))]}" /> <field name="staff_shareholder_count" - attrs="{'readonly':[('type_entry','in',('questionnaire', 'questionnaire_inscription'))]}" + attrs="{'readonly':[('type_entry','in',('questionnaire', 'questionnaire_inscription', 'membership'))]}" /> <field name="staff_shareholder_total" - attrs="{'readonly':[('type_entry','in',('questionnaire', 'questionnaire_inscription'))]}" + attrs="{'readonly':[('type_entry','in',('questionnaire', 'questionnaire_inscription', 'membership'))]}" /> <field name="staff_average" - attrs="{'readonly':[('type_entry','in',('questionnaire', 'questionnaire_inscription'))], 'required':[('is_partner_in_tracked_naf', '=', True)]}" + attrs="{'readonly':[('type_entry','in',('questionnaire', 'questionnaire_inscription', 'membership'))], 'required':[('is_partner_in_tracked_naf', '=', True)]}" /> </group> <group name="staff_stats"> diff --git a/wizard/scop_period_wizard.py b/wizard/scop_period_wizard.py index 6496e49705f23c34ed3891ea60e744e4e002941a..c52b835a33de56ce17a49a425cc37719c1b3c60a 100644 --- a/wizard/scop_period_wizard.py +++ b/wizard/scop_period_wizard.py @@ -116,6 +116,7 @@ class ScopPeriodWizard(models.TransientModel): ("acti", "Changement d'activité (NAF)"), ("adr", "Changement d'adresse"), ("nom", "Changement de dénomination sociale"), + ("registration", "Immatriculation"), ("dreets", "Radiation DREETS"), ("autr", "Autres"), ], @@ -252,3 +253,5 @@ class ScopPeriodWizard(models.TransientModel): partner = self.env["res.partner"].browse(period.partner_id) partner.sudo().write(partner_values) + if period.siret and partner.is_registration_in_progress: + partner.update({"is_registration_in_progress": False})