Files
John Mullins 0f3631f579 Rollover submit moved to POST
Changed archived lookup to active lookup
2024-01-24 10:05:44 +11:00

44 lines
2.3 KiB
Python

import datetime
from django import forms
from django.contrib.admin.views.decorators import staff_member_required
from django.http import HttpResponseRedirect, HttpResponse
from django.shortcuts import render
from coord.models import Traveller, TravellerRoute
from coord.scheduled_tasks import nightly_check_active_status
# Any active year 12 without exit date set exit date before today
# Any user active user with exit date before today > Archive
# Any active user (not adult learner) increase year by 1
def previous_rollover_date():
today = datetime.date.today()
return datetime.date(year=today.year - 1, month=12, day=31)
class RolloverForm(forms.Form):
exit_date = forms.DateField(initial=previous_rollover_date)
agreement = forms.BooleanField(label='I have run an export/backup for travellers')
def execute_rollover(exit_date):
result = TravellerRoute.objects.filter(traveller__year_level='12', travel_end_date=None).update(travel_end_date=exit_date)
nightly_check_active_status()
today = datetime.date.today().strftime('%Y-%m-%d')
result = Traveller.objects.filter(is_active=True, year_level='11').update(year_level='12')
result += Traveller.objects.filter(is_active=True, year_level='10').update(year_level='11')
result += Traveller.objects.filter(is_active=True, year_level='09').update(year_level='10')
result += Traveller.objects.filter(is_active=True, year_level='08').update(year_level='09')
result += Traveller.objects.filter(is_active=True, year_level='07').update(year_level='08')
result += Traveller.objects.filter(is_active=True, year_level='06').update(year_level='07')
result += Traveller.objects.filter(is_active=True, year_level='05').update(year_level='06')
result += Traveller.objects.filter(is_active=True, year_level='04').update(year_level='05')
result += Traveller.objects.filter(is_active=True, year_level='03').update(year_level='04')
result += Traveller.objects.filter(is_active=True, year_level='02').update(year_level='03')
result += Traveller.objects.filter(is_active=True, year_level='01').update(year_level='02')
result += Traveller.objects.filter(is_active=True, year_level='00').update(year_level='01')
result += Traveller.objects.filter(is_active=True, year_level='PS').update(year_level='00')