Skip to content

form_views

django_spire.metric.domain.statistic.views.form_views

group_create_view

Source code in django_spire/metric/domain/statistic/views/form_views.py
@permission_required('django_spire_metric_domain.add_statisticgroup')
def group_create_view(request: WSGIRequest) -> TemplateResponse:
    return _group_form_view(request)

group_update_view

Source code in django_spire/metric/domain/statistic/views/form_views.py
@permission_required('django_spire_metric_domain.change_statisticgroup')
def group_update_view(request: WSGIRequest, pk: int) -> TemplateResponse:
    return _group_form_view(request, pk)

group_delete_form_view

Source code in django_spire/metric/domain/statistic/views/form_views.py
@permission_required('django_spire_metric_domain.delete_statisticgroup')
def group_delete_form_view(request: WSGIRequest, pk: int) -> TemplateResponse:
    group = get_object_or_404(models.StatisticGroup, pk=pk)
    return_url = safe_redirect_url(
        request, fallback=reverse('django_spire:metric:domain:statistic:page:group_list')
    )

    form = DeleteConfirmationForm(request.POST, obj=group)

    if request.method == 'POST' and form.is_valid():
        group.set_deleted()
        return HttpResponseRedirect(return_url)

    nav = StatisticGroupNavigation()
    nav.page_title = f'Delete {group}'
    nav.breadcrumbs.add(
        name=str(group),
        view_name='django_spire:metric:domain:statistic:page:group_detail',
        view_kwargs={'pk': group.pk},
    )
    nav.breadcrumbs.add('Delete')
    context = nav.as_context()
    context['form_title'] = f'Delete {group}'
    context['form_description'] = (
        f'Are you sure you would like to delete statistic group "{group}"?'
    )
    context['return_url'] = return_url
    return TemplateResponse(
        request,
        context=context,
        template='django_spire/metric/domain/statistic/form/group_delete_confirmation_form_page.html',
    )

create_view

Source code in django_spire/metric/domain/statistic/views/form_views.py
@permission_required('django_spire_metric_domain.add_statistic')
def create_view(request: WSGIRequest) -> TemplateResponse:
    return _form_view(request)

update_view

Source code in django_spire/metric/domain/statistic/views/form_views.py
@permission_required('django_spire_metric_domain.change_statistic')
def update_view(request: WSGIRequest, pk: int) -> TemplateResponse:
    return _form_view(request, pk)

delete_form_view

Source code in django_spire/metric/domain/statistic/views/form_views.py
@permission_required('django_spire_metric_domain.delete_statistic')
def delete_form_view(request: WSGIRequest, pk: int) -> TemplateResponse:
    statistic = get_object_or_404(models.Statistic, pk=pk)
    return_url = safe_redirect_url(
        request, fallback=reverse('django_spire:metric:domain:statistic:page:list')
    )

    form = DeleteConfirmationForm(request.POST, obj=statistic)

    if request.method == 'POST' and form.is_valid():
        statistic.set_deleted()
        return HttpResponseRedirect(return_url)

    nav = StatisticNavigation()
    nav.page_title = f'Delete {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))
    nav.breadcrumbs.add('Delete')
    context = nav.as_context()
    context['form_title'] = f'Delete {statistic}'
    context['form_description'] = f'Are you sure you would like to delete statistic "{statistic}"?'
    context['return_url'] = return_url
    return TemplateResponse(
        request,
        context=context,
        template='django_spire/metric/domain/statistic/form/statistic_delete_confirmation_form_page.html',
    )