Update external ticketing system

This commit is contained in:
Scot Hacker 2018-02-12 23:38:48 -08:00
parent cc1a48ee6f
commit b361abeaf6
3 changed files with 68 additions and 55 deletions

View file

@ -63,16 +63,21 @@ class AddExternalItemForm(ModelForm):
"""Form to allow users who are not part of the GTD system to file a ticket."""
title = forms.CharField(
widget=forms.widgets.TextInput(attrs={'size': 35})
widget=forms.widgets.TextInput(attrs={'size': 35}),
label="Summary"
)
note = forms.CharField(
widget=forms.widgets.Textarea(),
help_text='Please describe the issue.',
label='Problem Description',
)
priority = forms.IntegerField(
widget=forms.HiddenInput(),
)
class Meta:
model = Item
exclude = ('task_list', 'created_date', 'due_date', 'created_by', 'assigned_to',)
exclude = (
'task_list', 'created_date', 'due_date', 'created_by', 'assigned_to', 'completed', 'completed_date', )
class SearchForm(forms.Form):

View file

@ -9,31 +9,39 @@
<form action="" method="POST">
{% csrf_token %}
{% comment %}
{% if task.note %}
<div class="task_note"><strong>Note:</strong> {{ task.note|safe|urlize|linebreaks }}</div>
<div class="task_note">
<strong>Note:</strong>
{{ task.note|safe|urlize|linebreaks }}</div>
{% endif %}
<div id="TaskEdit">
<h3>File Trouble Ticket</h3>
<p>Do you have a support issue? <br />
Use this form to report the difficulty - we'll get right back to you. </p>
<p>Do you have a support issue?
<br/>
Use this form to report the difficulty - we'll get right back to you.
</p>
{% if form.errors %}
{% for error in form.errors %}
<ul class="errorlist">
<li><strong>The {{ error|escape }} field is required.</strong></li>
<li>
<strong>The
{{ error|escape }}
field is required.</strong>
</li>
</ul>
{% endfor %}
<br />
{% endif %}
<table>
<tr>
<td>Summary:</td>
<td>{{ form.title }} <br />
Include the workstation number in your summary, e.g. <br />
<td>{{ form.title }}
<br/>
Include the workstation number in your summary, e.g.
<br/>
"Radio Lab # 4: Purple smoke pouring out the back."
</td>
</tr>
@ -45,15 +53,12 @@
</td>
</tr>
<tr>
<td>Priority:</td>
<td>{{ form.priority }} <br />
Enter a number between 1 and 5, <br />
where 5 is highest ("Computer is on fire = True").
</td>
</tr>
</table>
<p><input type="submit" class="todo-button" name="add_task" value="Submit"></p>
</div>
{% endcomment %}
{{ form.as_p }}
<p><input type="submit" class="todo-button" name="add_task" value="Submit"></p>
</form>
{% endblock %}

View file

@ -315,11 +315,14 @@ def external_add(request):
item.assigned_to = User.objects.get(username=settings.DEFAULT_ASSIGNEE)
item.save()
# Send email to assignee if we have one
if item.assigned_to:
email_subject = render_to_string("todo/email/assigned_subject.txt", {'task': item.title})
email_body = render_to_string("todo/email/assigned_body.txt", {'task': item, 'site': current_site, })
try:
send_mail(
email_subject, email_body, item.created_by.email, [item.assigned_to.email, ], fail_silently=False)
email_subject, email_body, item.created_by.email,
[item.assigned_to.email, ], fail_silently=False)
except ConnectionRefusedError:
messages.error(request, "Task saved but mail not sent. Contact your administrator.")
@ -328,6 +331,6 @@ def external_add(request):
return redirect(settings.PUBLIC_SUBMIT_REDIRECT)
else:
form = AddExternalItemForm()
form = AddExternalItemForm(initial={'priority': 999})
return render(request, 'todo/add_task_external.html', locals())