* Improve ticket submission form by adding help text and flagging optional fields as such

* When submitting an e-mail, if a submitters e-mail is provided send them an e-mail
This commit is contained in:
Ross Poulton
2008-01-14 23:39:43 +00:00
parent 423b455fc1
commit 7932ace133
3 changed files with 44 additions and 15 deletions

View File

@ -40,18 +40,21 @@ class TicketForm(forms.Form):
label=u'Summary of the problem')
submitter_email = forms.EmailField(required=False,
label=u'Submitter E-Mail Address')
label=u'Submitter E-Mail Address',
help_text=u'This e-mail address will receive copies of all public updates to this ticket.')
body = forms.CharField(widget=forms.Textarea(),
label=u'Description of Issue', required=True)
assigned_to = forms.ChoiceField(choices=(), required=False,
label=u'Case owner')
label=u'Case owner',
help_text=u'If you select an owner other than yourself, they\'ll be e-mailed details of this ticket immediately.')
priority = forms.ChoiceField(choices=Ticket.PRIORITY_CHOICES,
required=False,
initial='3',
label=u'Priority')
label=u'Priority',
help_text=u'Please select a priority carefully. If unsure, leave it as \'3\'.')
def save(self, user):
"""
@ -59,14 +62,16 @@ class TicketForm(forms.Form):
"""
q = Queue.objects.get(id=int(self.cleaned_data['queue']))
t = Ticket( title=self.cleaned_data['title'],
submitter_email=self.cleaned_data['submitter_email'],
created=datetime.now(),
t = Ticket( title = self.cleaned_data['title'],
submitter_email = self.cleaned_data['submitter_email'],
created = datetime.now(),
status = Ticket.OPEN_STATUS,
queue = q,
description = self.cleaned_data['body'],
priority = self.cleaned_data['priority'],
)
if self.cleaned_data['assigned_to']:
try:
u = User.objects.get(id=self.cleaned_data['assigned_to'])
@ -75,16 +80,25 @@ class TicketForm(forms.Form):
t.assigned_to = None
t.save()
f = FollowUp( ticket=t,
title='Ticket Opened',
date=datetime.now(),
public=True,
comment=self.cleaned_data['body'],
user=user,
f = FollowUp( ticket = t,
title = 'Ticket Opened',
date = datetime.now(),
public = True,
comment = self.cleaned_data['body'],
user = user,
)
if self.cleaned_data['assigned_to']:
f.title = 'Ticket Opened & Assigned to %s' % t.get_assigned_to
f.save()
context = {
'ticket': t,
'queue': q,
}
if t.submitter_email:
from helpdesk.lib import send_multipart_mail
send_multipart_mail('helpdesk/emails/submitter_newticket', context, '%s %s' % (t.ticket, t.title), t.submitter_email,, q.from_address)
return t