Skip to content

forms

django_spire.help_desk.forms

HelpDeskTicketModelForm

Bases: ModelForm

Meta

model = HelpDeskTicket class-attribute instance-attribute
fields = ['description', 'status', 'purpose', 'priority'] class-attribute instance-attribute
exclude = ['created_by'] class-attribute

save_model_obj

Source code in django_spire/help_desk/forms.py
@Glue.attr(required_access=Glue.Access.CHANGE)
def save_model_obj(self, request: HttpRequest) -> GlueResponse:
    if len(self.data['description']) < 10:
        return GlueResponse(
            messages=[
                GlueMessage.warning('Your description is not long enough ... but I do care!')
            ]
        )

    if self.is_valid():
        ticket = self.instance.services.save_model_obj(request.user, **self.cleaned_data)

        return GlueResponse(
            result={
                'redirect': {
                    'url': reverse(
                        'django_spire:help_desk:page:detail', kwargs={'pk': ticket.pk}
                    )
                }
            }
        )

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