25ddf1edfa
Added settings page Cleaned up rollover page
48 lines
2.5 KiB
Python
48 lines
2.5 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
|
|
|
|
|
|
# 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):
|
|
print(f"Setting exit date {exit_date}")
|
|
result = Traveller.objects.filter(year_level='12', travel_end_date=None).update(travel_end_date=exit_date)
|
|
print(f"{result} Year 12s exited")
|
|
today = datetime.date.today().strftime('%Y-%m-%d')
|
|
result = Traveller.objects.filter(travel_end_date__lt=today, is_archived=False).update(is_archived=True)
|
|
print(f"{result} travellers archived")
|
|
result = Traveller.objects.filter(is_archived=False, year_level='11').update(year_level='12')
|
|
result += Traveller.objects.filter(is_archived=False, year_level='10').update(year_level='11')
|
|
result += Traveller.objects.filter(is_archived=False, year_level='09').update(year_level='10')
|
|
result += Traveller.objects.filter(is_archived=False, year_level='08').update(year_level='09')
|
|
result += Traveller.objects.filter(is_archived=False, year_level='07').update(year_level='08')
|
|
result += Traveller.objects.filter(is_archived=False, year_level='06').update(year_level='07')
|
|
result += Traveller.objects.filter(is_archived=False, year_level='05').update(year_level='06')
|
|
result += Traveller.objects.filter(is_archived=False, year_level='04').update(year_level='05')
|
|
result += Traveller.objects.filter(is_archived=False, year_level='03').update(year_level='04')
|
|
result += Traveller.objects.filter(is_archived=False, year_level='02').update(year_level='03')
|
|
result += Traveller.objects.filter(is_archived=False, year_level='01').update(year_level='02')
|
|
result += Traveller.objects.filter(is_archived=False, year_level='00').update(year_level='01')
|
|
result += Traveller.objects.filter(is_archived=False, year_level='PS').update(year_level='00')
|
|
print(f"{result} travellers modified")
|
|
|