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