Added database exporter in settings panel. Downloads a .json file

This commit is contained in:
John Mullins
2023-12-22 18:58:12 +11:00
parent d74290036e
commit cc86eae6b9
4 changed files with 96 additions and 0 deletions
+15
View File
@@ -1,9 +1,15 @@
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):
@@ -21,7 +27,16 @@ def rollover(request):
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