2007-12-27 01:29:17 +01:00
{% extends "helpdesk/base.html" %}
{% block helpdesk_title %}Helpdesk{% endblock %}
2008-01-16 04:23:43 +01:00
{% block helpdesk_head %}
2007-12-27 01:29:17 +01:00
< script src = "http://media.jutda.com.au/helpdesk/nicEdit.js" type = "text/javascript" > < / script >
< script type = "text/javascript" >
$(document).ready(function() {
2008-01-11 02:00:01 +01:00
nic = new nicEditor({buttonList: ['bold','italic','underline','strikeThrough','undo','redo','subscript','superscript','html']}).panelInstance('commentBox');
2007-12-27 01:29:17 +01:00
$("#ShowFurtherEditOptions").click(function() {
2008-01-15 01:02:06 +01:00
$("#FurtherEditOptions").fadeIn();
$("#ShowFurtherOptPara").hide();
2007-12-27 01:29:17 +01:00
return false;
});
2008-02-08 01:19:58 +01:00
2008-02-08 01:48:23 +01:00
processAddFileClick();
2008-02-08 01:19:58 +01:00
$("#ShowFileUpload").click(function() {
$("#FileUpload").fadeIn();
$("#ShowFileUploadPara").hide();
return false;
});
2008-01-11 02:00:01 +01:00
$('#id_preset').change(function() {
preset = $('#id_preset').val();
if (preset != '') {
$.get("{% url helpdesk_raw "preset" %}?id=" + preset, function(data) {
nic.nicInstances[0].setContent(data);
});
}
});
2007-12-27 01:29:17 +01:00
});
2008-02-08 01:48:23 +01:00
function processAddFileClick() {
/* Until jQuery includes some 'livequery' functionality in the core
distribution, this will have to do. */
$(".AddAnotherFile>a").click(function() {
$(this).parent().hide();
$("#FileUpload>dl").append("< dt > < label > Attach another File< / label > < / dt > < dd > < input type = 'file' name = 'attachment' id = 'file' / > < span class = 'AddAnotherFile' > (< a href = '#' > Add Another File< / a > )< / span > < / dd > ");
processAddFileClick();
return false;
});
}
2007-12-27 01:29:17 +01:00
< / script >
{% endblock %}
{% block helpdesk_body %}
< table width = '100%' >
2008-01-16 05:52:30 +01:00
< tr class = 'row_tablehead' > < td > {{ ticket.id }}. {{ ticket.title }} [{{ ticket.get_status }}]< / td > < td align = 'right' > < a href = '#edit' > < img src = '{{ MEDIA_URL }}/helpdesk/buttons/edit.png' alt = 'Edit' title = 'Edit' width = '60' height = '15' / > < / a > < a href = '{% url helpdesk_delete ticket.id %}' > < img src = '{{ MEDIA_URL }}/helpdesk/buttons/delete.png' alt = 'Delete' title = 'Delete' width = '60' height = '15' / > < / a > {% if ticket.on_hold %}< a href = 'unhold/' > Unhold< / a > {% else %}< a href = 'hold/' > Hold< / a > {% endif %}< / td > < / tr >
2008-01-15 01:02:06 +01:00
< tr class = 'row_columnheads' > < th colspan = '2' > Queue: {{ ticket.queue }}< / th > < / tr >
2007-12-27 01:29:17 +01:00
< tr class = 'row_odd' >
< th > Submitted On< / th >
2008-01-07 21:22:13 +01:00
< td > {{ ticket.created|date:"r" }} ({{ ticket.created|timesince }} ago)< / td >
2007-12-27 01:29:17 +01:00
< / tr >
< tr class = 'row_even' >
< th > Assigned To< / th >
2008-01-12 06:37:45 +01:00
< td > {{ ticket.get_assigned_to }}{% ifequal ticket.get_assigned_to 'Unassigned' %} < strong > < a href = '?take' > < img src = '{{ MEDIA_URL }}/helpdesk/buttons/take.png' width = '60' height = '15' alt = 'Take' title = 'Assign this ticket to yourself' / > < / a > < / strong > {% endifequal %}< / td >
2007-12-27 01:29:17 +01:00
< / tr >
2008-01-07 21:22:13 +01:00
< tr class = 'row_odd' >
2007-12-27 01:29:17 +01:00
< th > Submitter E-Mail< / th >
< td > {{ ticket.submitter_email }}< / td >
2008-01-07 21:22:13 +01:00
< / tr >
< tr class = 'row_even' >
2008-01-10 01:28:45 +01:00
< th > Priority< / th >
< td > {{ ticket.get_priority_display }}< / td >
2008-01-07 21:22:13 +01:00
< / tr >
2008-01-10 01:28:45 +01:00
2008-01-07 21:22:13 +01:00
< tr class = 'row_odd' >
2008-01-10 01:28:45 +01:00
< th colspan = '2' > Description< / th >
< / tr >
< tr class = 'row_even' >
2008-01-07 21:22:13 +01:00
< td colspan = '2' > {{ ticket.description }}< / td >
< / tr >
2008-01-10 01:28:45 +01:00
{% if ticket.resolution %}< tr class = 'row_odd' >
2008-01-12 06:37:45 +01:00
< th colspan = '2' > Resolution{% ifequal ticket.get_status_display "Resolved" %} < a href = '?close' > < img src = '{{ MEDIA_URL }}/helpdesk/buttons/accept.png' alt = 'Accept' title = 'Accept and Close' width = '60' height = '15' / > < / a > {% endifequal %}< / th >
2008-01-07 21:22:13 +01:00
< / tr >
2008-01-10 01:28:45 +01:00
< tr class = 'row_even' >
2008-01-07 21:22:13 +01:00
< td colspan = '2' > {{ ticket.resolution }}< / td >
2007-12-27 01:29:17 +01:00
< / tr > {% endif %}
< / table >
{% if ticket.followup_set.all %}
< h3 > Follow-Ups< / h3 >
{% load ticket_to_link %}
{% for followup in ticket.followup_set.all %}
< div class = 'followup' >
2008-01-21 00:31:27 +01:00
< div class = 'title' > {{ followup.title }} < span class = 'byline' > {% if followup.user %}by {{ followup.user }}{% endif %} < span title = '{{ followup.date|date:"r" }}' > {{ followup.date|timesince }} ago< / span > {% if not followup.public %} < span class = 'private' > (Private)< / span > {% endif %}< / span > < / div >
{% if followup.comment %}{{ followup.comment|num_to_link }}{% endif %}
2007-12-27 01:29:17 +01:00
{% for change in followup.ticketchange_set.all %}
2008-02-08 01:19:58 +01:00
{% if forloop.first %}< div class = 'changes' > < ul > {% endif %}
2008-01-21 00:31:27 +01:00
< li > Changed {{ change.field }} from {{ change.old_value }} to {{ change.new_value }}.< / li >
2008-02-08 01:19:58 +01:00
{% if forloop.last %}< / div > < / ul > {% endif %}
{% endfor %}
{% for attachment in followup.attachment_set.all %}{% if forloop.first %}< div class = 'attachments' > < ul > {% endif %}
< li > < a href = '{{ attachment.get_file_url }}' > {{ attachment.filename }}< / a > ({{ attachment.mime_type }}, {{ attachment.size|filesizeformat }})< / li >
{% if forloop.last %}< / ul > < / div > {% endif %}
2007-12-27 01:29:17 +01:00
{% endfor %}
< / div >
{% endfor %}
{% endif %}
2008-01-11 02:00:01 +01:00
< h3 > Respond to this ticket< / h3 >
2008-02-08 01:19:58 +01:00
< form method = 'post' action = 'update/' enctype = 'multipart/form-data' >
2008-01-15 01:02:06 +01:00
< fieldset >
< dl >
< dt > < label for = 'id_preset' > Use a Pre-set Reply< / label > < span class = 'form_optional' > (Optional)< / span > < / dt >
< dd > < select name = 'preset' id = 'id_preset' > < option value = '' > ------< / option > {% for preset in preset_replies %}< option value = '{{ preset.id }}' > {{ preset.name }}< / option > {% endfor %}< / select > < / dd >
< dd class = 'form_help_text' > Selecting a pre-set reply will over-write your comment below. You can then modify the pre-set reply to your liking before saving this update.< / dd >
< dt > < label for = 'commentBox' > Comment / Resolution< / label > < / dt >
< dd > < textarea rows = '8' cols = '70' name = 'comment' id = 'commentBox' > < / textarea > < / dd >
< dd class = 'form_help_text' > You can use the ticket and queue template variables in your message.< / dd >
< dt > < label > New Status< / label > < / dt >
{% ifequal ticket.status 1 %}
< dd > < input type = 'radio' name = 'new_status' value = '1' id = 'st_open' checked = 'checked' > < label for = 'st_open' class = 'active' > Open< / label > »
< input type = 'radio' name = 'new_status' value = '3' id = 'st_resolved' > < label for = 'st_resolved' > Resolved< / label > »
< input type = 'radio' name = 'new_status' value = '4' id = 'st_closed' > < label for = 'st_closed' > Closed< / label > < / dd >
{% endifequal %}
{% ifequal ticket.status 2 %}
< dd > < input type = 'radio' name = 'new_status' value = '2' id = 'st_reopened' checked = 'checked' > < label for = 'st_reopened' class = 'active' > Reopened< / label > »
< input type = 'radio' name = 'new_status' value = '3' id = 'st_resolved' > < label for = 'st_resolved' > Resolved< / label > »
< input type = 'radio' name = 'new_status' value = '4' id = 'st_closed' > < label for = 'st_closed' > Closed< / label > < / dd >
{% endifequal %}
{% ifequal ticket.status 3 %}
< dd > < input type = 'radio' name = 'new_status' value = '2' id = 'st_reopened' > < label for = 'st_reopened' > Reopened< / label > «
< input type = 'radio' name = 'new_status' value = '3' id = 'st_resolved' checked = 'checked' > < label for = 'st_resolved' class = 'active' > Resolved< / label > »
< input type = 'radio' name = 'new_status' value = '4' id = 'st_closed' > < label for = 'st_closed' > Closed< / label > < / dd >
{% endifequal %}
{% ifequal ticket.status 4 %}
< dd > < input type = 'radio' name = 'new_status' value = '2' id = 'st_reopened' > < label for = 'st_reopened' > Reopened< / label > «
< input type = 'radio' name = 'new_status' value = '4' id = 'st_closed' checked = 'checked' > < label for = 'st_closed' > Closed< / label > < / dd >
{% endifequal %}
< dt > < label for = 'id_public' > Is this update public?< / label > < span class = 'form_optional' > (Optional)< / span > < / dt >
< dd > < input type = 'checkbox' name = 'public' value = '1' checked = 'checked' / > < / dD >
< dd class = 'form_help_text' > If this is public, the submitter will be e-mailed your comment or resolution.< / dd >
< / dl >
< p id = 'ShowFurtherOptPara' > < a href = '#' id = 'ShowFurtherEditOptions' > Change Further Details » < / a > < / p >
2007-12-27 01:29:17 +01:00
< div id = 'FurtherEditOptions' style = 'display: none;' >
2008-01-15 01:02:06 +01:00
< dl >
2007-12-27 01:29:17 +01:00
2008-01-15 01:02:06 +01:00
< dt > < label for = 'id_title' > Title< / label > < / dt >
< dd > < input type = 'text' name = 'title' value = '{{ ticket.title|escape }}' / > < / dd >
2007-12-27 01:29:17 +01:00
2008-01-15 01:02:06 +01:00
< dt > < label for = 'id_owner' > Owner< / label > < / dt >
< dd > < select id = 'id_owner' name = 'owner' > < option value = '0' > Unassign< / option > {% for u in active_users %}< option value = '{{ u.id }}' { % ifequal u . id ticket . assigned_to . id % } selected { % endifequal % } > {{ u }}< / option > {% endfor %}< / select > < / dd >
< dt > < label for = 'id_priority' > Priority< / label > < / dt >
< dd > < select id = 'id_priority' name = 'priority' > {% for p in priorities %}< option value = '{{ p.0 }}' { % ifequal p . 0 ticket . priority % } selected = 'selected' { % endifequal % } > {{ p.1 }}< / option > {% endfor %}< / select > < / dd >
< / dl >
2008-01-10 01:28:45 +01:00
2007-12-27 01:29:17 +01:00
< / div >
2008-02-08 01:19:58 +01:00
< p id = 'ShowFileUploadPara' > < a href = '#' id = 'ShowFileUpload' > Attach File(s) » < / a > < / p >
< div id = 'FileUpload' style = 'display: none;' >
2008-01-15 01:02:06 +01:00
2008-02-08 01:19:58 +01:00
< dl >
< dt > < label for = 'id_file' > Attach a File< / label > < / dt >
2008-02-08 01:48:23 +01:00
< dd > < input type = 'file' name = 'attachment' id = 'file' / > < span class = 'AddAnotherFile' > (< a href = '#' > Add Another File< / a > )< / span > < / dd >
2008-02-08 01:19:58 +01:00
< / dl >
< / div >
< / fieldset >
2007-12-27 01:29:17 +01:00
2008-01-15 01:02:06 +01:00
< input type = 'submit' value = 'Update This Ticket' / >
2007-12-27 01:29:17 +01:00
< / form >
{% endblock %}