Record time whenever cards change

master
Tanner Collin 4 years ago
parent f75b782afd
commit 668a0dd349
  1. 4
      apiserver/apiserver/api/management/commands/run_daily.py
  2. 8
      apiserver/apiserver/api/utils_stats.py
  3. 9
      apiserver/apiserver/api/views.py

@ -1,5 +1,5 @@
from django.core.management.base import BaseCommand, CommandError
from apiserver.api import models, utils
from apiserver.api import models, utils, utils_stats
import time
@ -22,3 +22,5 @@ class Command(BaseCommand):
self.stdout.write('Tallied {} active members in {} s'.format(
count, str(time.time() - start)
))
utils_stats.changed_card()

@ -1,3 +1,4 @@
from django.core.cache import cache
import time
DEFAULTS = {
@ -10,3 +11,10 @@ DEFAULTS = {
'bay_108_temp': None,
'bay_110_temp': None,
}
def changed_card():
'''
Called whenever the card list could change, ie. cards added, modified, or
user status becoming overdue by 3 months
'''
cache.set('last_card_change', time.time())

@ -134,6 +134,7 @@ class MemberViewSet(Base, Retrieve, Update):
member.save()
utils.tally_membership_months(member)
utils.gen_member_forms(member)
utils_stats.changed_card()
return Response(200)
@ -142,6 +143,14 @@ class CardViewSet(Base, Create, Retrieve, Update, Destroy):
queryset = models.Card.objects.all()
serializer_class = serializers.CardSerializer
def perform_create(self, serializer):
serializer.save()
utils_stats.changed_card()
def perform_update(self, serializer):
serializer.save()
utils_stats.changed_card()
class CourseViewSet(Base, List, Retrieve, Create, Update):
permission_classes = [AllowMetadata | IsAuthenticated, IsAdminOrReadOnly | IsInstructorOrReadOnly]

Loading…
Cancel
Save