Skip to content

forms

django_spire.auth.user.forms

UserForm

Bases: ModelForm

Meta

model = AuthUser class-attribute instance-attribute
fields = ['first_name', 'last_name', 'email', 'is_active'] class-attribute instance-attribute

clean_email

Source code in django_spire/auth/user/forms.py
def clean_email(self) -> str:
    email = self.cleaned_data.get('email')

    email_matches_existing_user = AuthUser.objects.filter(
        Q(email=email) | Q(username=email)
    ).exists()

    if email_matches_existing_user and self.instance.pk is None:
        message = 'User with this email already exists.'
        raise forms.ValidationError(message)

    return email

save_model_obj

Source code in django_spire/auth/user/forms.py
@Glue.attr(required_access=Glue.Access.CHANGE)
def save_model_obj(self, request: HttpRequest) -> Glue.Response | None:
    if self.is_valid():
        user = self.instance.services.save_model_obj(**self.cleaned_data)
        return Glue.RedirectResponse(view_name='django_spire:auth:user:page:detail', pk=user.pk)

    return GlueResponse(messages=[GlueMessage.error('Invalid Fields')])

UserGroupForm

Bases: ModelForm

Meta

model = AuthUser class-attribute instance-attribute
fields = ['groups'] class-attribute instance-attribute

save_model_obj

Source code in django_spire/auth/user/forms.py
@Glue.attr(required_access=Glue.Access.CHANGE)
def save_model_obj(self, request: HttpRequest) -> Glue.Response | None:
    if self.is_valid():
        user = self.instance
        user.groups.set(self.cleaned_data['groups'])

        return Glue.RedirectResponse(view_name='django_spire:auth:user:page:detail', pk=user.pk)

    return GlueResponse(messages=[GlueMessage.error('Invalid Fields')])