Files
bus-manager/busManager/coord/views_settings.py
T

43 lines
1.2 KiB
Python

import datetime
import json
from django.contrib.admin.views.decorators import staff_member_required
from django.http import HttpResponse
from django.shortcuts import render, redirect
from coord.scheduled_tasks import nightly_check_active_status
from coord.utils.rollover import RolloverForm, execute_rollover
from coord.backup.backup_helpers import get_export_dict
@staff_member_required
def settings(request):
return render(request, 'admin/settings_index.html')
@staff_member_required
def rollover(request):
if request.method == 'POST':
form = RolloverForm(request.POST)
if form.is_valid():
execute_rollover(form.cleaned_data['exit_date'])
return redirect('settings:index')
form = RolloverForm()
return render(request, 'admin/rollover_form.html', context={'form': form})
@staff_member_required
def nightly_task(request):
nightly_check_active_status()
return redirect('settings:index')
@staff_member_required
def export(request):
date = datetime.date.today().strftime("%Y-%m-%d")
response = HttpResponse(json.dumps(get_export_dict()))
response['Content-Disposition'] = f'attachment; filename=busportal_export-{date}.json'
return response