@permission_required('django_spire_metric_domain.view_statistic')
def detail_view(request: WSGIRequest, pk: int) -> TemplateResponse:
statistic = get_object_or_404(models.Statistic, pk=pk)
nav = StatisticNavigation()
nav.page_title = str(statistic)
nav.breadcrumbs.add(
name=str(statistic.group),
view_name='django_spire:metric:domain:statistic:page:group_detail',
view_kwargs={'pk': statistic.group.pk},
)
nav.breadcrumbs.add(str(statistic))
record_path = reverse(
f'{BASE_URL_NAME}:api_v1:record_value', kwargs={'statistic_key': str(statistic.key)}
)
context = nav.as_context()
context['statistic'] = statistic
context['sub_domains'] = statistic.group.domain.subdomains.active().order_by('name')
context['record_path'] = record_path
context['today_total'] = statistic.services.transformation.total_for_interval()
context['values'] = statistic.services.transformation.values_for_interval()
return TemplateResponse(
request,
context=context,
template='django_spire/metric/domain/statistic/page/detail_page.html',
)