diff --git a/apiserver/apiserver/api/utils.py b/apiserver/apiserver/api/utils.py index f488d3e..0ebb888 100644 --- a/apiserver/apiserver/api/utils.py +++ b/apiserver/apiserver/api/utils.py @@ -104,6 +104,8 @@ def tally_membership_months(member, fake_date=None): status = calc_member_status(expire_date, fake_date) if member.expire_date != expire_date or member.status != status: + previous_status = member.status + member.expire_date = expire_date member.status = status @@ -113,6 +115,11 @@ def tally_membership_months(member, fake_date=None): alert_tanner(msg) logger.info(msg) + if status == 'Overdue' and previous_status == 'Due': + msg = 'Member has become Overdue: {} {}'.format(member.preferred_name, member.last_name) + alert_tanner(msg) + logger.info(msg) + member.save() logging.debug('Tallied %s membership months: updated.', member) else: