diff --git a/models/res_partner.py b/models/res_partner.py index 92f2468bfadad2332470c23b3da3080252a87a06..0cc8d73d4282eb59f019228745cd6581438c6c9c 100644 --- a/models/res_partner.py +++ b/models/res_partner.py @@ -161,9 +161,23 @@ class ScopPartner(models.Model): "target": "new", } + def set_registration(self): + self.ensure_one() + wizard = self.env["scop.registration.wizard"].create( + {"partner_id": self.id,} + ) + return { + "name": "Immatriculation", + "type": "ir.actions.act_window", + "view_mode": "form", + "res_model": "scop.registration.wizard", + "res_id": wizard.id, + "target": "new", + } + def scop_cancel_membership(self): for partner in self: - partner.update({"member_status": "not_member"}) + partner.update({"membership_status": "not_member"}) # ------------------------------------------------------ # Business methods diff --git a/views/res_partner.xml b/views/res_partner.xml index 5bd7b3de940732c02119dd7409b3dc455c9e438c..9366c993b62062905911a0a02b14215c8c6da6a0 100644 --- a/views/res_partner.xml +++ b/views/res_partner.xml @@ -67,7 +67,7 @@ <button string="Immatriculation" type="object" - name="scop_cancel_membership" + name="set_registration" attrs="{'invisible': [('is_registration_in_progress', '!=', True)]}" /> </xpath> diff --git a/wizard/scop_compulsory_fields_suivi_wizard.py b/wizard/scop_compulsory_fields_suivi_wizard.py index f27532856baa8392505deebe323b9fa2d3c473ee..7a5f049ecdfcbff932ecd6e6788619156d9801e9 100644 --- a/wizard/scop_compulsory_fields_suivi_wizard.py +++ b/wizard/scop_compulsory_fields_suivi_wizard.py @@ -71,12 +71,12 @@ class ScopCompulsoryFieldsSuiviWizard(models.TransientModel): { "extranet_access": True, "extranet_update_company": True, - "tag_ids": [ + "category_id": [ ( 4, self.env.ref( "__export__.res_partner_category_6_a5b5dca7" - ), + ).id, 0, ), ], @@ -93,19 +93,19 @@ class ScopCompulsoryFieldsSuiviWizard(models.TransientModel): for director in self.partner_id.director_ids: director.update( { - "tag_ids": [ + "category_id": [ ( 4, self.env.ref( "__export__.res_partner_category_4_eb133182" - ), + ).id, 0, ), ( 4, self.env.ref( "__export__.res_partner_category_6_a5b5dca7" - ), + ).id, 0, ), ] diff --git a/wizard/scop_registration_wizard.py b/wizard/scop_registration_wizard.py index 9a38a783ead61f32640f2e8c928f7c791e9222e4..4f38283d07f6ba025960167fc49ea353104819f8 100644 --- a/wizard/scop_registration_wizard.py +++ b/wizard/scop_registration_wizard.py @@ -24,5 +24,13 @@ class ScopRegistrationWizard(models.TransientModel): """ Passe la coop en statut "4_suivi" """ - self.partner_id.sudo()._create_period(self.partner_id) + last_period = self.partner_id.scop_period_ids.filtered(lambda p: not p.end) + if last_period: + last_period.ensure_one() + last_period.update({ + "end": self.registration_date, + "end_reason": "registration", + }) + self.partner_id.sudo()._add_period(self.partner_id) + self.partner_id.update({"is_registration_in_progress": False}) return {"type": "ir.actions.act_window_close"}