|
|
|
@ -18,6 +18,8 @@ DEFAULTS = { |
|
|
|
|
'last_card_change': time.time(), |
|
|
|
|
'next_meeting': None, |
|
|
|
|
'next_clean': None, |
|
|
|
|
'next_class': None, |
|
|
|
|
'prev_class': None, |
|
|
|
|
'member_count': None, |
|
|
|
|
'paused_count': None, |
|
|
|
|
'green_count': None, |
|
|
|
@ -44,8 +46,11 @@ def changed_card(): |
|
|
|
|
def calc_next_events(): |
|
|
|
|
sessions = models.Session.objects |
|
|
|
|
|
|
|
|
|
# TODO, go by tag? |
|
|
|
|
member_meeting = sessions.filter(is_cancelled=False, course__in=[317, 413], datetime__gte=now()).first() |
|
|
|
|
monthly_clean = sessions.filter(is_cancelled=False, course=273, datetime__gte=now()).first() |
|
|
|
|
next_class = sessions.exclude(course__in=[317, 413]).filter(is_cancelled=False, datetime__gte=now()).order_by('datetime').first() |
|
|
|
|
prev_class = sessions.exclude(course__in=[317, 413]).filter(is_cancelled=False, datetime__lte=now()).order_by('datetime').last() |
|
|
|
|
|
|
|
|
|
if member_meeting: |
|
|
|
|
cache.set('next_meeting', member_meeting.datetime) |
|
|
|
@ -57,6 +62,17 @@ def calc_next_events(): |
|
|
|
|
else: |
|
|
|
|
cache.set('next_clean', None) |
|
|
|
|
|
|
|
|
|
if next_class: |
|
|
|
|
cache.set('next_class', dict(datetime=next_class.datetime, id=next_class.id, name=next_class.course.name)) |
|
|
|
|
else: |
|
|
|
|
cache.set('next_class', None) |
|
|
|
|
|
|
|
|
|
if prev_class: |
|
|
|
|
cache.set('prev_class', dict(datetime=prev_class.datetime, id=prev_class.id, name=prev_class.course.name)) |
|
|
|
|
else: |
|
|
|
|
cache.set('prev_class', None) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def calc_member_counts(): |
|
|
|
|
members = models.Member.objects |
|
|
|
|
not_paused = members.filter(paused_date__isnull=True) |
|
|
|
|