Update external ticketing system
This commit is contained in:
parent
cc1a48ee6f
commit
b361abeaf6
3 changed files with 68 additions and 55 deletions
|
@ -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):
|
||||
|
|
|
@ -4,56 +4,61 @@
|
|||
|
||||
{% block content %}
|
||||
|
||||
<h2>{{ task }}</h2>
|
||||
<h2>{{ task }}</h2>
|
||||
|
||||
<form action="" method="POST">
|
||||
{% csrf_token %}
|
||||
<form action="" method="POST">
|
||||
{% csrf_token %}
|
||||
|
||||
{% if task.note %}
|
||||
<div class="task_note"><strong>Note:</strong> {{ task.note|safe|urlize|linebreaks }}</div>
|
||||
{% endif %}
|
||||
{% comment %}
|
||||
|
||||
{% if task.note %}
|
||||
<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>
|
||||
<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>
|
||||
|
||||
{% if form.errors %}
|
||||
{% if form.errors %}
|
||||
{% for error in form.errors %}
|
||||
<ul class="errorlist">
|
||||
<li>
|
||||
<strong>The
|
||||
{{ error|escape }}
|
||||
field is required.</strong>
|
||||
</li>
|
||||
</ul>
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
|
||||
{% for error in form.errors %}
|
||||
<ul class="errorlist">
|
||||
<li><strong>The {{ error|escape }} field is required.</strong></li>
|
||||
</ul>
|
||||
{% endfor %}
|
||||
<br />
|
||||
<table>
|
||||
<tr>
|
||||
<td>Summary:</td>
|
||||
<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>
|
||||
|
||||
{% endif %}
|
||||
<tr>
|
||||
<td valign="top">Note:</td>
|
||||
<td valign="top">{{ form.note }}<br/>
|
||||
Please describe the problem.
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<table>
|
||||
<tr>
|
||||
<td>Summary:</td>
|
||||
<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>
|
||||
</table>
|
||||
<p><input type="submit" class="todo-button" name="add_task" value="Submit"></p>
|
||||
{% endcomment %}
|
||||
|
||||
<tr>
|
||||
<td valign="top">Note:</td>
|
||||
<td valign="top">{{ form.note }}<br />
|
||||
Please describe the problem.
|
||||
</td>
|
||||
</tr>
|
||||
{{ form.as_p }}
|
||||
<p><input type="submit" class="todo-button" name="add_task" value="Submit"></p>
|
||||
|
||||
<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>
|
||||
</form>
|
||||
{% endblock %}
|
||||
</form>
|
||||
{% endblock %}
|
|
@ -315,19 +315,22 @@ def external_add(request):
|
|||
item.assigned_to = User.objects.get(username=settings.DEFAULT_ASSIGNEE)
|
||||
item.save()
|
||||
|
||||
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)
|
||||
except ConnectionRefusedError:
|
||||
messages.error(request, "Task saved but mail not sent. Contact your administrator.")
|
||||
# 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)
|
||||
except ConnectionRefusedError:
|
||||
messages.error(request, "Task saved but mail not sent. Contact your administrator.")
|
||||
|
||||
messages.success(request, "Your trouble ticket has been submitted. We'll get back to you soon.")
|
||||
|
||||
return redirect(settings.PUBLIC_SUBMIT_REDIRECT)
|
||||
|
||||
else:
|
||||
form = AddExternalItemForm()
|
||||
form = AddExternalItemForm(initial={'priority': 999})
|
||||
|
||||
return render(request, 'todo/add_task_external.html', locals())
|
||||
|
|
Loading…
Reference in a new issue