#26 Annual conservation report

* Adds download as excel sheet
* improves db access performance
This commit is contained in:
2021-10-21 14:58:54 +02:00
parent 419a48cff1
commit 4e89fd9678
10 changed files with 238 additions and 43 deletions

View File

@@ -1,10 +1,11 @@
from django.contrib import messages
from django.contrib.auth.decorators import login_required
from django.http import HttpRequest, FileResponse
from django.http import HttpRequest, HttpResponse
from django.shortcuts import render, redirect, get_object_or_404
from django.utils import timezone
from analysis.forms import TimespanReportForm
from analysis.utils.excel.excel import TempExcelFile
from analysis.utils.report import TimespanReport
from codelist.models import KonovaCode
from konova.contexts import BaseContext
@@ -86,11 +87,12 @@ def detail_report_view(request: HttpRequest, id: str):
context = BaseContext(request, context).context
return render(request, template, context)
elif format_param == "excel":
stream = report.to_excel_file()
response = FileResponse(
filename=stream.name,
file = TempExcelFile(report.excel_template_path, report.excel_map)
response = HttpResponse(
content=file.stream,
content_type="application/ms-excel",
)
response['Content-Disposition'] = f'attachement;"'
response['Content-Disposition'] = f'attachment; filename={cons_office.long_name}_{df}_{dt}.xlsx'
return response
else:
raise NotImplementedError