@@ -162,14 +162,18 @@ def _get_regular_status(self):
162
162
return "unsubscribed"
163
163
# Check if exempted. Exempt end date is not required.
164
164
if (
165
+ # Start and end are defined
165
166
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
166
174
and self .today >= self .temporary_exempt_start_date
167
175
):
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"
173
177
174
178
# Transition to alert sr < 0 or stay in alert sr < 0 or sc < 0 and
175
179
# thus alert time is defined
@@ -181,6 +185,7 @@ def _get_regular_status(self):
181
185
<= add_days_delta (self .extension_start_time , grace_delay )
182
186
):
183
187
return "extension"
188
+
184
189
if (
185
190
not ok
186
191
and self .alert_start_time
@@ -189,12 +194,14 @@ def _get_regular_status(self):
189
194
> add_days_delta (self .extension_start_time , grace_delay )
190
195
):
191
196
return "suspended"
197
+
192
198
if (
193
199
not ok
194
200
and self .alert_start_time
195
201
and self .today > add_days_delta (self .alert_start_time , alert_delay )
196
202
):
197
203
return "suspended"
204
+
198
205
if (self .sr < 0 ) or (not ok and self .alert_start_time ):
199
206
return "alert"
200
207
@@ -204,7 +211,6 @@ def _get_regular_status(self):
204
211
and self .today >= self .holiday_start_time
205
212
and self .today <= self .holiday_end_time
206
213
):
207
-
208
214
return "holiday"
209
215
elif ok or (not self .alert_start_time and self .sr >= 0 ):
210
216
return "ok"
@@ -230,14 +236,18 @@ def _get_irregular_status(self):
230
236
return "unsubscribed"
231
237
# Check if exempted. Exempt end date is not required.
232
238
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
233
246
self .temporary_exempt_start_date
247
+ and not self .temporary_exempt_end_date
234
248
and self .today >= self .temporary_exempt_start_date
235
249
):
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"
241
251
# Transition to alert sr < 0 or stay in alert sr < 0 or sc < 0 and
242
252
# thus alert time is defined
243
253
elif (
0 commit comments