mirror of
https://github.com/django-helpdesk/django-helpdesk.git
synced 2025-06-25 20:11:29 +02:00
* Add ability to delete tickets completely
* Add model for file attachments, although currently commented out.
This commit is contained in:
parent
038ea15877
commit
14b2c59093
15
models.py
15
models.py
@ -236,9 +236,18 @@ class TicketChange(models.Model):
|
|||||||
str += 'changed from "%s" to "%s"' % (old_value, new_value)
|
str += 'changed from "%s" to "%s"' % (old_value, new_value)
|
||||||
return str
|
return str
|
||||||
|
|
||||||
#class Attachment(models.Model):
|
"""class Attachment(models.Model):
|
||||||
#followup = models.ForeignKey(FollowUp, edit_inline=models.TABULAR)
|
followup = models.ForeignKey(FollowUp, edit_inline=models.TABULAR)
|
||||||
#file = models.FileField()
|
file = models.FileField()
|
||||||
|
filename = models.CharField(maxlength=100)
|
||||||
|
mime_type = models.CharField(maxlength=30)
|
||||||
|
size = models.IntegerField(help_text='Size of this file in bytes')
|
||||||
|
|
||||||
|
def __unicode__(self):
|
||||||
|
return u'%s' % self.filename
|
||||||
|
|
||||||
|
class Meta:
|
||||||
|
ordering = ['filename',] """
|
||||||
|
|
||||||
class PreSetReply(models.Model):
|
class PreSetReply(models.Model):
|
||||||
""" We can allow the admin to define a number of pre-set replies, used to
|
""" We can allow the admin to define a number of pre-set replies, used to
|
||||||
|
11
templates/helpdesk/delete_ticket.html
Normal file
11
templates/helpdesk/delete_ticket.html
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
{% extends "helpdesk/base.html" %}
|
||||||
|
{% block helpdesk_title %}Delete Ticket{% endblock %}
|
||||||
|
|
||||||
|
{% block helpdesk_body %}
|
||||||
|
<h2>Delete Ticket</h2>
|
||||||
|
|
||||||
|
<p>Are you sure you want to delete this ticket (<em>{{ ticket.title }}</em>)? All traces of the ticket, including followups, attachments, and updates will be irreversably removed.</p>
|
||||||
|
|
||||||
|
<p><a href='../'>No, Don't Delete It</a></p>
|
||||||
|
<form method='post' action='./'><input type='submit' value='Yes - Delete It' /></form>
|
||||||
|
{% endblock %}
|
@ -25,7 +25,7 @@
|
|||||||
{% block helpdesk_body %}
|
{% block helpdesk_body %}
|
||||||
|
|
||||||
<table width='100%'>
|
<table width='100%'>
|
||||||
<tr class='row_tablehead'><td>{{ ticket.id }}. {{ ticket.title }} [{{ ticket.get_status_display }}]</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='?delete'><img src='{{ MEDIA_URL }}/helpdesk/buttons/delete.png' alt='Delete' title='Delete' width='60' height='15' /></a></td></tr>
|
<tr class='row_tablehead'><td>{{ ticket.id }}. {{ ticket.title }} [{{ ticket.get_status_display }}]</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></td></tr>
|
||||||
<tr class='row_columnheads'><th colspan='2'>Queue: {{ ticket.queue }}</th></tr>
|
<tr class='row_columnheads'><th colspan='2'>Queue: {{ ticket.queue }}</th></tr>
|
||||||
|
|
||||||
<tr class='row_odd'>
|
<tr class='row_odd'>
|
||||||
|
5
urls.py
5
urls.py
@ -50,6 +50,11 @@ urlpatterns = patterns('helpdesk.views',
|
|||||||
'update_ticket',
|
'update_ticket',
|
||||||
name='helpdesk_update'),
|
name='helpdesk_update'),
|
||||||
|
|
||||||
|
url(r'^tickets/(?P<ticket_id>[0-9]+)/delete/$',
|
||||||
|
'delete_ticket',
|
||||||
|
name='helpdesk_delete'),
|
||||||
|
|
||||||
|
|
||||||
url(r'^raw/(?P<type>\w+)/$',
|
url(r'^raw/(?P<type>\w+)/$',
|
||||||
'raw_details',
|
'raw_details',
|
||||||
name='helpdesk_raw'),
|
name='helpdesk_raw'),
|
||||||
|
19
views.py
19
views.py
@ -63,18 +63,25 @@ def dashboard(request):
|
|||||||
}))
|
}))
|
||||||
dashboard = login_required(dashboard)
|
dashboard = login_required(dashboard)
|
||||||
|
|
||||||
|
def delete_ticket(request, ticket_id):
|
||||||
|
ticket = get_object_or_404(Ticket, id=ticket_id)
|
||||||
|
|
||||||
|
if request.method == 'GET':
|
||||||
|
return render_to_response('helpdesk/delete_ticket.html',
|
||||||
|
RequestContext(request, {
|
||||||
|
'ticket': ticket,
|
||||||
|
}))
|
||||||
|
else:
|
||||||
|
ticket.delete()
|
||||||
|
return HttpResponseRedirect(reverse('helpdesk_home'))
|
||||||
|
delete_ticket = login_required(delete_ticket)
|
||||||
|
|
||||||
def view_ticket(request, ticket_id):
|
def view_ticket(request, ticket_id):
|
||||||
ticket = get_object_or_404(Ticket, id=ticket_id)
|
ticket = get_object_or_404(Ticket, id=ticket_id)
|
||||||
if request.GET.has_key('take'):
|
if request.GET.has_key('take'):
|
||||||
ticket.assigned_to = request.user
|
ticket.assigned_to = request.user
|
||||||
ticket.save()
|
ticket.save()
|
||||||
|
|
||||||
if request.GET.has_key('delete'):
|
|
||||||
if request.method == 'GET':
|
|
||||||
else:
|
|
||||||
ticket.delete()
|
|
||||||
return HttpResponseRedirect(reverse('helpdesk_dashboard'))
|
|
||||||
|
|
||||||
if request.GET.has_key('close') and ticket.status == Ticket.RESOLVED_STATUS:
|
if request.GET.has_key('close') and ticket.status == Ticket.RESOLVED_STATUS:
|
||||||
if not ticket.assigned_to:
|
if not ticket.assigned_to:
|
||||||
owner = 0
|
owner = 0
|
||||||
|
Loading…
x
Reference in New Issue
Block a user