Skip to content

Commit 1e6f36e

Browse files
committed
[FIX] b_worker_status: compute status extempted
1 parent 4f4ee67 commit 1e6f36e

File tree

1 file changed

+21
-11
lines changed

1 file changed

+21
-11
lines changed

beesdoo_worker_status/models/cooperative_status.py

Lines changed: 21 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -162,14 +162,18 @@ def _get_regular_status(self):
162162
return "unsubscribed"
163163
# Check if exempted. Exempt end date is not required.
164164
if (
165+
# Start and end are defined
165166
self.temporary_exempt_start_date
167+
and self.temporary_exempt_end_date
168+
and self.today >= self.temporary_exempt_start_date
169+
and self.today <= self.temporary_exempt_end_date
170+
) or (
171+
# Only start is defined
172+
self.temporary_exempt_start_date
173+
and not self.temporary_exempt_end_date
166174
and self.today >= self.temporary_exempt_start_date
167175
):
168-
if (
169-
not self.temporary_exempt_end_date
170-
or self.today <= self.temporary_exempt_end_date
171-
):
172-
return "exempted"
176+
return "exempted"
173177

174178
# Transition to alert sr < 0 or stay in alert sr < 0 or sc < 0 and
175179
# thus alert time is defined
@@ -181,6 +185,7 @@ def _get_regular_status(self):
181185
<= add_days_delta(self.extension_start_time, grace_delay)
182186
):
183187
return "extension"
188+
184189
if (
185190
not ok
186191
and self.alert_start_time
@@ -189,12 +194,14 @@ def _get_regular_status(self):
189194
> add_days_delta(self.extension_start_time, grace_delay)
190195
):
191196
return "suspended"
197+
192198
if (
193199
not ok
194200
and self.alert_start_time
195201
and self.today > add_days_delta(self.alert_start_time, alert_delay)
196202
):
197203
return "suspended"
204+
198205
if (self.sr < 0) or (not ok and self.alert_start_time):
199206
return "alert"
200207

@@ -204,7 +211,6 @@ def _get_regular_status(self):
204211
and self.today >= self.holiday_start_time
205212
and self.today <= self.holiday_end_time
206213
):
207-
208214
return "holiday"
209215
elif ok or (not self.alert_start_time and self.sr >= 0):
210216
return "ok"
@@ -230,14 +236,18 @@ def _get_irregular_status(self):
230236
return "unsubscribed"
231237
# Check if exempted. Exempt end date is not required.
232238
elif (
239+
# Start and end are defined
240+
self.temporary_exempt_start_date
241+
and self.temporary_exempt_end_date
242+
and self.today >= self.temporary_exempt_start_date
243+
and self.today <= self.temporary_exempt_end_date
244+
) or (
245+
# Only start is defined
233246
self.temporary_exempt_start_date
247+
and not self.temporary_exempt_end_date
234248
and self.today >= self.temporary_exempt_start_date
235249
):
236-
if (
237-
not self.temporary_exempt_end_date
238-
or self.today <= self.temporary_exempt_end_date
239-
):
240-
return "exempted"
250+
return "exempted"
241251
# Transition to alert sr < 0 or stay in alert sr < 0 or sc < 0 and
242252
# thus alert time is defined
243253
elif (

0 commit comments

Comments
 (0)