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)