@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',
)