Skip to content

page_views

django_spire.metric.domain.statistic.views.page_views

group_list_view

Source code in django_spire/metric/domain/statistic/views/page_views.py
@permission_required('django_spire_metric_domain.view_statisticgroup')
def group_list_view(request: WSGIRequest) -> TemplateResponse:
    groups = (
        models.StatisticGroup.objects.active()
        .not_deleted()
        .bulk_filter(filter_data=request.GET.dict())
        .order_by('name')
    )

    nav = StatisticGroupNavigation()
    context = nav.as_context()
    context['groups'] = groups
    return TemplateResponse(
        request,
        context=context,
        template='django_spire/metric/domain/statistic/page/group_list_page.html',
    )

group_detail_view

Source code in django_spire/metric/domain/statistic/views/page_views.py
@permission_required('django_spire_metric_domain.view_statisticgroup')
def group_detail_view(request: WSGIRequest, pk: int) -> TemplateResponse:
    group = get_object_or_404(models.StatisticGroup, pk=pk)

    nav = StatisticGroupNavigation()
    nav.page_title = str(group)
    nav.breadcrumbs.add(str(group))
    context = nav.as_context()
    context['group'] = group
    context['statistics'] = group.statistics.active().not_deleted()
    return TemplateResponse(
        request,
        context=context,
        template='django_spire/metric/domain/statistic/page/group_detail_page.html',
    )

detail_view

Source code in django_spire/metric/domain/statistic/views/page_views.py
@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',
    )

list_view

Source code in django_spire/metric/domain/statistic/views/page_views.py
@permission_required('django_spire_metric_domain.view_statistic')
def list_view(request: WSGIRequest) -> TemplateResponse:
    statistics = (
        models.Statistic.objects.active()
        .not_deleted()
        .bulk_filter(filter_data=request.GET.dict())
        .order_by('name')
    )

    nav = StatisticNavigation()
    nav.page_title = 'Statistic'
    nav.page_description = 'List View'
    context = nav.as_context()
    context['statistics'] = statistics
    return TemplateResponse(
        request,
        context=context,
        template='django_spire/metric/domain/statistic/page/list_page.html',
    )