diff --git a/apiserver/apiserver/api/models.py b/apiserver/apiserver/api/models.py index 05b5323..ee4f5c1 100644 --- a/apiserver/apiserver/api/models.py +++ b/apiserver/apiserver/api/models.py @@ -51,6 +51,8 @@ class Member(models.Model): lathe_cert_date = models.DateField(blank=True, null=True, default=None) mill_cert_date = models.DateField(blank=True, null=True, default=None) wood_cert_date = models.DateField(blank=True, null=True, default=None) + wood2_cert_date = models.DateField(blank=True, null=True, default=None) + cnc_cert_date = models.DateField(blank=True, null=True, default=None) paused_date = models.DateField(blank=True, null=True) monthly_fees = models.IntegerField(default=55, blank=True, null=True) diff --git a/apiserver/apiserver/api/serializers.py b/apiserver/apiserver/api/serializers.py index ed64307..5e29659 100644 --- a/apiserver/apiserver/api/serializers.py +++ b/apiserver/apiserver/api/serializers.py @@ -142,6 +142,8 @@ class MemberSerializer(serializers.ModelSerializer): 'lathe_cert_date', 'mill_cert_date', 'wood_cert_date', + 'wood2_cert_date', + 'cnc_cert_date', ] def get_status(self, obj): diff --git a/apiserver/apiserver/api/views.py b/apiserver/apiserver/api/views.py index f3955fe..bdc7175 100644 --- a/apiserver/apiserver/api/views.py +++ b/apiserver/apiserver/api/views.py @@ -376,10 +376,14 @@ class LockoutViewSet(viewsets.ViewSet, List): if member.paused_date: continue authorization = {} + authorization['id'] = member.id + authorization['name'] = member.first_name + " " + member.last_name authorization['common'] = bool(member.orientation_date or member.vetted_date) authorization['lathe'] = bool(member.lathe_cert_date) authorization['mill'] = bool(member.mill_cert_date) authorization['wood'] = bool(member.wood_cert_date) + authorization['wood2'] = bool(member.wood2_cert_date) + authorization['cnc'] = bool(member.cnc_cert_date) active_member_cards[card.card_number] = authorization diff --git a/apiserver/lockout_auth_update.py b/apiserver/lockout_auth_update.py index ef85b5d..fc3f050 100644 --- a/apiserver/lockout_auth_update.py +++ b/apiserver/lockout_auth_update.py @@ -69,4 +69,29 @@ for session in sessions: member.wood_cert_date = session.datetime.astimezone(pytz.timezone('America/Edmonton')).date() member.save() +# Woodworking-2 tools +print("Updating woodworking-2 training dates") +sessions = models.Session.objects.filter(course = 401) + +for session in sessions: + students = models.Training.objects.filter(session = session) + for student in students: + if student.attendance_status == "Attended": + member = get_member(student) + if not member.wood2_cert_date: + member.wood2_cert_date = session.datetime.astimezone(pytz.timezone('America/Edmonton')).date() + member.save() + +# CNC tools +print("Updating CNC training dates") +sessions = models.Session.objects.filter(course = 259) + +for session in sessions: + students = models.Training.objects.filter(session = session) + for student in students: + if student.attendance_status == "Attended": + member = get_member(student) + if not member.cnc_cert_date: + member.cnc_cert_date = session.datetime.astimezone(pytz.timezone('America/Edmonton')).date() + member.save() print('Done.')