From e446f216969422a42c566c129f0fb8ce3f70bb32 Mon Sep 17 00:00:00 2001 From: Thibault Francois Date: Sat, 24 Mar 2018 15:33:53 +0100 Subject: [PATCH] =?UTF-8?q?[ADD]=200048g-=20Statut=20d=C3=A9missionnaire:?= =?UTF-8?q?=20possible=20when=20unscribed=20to=20check=20the=20box=20resig?= =?UTF-8?q?ning,=20the=20cooperator=20will=20be=20in=20a=20specific=20stat?= =?UTF-8?q?us=20resigning?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- beesdoo_shift/models/cooperative_status.py | 10 ++++++++-- beesdoo_shift/views/cooperative_status.xml | 1 + beesdoo_shift/wizard/subscribe.py | 2 ++ beesdoo_shift/wizard/subscribe.xml | 3 ++- 4 files changed, 13 insertions(+), 3 deletions(-) diff --git a/beesdoo_shift/models/cooperative_status.py b/beesdoo_shift/models/cooperative_status.py index 218361d..c5045e5 100644 --- a/beesdoo_shift/models/cooperative_status.py +++ b/beesdoo_shift/models/cooperative_status.py @@ -64,11 +64,13 @@ class CooperativeStatus(models.Model): ('extension', 'Extension'), ('suspended', 'Suspended'), ('exempted', 'Exempted'), - ('unsubscribed', 'Unsubscribed')], + ('unsubscribed', 'Unsubscribed'), + ('resigning', 'Resigning')], compute="_compute_status", string="Cooperative Status", store=True) can_shop = fields.Boolean(compute='_compute_status', store=True) history_ids = fields.One2many('cooperative.status.history', 'status_id', readonly=True) unsubscribed = fields.Boolean(default=False, help="Manually unsubscribed") + resigning = fields.Boolean(default=False, help="Want to leave the beescoop") #Specific to irregular irregular_start_date = fields.Date() #TODO migration script @@ -85,7 +87,7 @@ class CooperativeStatus(models.Model): 'alert_start_time', 'extension_start_time', 'unsubscribed', 'irregular_absence_date', 'irregular_absence_counter', 'temporary_exempt_start_date', - 'temporary_exempt_end_date') + 'temporary_exempt_end_date', 'resigning') def _compute_status(self): alert_delay = int(self.env['ir.config_parameter'].get_param('alert_delay', 28)) grace_delay = int(self.env['ir.config_parameter'].get_param('default_grace_delay', 10)) @@ -95,6 +97,10 @@ class CooperativeStatus(models.Model): rec.status = 'ok' rec.can_shop = True continue + if rec.resigning: + rec.status = 'resigning' + rec.can_shop = False + continue if rec.working_mode == 'regular': rec._set_regular_status(grace_delay, alert_delay) diff --git a/beesdoo_shift/views/cooperative_status.xml b/beesdoo_shift/views/cooperative_status.xml index 6273a25..1327593 100644 --- a/beesdoo_shift/views/cooperative_status.xml +++ b/beesdoo_shift/views/cooperative_status.xml @@ -80,6 +80,7 @@ + diff --git a/beesdoo_shift/wizard/subscribe.py b/beesdoo_shift/wizard/subscribe.py index 2040a57..9523d46 100644 --- a/beesdoo_shift/wizard/subscribe.py +++ b/beesdoo_shift/wizard/subscribe.py @@ -52,6 +52,7 @@ class Subscribe(models.TransientModel): reset_compensation_counter = fields.Boolean(default=False) unsubscribed = fields.Boolean(default=False, string="Are you sure to unsubscribe this cooperator") irregular_start_date = fields.Date(string="Start Date", default=fields.Date.today) + resigning = fields.Boolean(default=False, help="Want to leave the beescoop") @@ -65,6 +66,7 @@ class Subscribe(models.TransientModel): data = { 'unsubscribed': True, 'cooperator_id': self.cooperator_id.id, + 'resigning' : self.resigning, } if status_id: status_id.sudo().write(data) diff --git a/beesdoo_shift/wizard/subscribe.xml b/beesdoo_shift/wizard/subscribe.xml index 5c6dcca..3a10cb7 100644 --- a/beesdoo_shift/wizard/subscribe.xml +++ b/beesdoo_shift/wizard/subscribe.xml @@ -5,7 +5,8 @@
- + +