mirror of
https://github.com/django-helpdesk/django-helpdesk.git
synced 2025-05-30 22:45:48 +02:00
added due_date migration and added to edit ticket form
This commit is contained in:
parent
01b0adc733
commit
1a4c6520a6
@ -159,10 +159,12 @@ class TicketForm(forms.Form):
|
|||||||
label=_('Due on'),
|
label=_('Due on'),
|
||||||
)
|
)
|
||||||
|
|
||||||
def clean_due_date:
|
def clean_due_date(self):
|
||||||
new_data = self.cleaned_data['due_date']
|
data = self.cleaned_data['due_date']
|
||||||
if new_data != self.instance.due_date:
|
#import ipdb; ipdb.set_trace()
|
||||||
|
if not hasattr(self, 'instance') or self.instance.due_date != new_data:
|
||||||
print "you changed!"
|
print "you changed!"
|
||||||
|
return data
|
||||||
|
|
||||||
attachment = forms.FileField(
|
attachment = forms.FileField(
|
||||||
required=False,
|
required=False,
|
||||||
|
228
helpdesk/migrations/0004_auto__add_field_ticket_due_date.py
Normal file
228
helpdesk/migrations/0004_auto__add_field_ticket_due_date.py
Normal file
@ -0,0 +1,228 @@
|
|||||||
|
# encoding: utf-8
|
||||||
|
import datetime
|
||||||
|
from south.db import db
|
||||||
|
from south.v2 import SchemaMigration
|
||||||
|
from django.db import models
|
||||||
|
|
||||||
|
class Migration(SchemaMigration):
|
||||||
|
|
||||||
|
def forwards(self, orm):
|
||||||
|
|
||||||
|
# Adding field 'Ticket.due_date'
|
||||||
|
db.add_column('helpdesk_ticket', 'due_date', self.gf('django.db.models.fields.DateTimeField')(null=True, blank=True), keep_default=False)
|
||||||
|
|
||||||
|
|
||||||
|
def backwards(self, orm):
|
||||||
|
|
||||||
|
# Deleting field 'Ticket.due_date'
|
||||||
|
db.delete_column('helpdesk_ticket', 'due_date')
|
||||||
|
|
||||||
|
models = {
|
||||||
|
'auth.group': {
|
||||||
|
'Meta': {'object_name': 'Group'},
|
||||||
|
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
||||||
|
'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}),
|
||||||
|
'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'})
|
||||||
|
},
|
||||||
|
'auth.permission': {
|
||||||
|
'Meta': {'ordering': "('content_type__app_label', 'content_type__model', 'codename')", 'unique_together': "(('content_type', 'codename'),)", 'object_name': 'Permission'},
|
||||||
|
'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
|
||||||
|
'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}),
|
||||||
|
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
||||||
|
'name': ('django.db.models.fields.CharField', [], {'max_length': '50'})
|
||||||
|
},
|
||||||
|
'auth.user': {
|
||||||
|
'Meta': {'object_name': 'User'},
|
||||||
|
'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
|
||||||
|
'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}),
|
||||||
|
'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
|
||||||
|
'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Group']", 'symmetrical': 'False', 'blank': 'True'}),
|
||||||
|
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
||||||
|
'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
|
||||||
|
'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
|
||||||
|
'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
|
||||||
|
'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
|
||||||
|
'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
|
||||||
|
'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
|
||||||
|
'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}),
|
||||||
|
'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'})
|
||||||
|
},
|
||||||
|
'contenttypes.contenttype': {
|
||||||
|
'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"},
|
||||||
|
'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
|
||||||
|
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
||||||
|
'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
|
||||||
|
'name': ('django.db.models.fields.CharField', [], {'max_length': '100'})
|
||||||
|
},
|
||||||
|
'helpdesk.attachment': {
|
||||||
|
'Meta': {'ordering': "['filename']", 'object_name': 'Attachment'},
|
||||||
|
'file': ('django.db.models.fields.files.FileField', [], {'max_length': '100'}),
|
||||||
|
'filename': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
|
||||||
|
'followup': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['helpdesk.FollowUp']"}),
|
||||||
|
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
||||||
|
'mime_type': ('django.db.models.fields.CharField', [], {'max_length': '30'}),
|
||||||
|
'size': ('django.db.models.fields.IntegerField', [], {})
|
||||||
|
},
|
||||||
|
'helpdesk.customfield': {
|
||||||
|
'Meta': {'object_name': 'CustomField'},
|
||||||
|
'data_type': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
|
||||||
|
'decimal_places': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
|
||||||
|
'empty_selection_list': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
|
||||||
|
'help_text': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
|
||||||
|
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
||||||
|
'label': ('django.db.models.fields.CharField', [], {'max_length': "'30'"}),
|
||||||
|
'list_values': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
|
||||||
|
'max_length': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
|
||||||
|
'name': ('django.db.models.fields.SlugField', [], {'unique': 'True', 'max_length': '50', 'db_index': 'True'}),
|
||||||
|
'ordering': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
|
||||||
|
'required': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
|
||||||
|
'staff_only': ('django.db.models.fields.BooleanField', [], {'default': 'False'})
|
||||||
|
},
|
||||||
|
'helpdesk.emailtemplate': {
|
||||||
|
'Meta': {'ordering': "['template_name', 'locale']", 'object_name': 'EmailTemplate'},
|
||||||
|
'heading': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
|
||||||
|
'html': ('django.db.models.fields.TextField', [], {}),
|
||||||
|
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
||||||
|
'locale': ('django.db.models.fields.CharField', [], {'max_length': '10', 'null': 'True', 'blank': 'True'}),
|
||||||
|
'plain_text': ('django.db.models.fields.TextField', [], {}),
|
||||||
|
'subject': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
|
||||||
|
'template_name': ('django.db.models.fields.CharField', [], {'max_length': '100'})
|
||||||
|
},
|
||||||
|
'helpdesk.escalationexclusion': {
|
||||||
|
'Meta': {'object_name': 'EscalationExclusion'},
|
||||||
|
'date': ('django.db.models.fields.DateField', [], {}),
|
||||||
|
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
||||||
|
'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
|
||||||
|
'queues': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': "orm['helpdesk.Queue']", 'null': 'True', 'blank': 'True'})
|
||||||
|
},
|
||||||
|
'helpdesk.followup': {
|
||||||
|
'Meta': {'ordering': "['date']", 'object_name': 'FollowUp'},
|
||||||
|
'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
|
||||||
|
'date': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime(2012, 1, 20, 12, 19, 46, 778593)'}),
|
||||||
|
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
||||||
|
'new_status': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
|
||||||
|
'public': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
|
||||||
|
'ticket': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['helpdesk.Ticket']"}),
|
||||||
|
'title': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}),
|
||||||
|
'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']", 'null': 'True', 'blank': 'True'})
|
||||||
|
},
|
||||||
|
'helpdesk.ignoreemail': {
|
||||||
|
'Meta': {'object_name': 'IgnoreEmail'},
|
||||||
|
'date': ('django.db.models.fields.DateField', [], {'blank': 'True'}),
|
||||||
|
'email_address': ('django.db.models.fields.CharField', [], {'max_length': '150'}),
|
||||||
|
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
||||||
|
'keep_in_mailbox': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
|
||||||
|
'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
|
||||||
|
'queues': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': "orm['helpdesk.Queue']", 'null': 'True', 'blank': 'True'})
|
||||||
|
},
|
||||||
|
'helpdesk.kbcategory': {
|
||||||
|
'Meta': {'ordering': "['title']", 'object_name': 'KBCategory'},
|
||||||
|
'description': ('django.db.models.fields.TextField', [], {}),
|
||||||
|
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
||||||
|
'slug': ('django.db.models.fields.SlugField', [], {'max_length': '50', 'db_index': 'True'}),
|
||||||
|
'title': ('django.db.models.fields.CharField', [], {'max_length': '100'})
|
||||||
|
},
|
||||||
|
'helpdesk.kbitem': {
|
||||||
|
'Meta': {'ordering': "['title']", 'object_name': 'KBItem'},
|
||||||
|
'answer': ('django.db.models.fields.TextField', [], {}),
|
||||||
|
'category': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['helpdesk.KBCategory']"}),
|
||||||
|
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
||||||
|
'last_updated': ('django.db.models.fields.DateTimeField', [], {'blank': 'True'}),
|
||||||
|
'question': ('django.db.models.fields.TextField', [], {}),
|
||||||
|
'recommendations': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
|
||||||
|
'title': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
|
||||||
|
'votes': ('django.db.models.fields.IntegerField', [], {'default': '0'})
|
||||||
|
},
|
||||||
|
'helpdesk.presetreply': {
|
||||||
|
'Meta': {'ordering': "['name']", 'object_name': 'PreSetReply'},
|
||||||
|
'body': ('django.db.models.fields.TextField', [], {}),
|
||||||
|
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
||||||
|
'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
|
||||||
|
'queues': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': "orm['helpdesk.Queue']", 'null': 'True', 'blank': 'True'})
|
||||||
|
},
|
||||||
|
'helpdesk.queue': {
|
||||||
|
'Meta': {'ordering': "('title',)", 'object_name': 'Queue'},
|
||||||
|
'allow_email_submission': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
|
||||||
|
'allow_public_submission': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
|
||||||
|
'email_address': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'null': 'True', 'blank': 'True'}),
|
||||||
|
'email_box_host': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}),
|
||||||
|
'email_box_imap_folder': ('django.db.models.fields.CharField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}),
|
||||||
|
'email_box_interval': ('django.db.models.fields.IntegerField', [], {'default': "'5'", 'null': 'True', 'blank': 'True'}),
|
||||||
|
'email_box_last_check': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
|
||||||
|
'email_box_pass': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}),
|
||||||
|
'email_box_port': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
|
||||||
|
'email_box_ssl': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
|
||||||
|
'email_box_type': ('django.db.models.fields.CharField', [], {'max_length': '5', 'null': 'True', 'blank': 'True'}),
|
||||||
|
'email_box_user': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}),
|
||||||
|
'escalate_days': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
|
||||||
|
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
||||||
|
'locale': ('django.db.models.fields.CharField', [], {'max_length': '10', 'null': 'True', 'blank': 'True'}),
|
||||||
|
'new_ticket_cc': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}),
|
||||||
|
'slug': ('django.db.models.fields.SlugField', [], {'max_length': '50', 'db_index': 'True'}),
|
||||||
|
'title': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
|
||||||
|
'updated_ticket_cc': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'})
|
||||||
|
},
|
||||||
|
'helpdesk.savedsearch': {
|
||||||
|
'Meta': {'object_name': 'SavedSearch'},
|
||||||
|
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
||||||
|
'query': ('django.db.models.fields.TextField', [], {}),
|
||||||
|
'shared': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
|
||||||
|
'title': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
|
||||||
|
'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"})
|
||||||
|
},
|
||||||
|
'helpdesk.ticket': {
|
||||||
|
'Meta': {'object_name': 'Ticket'},
|
||||||
|
'assigned_to': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'assigned_to'", 'null': 'True', 'to': "orm['auth.User']"}),
|
||||||
|
'created': ('django.db.models.fields.DateTimeField', [], {'blank': 'True'}),
|
||||||
|
'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
|
||||||
|
'due_date': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
|
||||||
|
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
||||||
|
'last_escalation': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
|
||||||
|
'modified': ('django.db.models.fields.DateTimeField', [], {'blank': 'True'}),
|
||||||
|
'on_hold': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
|
||||||
|
'priority': ('django.db.models.fields.IntegerField', [], {'default': '3', 'blank': '3'}),
|
||||||
|
'queue': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['helpdesk.Queue']"}),
|
||||||
|
'resolution': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
|
||||||
|
'status': ('django.db.models.fields.IntegerField', [], {'default': '1'}),
|
||||||
|
'submitter_email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'null': 'True', 'blank': 'True'}),
|
||||||
|
'title': ('django.db.models.fields.CharField', [], {'max_length': '200'})
|
||||||
|
},
|
||||||
|
'helpdesk.ticketcc': {
|
||||||
|
'Meta': {'object_name': 'TicketCC'},
|
||||||
|
'can_update': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
|
||||||
|
'can_view': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
|
||||||
|
'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'null': 'True', 'blank': 'True'}),
|
||||||
|
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
||||||
|
'ticket': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['helpdesk.Ticket']"}),
|
||||||
|
'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']", 'null': 'True', 'blank': 'True'})
|
||||||
|
},
|
||||||
|
'helpdesk.ticketchange': {
|
||||||
|
'Meta': {'object_name': 'TicketChange'},
|
||||||
|
'field': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
|
||||||
|
'followup': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['helpdesk.FollowUp']"}),
|
||||||
|
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
||||||
|
'new_value': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
|
||||||
|
'old_value': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'})
|
||||||
|
},
|
||||||
|
'helpdesk.ticketcustomfieldvalue': {
|
||||||
|
'Meta': {'unique_together': "(('ticket', 'field'),)", 'object_name': 'TicketCustomFieldValue'},
|
||||||
|
'field': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['helpdesk.CustomField']"}),
|
||||||
|
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
||||||
|
'ticket': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['helpdesk.Ticket']"}),
|
||||||
|
'value': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'})
|
||||||
|
},
|
||||||
|
'helpdesk.ticketdependency': {
|
||||||
|
'Meta': {'unique_together': "(('ticket', 'depends_on'),)", 'object_name': 'TicketDependency'},
|
||||||
|
'depends_on': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'depends_on'", 'to': "orm['helpdesk.Ticket']"}),
|
||||||
|
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
||||||
|
'ticket': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'ticketdependency'", 'to': "orm['helpdesk.Ticket']"})
|
||||||
|
},
|
||||||
|
'helpdesk.usersettings': {
|
||||||
|
'Meta': {'object_name': 'UserSettings'},
|
||||||
|
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
||||||
|
'settings_pickled': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
|
||||||
|
'user': ('django.db.models.fields.related.OneToOneField', [], {'to': "orm['auth.User']", 'unique': 'True'})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
complete_apps = ['helpdesk']
|
@ -174,6 +174,9 @@ function googleTranslateElementInit() {
|
|||||||
|
|
||||||
<dt><label for='id_priority'>{% trans "Priority" %}</label></dt>
|
<dt><label for='id_priority'>{% trans "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>
|
<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>
|
||||||
|
<dt><label for='id_due_date'>{% trans "Due on" %}</label></dt>
|
||||||
|
<dd>{{ form.due_date }}</dd>
|
||||||
|
|
||||||
{% if tags_enabled %}
|
{% if tags_enabled %}
|
||||||
<dt><label for='id_tags'>{% trans "Tags" %}</label></dt>
|
<dt><label for='id_tags'>{% trans "Tags" %}</label></dt>
|
||||||
<dd><input type='text' id='id_tags' name='tags' value='{{ ticket.tags }}'/></dd>
|
<dd><input type='text' id='id_tags' name='tags' value='{{ ticket.tags }}'/></dd>
|
||||||
|
@ -221,9 +221,14 @@ def view_ticket(request, ticket_id):
|
|||||||
else:
|
else:
|
||||||
users = User.objects.filter(is_active=True).order_by('username')
|
users = User.objects.filter(is_active=True).order_by('username')
|
||||||
|
|
||||||
|
|
||||||
|
# TODO: shouldn't this template get a form to begin with?
|
||||||
|
form = TicketForm(initial={'due_date':ticket.due_date})
|
||||||
|
|
||||||
return render_to_response('helpdesk/ticket.html',
|
return render_to_response('helpdesk/ticket.html',
|
||||||
RequestContext(request, {
|
RequestContext(request, {
|
||||||
'ticket': ticket,
|
'ticket': ticket,
|
||||||
|
'form': form,
|
||||||
'active_users': users,
|
'active_users': users,
|
||||||
'priorities': Ticket.PRIORITY_CHOICES,
|
'priorities': Ticket.PRIORITY_CHOICES,
|
||||||
'preset_replies': PreSetReply.objects.filter(Q(queues=ticket.queue) | Q(queues__isnull=True)),
|
'preset_replies': PreSetReply.objects.filter(Q(queues=ticket.queue) | Q(queues__isnull=True)),
|
||||||
@ -244,6 +249,10 @@ def update_ticket(request, ticket_id, public=False):
|
|||||||
public = request.POST.get('public', False)
|
public = request.POST.get('public', False)
|
||||||
owner = int(request.POST.get('owner', None))
|
owner = int(request.POST.get('owner', None))
|
||||||
priority = int(request.POST.get('priority', ticket.priority))
|
priority = int(request.POST.get('priority', ticket.priority))
|
||||||
|
due_date = datetime(
|
||||||
|
int(request.POST.get('due_date_year')),
|
||||||
|
int(request.POST.get('due_date_month')),
|
||||||
|
int(request.POST.get('due_date_day')))
|
||||||
tags = request.POST.get('tags', '')
|
tags = request.POST.get('tags', '')
|
||||||
|
|
||||||
# We need to allow the 'ticket' and 'queue' contexts to be applied to the
|
# We need to allow the 'ticket' and 'queue' contexts to be applied to the
|
||||||
@ -338,6 +347,16 @@ def update_ticket(request, ticket_id, public=False):
|
|||||||
c.save()
|
c.save()
|
||||||
ticket.priority = priority
|
ticket.priority = priority
|
||||||
|
|
||||||
|
if due_date != ticket.due_date:
|
||||||
|
c = TicketChange(
|
||||||
|
followup=f,
|
||||||
|
field=_('Due on'),
|
||||||
|
old_value=ticket.due_date,
|
||||||
|
new_value=due_date,
|
||||||
|
)
|
||||||
|
c.save()
|
||||||
|
ticket.due_date = due_date
|
||||||
|
|
||||||
if HAS_TAG_SUPPORT:
|
if HAS_TAG_SUPPORT:
|
||||||
if tags != ticket.tags:
|
if tags != ticket.tags:
|
||||||
c = TicketChange(
|
c = TicketChange(
|
||||||
|
Loading…
x
Reference in New Issue
Block a user