Skip to content

form_views

django_spire.auth.user.views.form_views

form_view

Source code in django_spire/auth/user/views/form_views.py
@permission_required('django_spire_auth_user.change_authuser')
def form_view(request: WSGIRequest, pk: int) -> TemplateResponse:
    portal_user = get_object_or_null_obj(AuthUser, pk=pk)

    form = forms.UserForm(request.POST or None, instance=portal_user)

    Glue.form(request, unique_name='user_form', target=form, access=Glue.Access.CHANGE)

    nav = AuthUserNavigation()
    nav.set_page_title_from_model_name(portal_user)

    if portal_user.pk:
        nav.breadcrumbs.add_model_instance_string(
            portal_user,
            view_name='django_spire:auth:user:page:detail',
            view_kwargs={'pk': portal_user.pk},
        )

    nav.breadcrumbs.add(f'Edit' if portal_user.pk else 'New User (With Glue)')

    context = nav.as_context()

    return TemplateResponse(request, 'django_spire/auth/user/page/form_page.html', context)

group_form_view

Source code in django_spire/auth/user/views/form_views.py
@permission_required('django_spire_auth_group.change_authgroup')
def group_form_view(request: WSGIRequest, pk: int) -> TemplateResponse:
    user = get_object_or_404(AuthUser.objects.prefetch_related('groups'), pk=pk)

    form = forms.UserGroupForm(request.POST or None, instance=user)

    Glue.form(request, unique_name='group_form', target=form, access=Glue.Access.CHANGE)

    nav = AuthUserNavigation()
    nav.page_title = 'User'
    nav.breadcrumbs.add_model_instance_string(
        user, view_name='django_spire:auth:user:page:detail', view_kwargs={'pk': user.pk}
    )
    nav.breadcrumbs.add('Edit Groups')

    context = nav.as_context()
    context['user'] = user
    context['form'] = form
    return TemplateResponse(request, 'django_spire/auth/user/page/group_form_page.html', context)

reset_password_view

Source code in django_spire/auth/user/views/form_views.py
@permission_required('django_spire_auth_user.change_authuser')
def reset_password_view(request: WSGIRequest, pk: int) -> TemplateResponse:
    user = get_object_or_404(AuthUser, pk=pk)

    nav = AuthUserNavigation()
    nav.page_title = 'Reset Password'
    nav.breadcrumbs.add('Users', 'django_spire:auth:user:page:list')
    nav.breadcrumbs.add_model_instance_string(
        user, view_name='django_spire:auth:user:page:detail', view_kwargs={'pk': user.pk}
    )
    nav.breadcrumbs.add('Reset Password')

    context = nav.as_context()
    context['user'] = user

    if request.method == 'POST':
        new_password = user.services.random_reset_password()
        context['password_reset_complete'] = True
        context['new_password'] = new_password
    else:
        context['password_reset_complete'] = False

    return TemplateResponse(
        request,
        'django_spire/auth/user/page/reset_password_page.html',
        context,
    )