Skip to content

page_views

django_spire.auth.group.views.page_views

detail_view

Source code in django_spire/auth/group/views/page_views.py
@permission_required('django_spire_auth_group.view_authgroup')
def detail_view(request: WSGIRequest, pk: int) -> TemplateResponse:
    group = get_object_or_404(models.AuthGroup, pk=pk)

    active_user_list = group.user_set.filter(is_active=True).order_by('first_name', 'last_name')
    inactive_user_list = group.user_set.filter(is_active=False).order_by('first_name', 'last_name')

    paginated_active_user_list = Paginator(active_user_list, 10).get_page(
        request.GET.get('page', 1)
    )
    paginated_inactive_user_list = Paginator(inactive_user_list, 10).get_page(
        request.GET.get('page', 1)
    )

    nav = AuthGroupNavigation()
    nav.page_title = str(group)
    nav.breadcrumbs.add_model_instance_string(
        group, view_name='django_spire:auth:group:page:detail', view_kwargs={'pk': group.pk}
    )

    context = nav.as_context()
    context['group'] = group
    context['permission_data'] = generate_group_perm_data(group, with_special_role=True)
    context['active_user_list'] = paginated_active_user_list
    context['inactive_user_list'] = paginated_inactive_user_list
    return TemplateResponse(
        request, context=context, template='django_spire/auth/group/page/detail_page.html'
    )

list_view

Source code in django_spire/auth/group/views/page_views.py
@permission_required('django_spire_auth_group.view_authgroup')
def list_view(request: WSGIRequest) -> TemplateResponse:
    group_list = models.AuthGroup.objects.all().prefetch_related('permissions').order_by('name')

    Glue.queryset(
        request,
        'group_list',
        group_list,
        Glue.Access.VIEW,
        fields='__all__',
        computed_attributes={
            'permission_data': generate_group_perm_data,
        },
    )

    nav = AuthGroupNavigation()
    nav.page_title = 'Groups'

    context = nav.as_context()
    context['group_list'] = group_list
    context['group_list_count'] = group_list.count()
    return TemplateResponse(
        request, context=context, template='django_spire/auth/group/page/list_page.html'
    )