* Added force_insert and force_update parameters to model save() overrides (as per Django rev 8670)

* Added 'UserSettings' model to provide a user profile system independent of existing Django user profiles, for two reasons:  1) Avoids users having to update settings.py and 2) Allows jutda-helpdesk to integrate with websites who already use a User Profile
* Settings added in this revision allow a user to control e-mail alerts, and to determine whether they see the dashboard or ticket list at login.
* New 'Settings' link in page footer for signed-in users
* Logout now takes you to the Helpdesk homepage
* Fixed file attachment bug in management/commands/get_email.py which seemed to have been un-done (fixes issue # 4.

Jutda-helpdesk is now compatible with Django 1.0!
This commit is contained in:
Ross Poulton
2008-09-09 08:32:01 +00:00
parent a162d77d70
commit 3f8fc2cd68
10 changed files with 173 additions and 34 deletions

View File

@ -20,7 +20,7 @@ from django.shortcuts import render_to_response, get_object_or_404
from django.template import loader, Context, RequestContext
from django.utils.translation import ugettext as _
from helpdesk.forms import TicketForm
from helpdesk.forms import TicketForm, UserSettingsForm
from helpdesk.lib import send_templated_mail, line_chart, bar_chart, query_to_dict, apply_query, safe_template_context
from helpdesk.models import Ticket, Queue, FollowUp, TicketChange, PreSetReply, Attachment, SavedSearch
@ -234,13 +234,14 @@ def update_ticket(request, ticket_id):
else:
template_staff = 'updated_owner'
send_templated_mail(
template_staff,
context,
recipients=ticket.assigned_to.email,
sender=ticket.queue.from_address,
fail_silently=True,
)
if (not reassigned or ( reassigned and getattr(ticket.assigned_to.usersettings.settings, 'email_on_ticket_assign', False))) or (not reassigned and getattr(ticket.assigned_to.usersettings.settings, 'email_on_ticket_change', False)):
send_templated_mail(
template_staff,
context,
recipients=ticket.assigned_to.email,
sender=ticket.queue.from_address,
fail_silently=True,
)
if ticket.queue.updated_ticket_cc:
if reassigned:
@ -636,3 +637,19 @@ def delete_saved_query(request, id):
'query': query,
}))
delete_saved_query = login_required(delete_saved_query)
def user_settings(request):
s = request.user.usersettings
if request.POST:
form = UserSettingsForm(request.POST)
if form.is_valid():
s.settings = form.cleaned_data
s.save()
else:
form = UserSettingsForm(s.settings)
return render_to_response('helpdesk/user_settings.html',
RequestContext(request, {
'form': form,
}))
user_settings = login_required(user_settings)