import django, sys, os os.environ['DJANGO_SETTINGS_MODULE'] = 'apiserver.settings' django.setup() import datetime import json from django.utils.timezone import now, pytz from apiserver.api import models, utils # Member orientation print('Updating member orientation dates') sessions = models.Session.objects.filter(course = 249) def get_member(obj): # same as in serialzers.py -> get_cards for example if obj.user: member = obj.user.member else: member = models.Member.objects.get(id=obj.member_id) return member 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.orientation_date: member.orientation_date = session.datetime.astimezone(pytz.timezone('America/Edmonton')).date() member.save() # Lathe print('Updating lathe training dates') sessions = models.Session.objects.filter(course = 281) 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.lathe_cert_date: member.lathe_cert_date = session.datetime.astimezone(pytz.timezone('America/Edmonton')).date() member.save() # Manual Mill print('Updating mill training dates') sessions = models.Session.objects.filter(course = 283) 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.mill_cert_date: member.mill_cert_date = session.datetime.astimezone(pytz.timezone('America/Edmonton')).date() member.save() # Woodworking tools print('Updating woodworking training dates') sessions = models.Session.objects.filter(course = 261) 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.wood_cert_date: 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.')