#26 Annual conservation report
* introduces new app 'analysis' for annual report generating and future features * adds new templates (WIP) * adds new routes (WIP)
This commit is contained in:
59
analysis/views.py
Normal file
59
analysis/views.py
Normal file
@@ -0,0 +1,59 @@
|
||||
from django.contrib.auth.decorators import login_required
|
||||
from django.db.models import Count, Q, Sum
|
||||
from django.http import HttpRequest
|
||||
from django.shortcuts import render, get_object_or_404
|
||||
|
||||
from analysis.utils.report import TimespanReport
|
||||
from codelist.models import KonovaCode
|
||||
from codelist.settings import CODELIST_LAW_ID
|
||||
from compensation.models import EcoAccount, Compensation
|
||||
from ema.models import Ema
|
||||
from intervention.models import Intervention
|
||||
from konova.contexts import BaseContext
|
||||
from konova.decorators import conservation_office_group_required
|
||||
|
||||
|
||||
@login_required
|
||||
@conservation_office_group_required
|
||||
def index_reports_view(request: HttpRequest):
|
||||
"""
|
||||
|
||||
Args:
|
||||
request (HttpRequest): The incoming request
|
||||
|
||||
Returns:
|
||||
|
||||
"""
|
||||
template = "analysis/reports/index.html"
|
||||
context = {}
|
||||
context = BaseContext(request, context).context
|
||||
return render(request, template, context)
|
||||
|
||||
|
||||
def detail_report_view(request: HttpRequest, id: str):
|
||||
cons_office = get_object_or_404(
|
||||
KonovaCode,
|
||||
id=id,
|
||||
)
|
||||
cons_interventions = Intervention.objects.filter(
|
||||
responsible__conservation_office__id=id,
|
||||
deleted=None,
|
||||
)
|
||||
cons_comps = Compensation.objects.filter(
|
||||
intervention__in=cons_interventions,
|
||||
deleted=None,
|
||||
)
|
||||
cons_eco_account = EcoAccount.objects.filter(
|
||||
responsible__conservation_office__id=id,
|
||||
deleted=None,
|
||||
)
|
||||
|
||||
report = TimespanReport(id)
|
||||
|
||||
template = "analysis/reports/detail.html"
|
||||
context = {
|
||||
"office": cons_office,
|
||||
"report": report,
|
||||
}
|
||||
context = BaseContext(request, context).context
|
||||
return render(request, template, context)
|
||||
Reference in New Issue
Block a user