diff --git a/docs/settings.rst b/docs/settings.rst index 38bb35fb..b6a5f03b 100644 --- a/docs/settings.rst +++ b/docs/settings.rst @@ -86,6 +86,10 @@ These changes are visible throughout django-helpdesk **Default:** ``HELPDESK_AUTO_SUBSCRIBE_ON_TICKET_RESPONSE = False`` +- **HELPDESK_EMAIL_SUBJECT_TEMPLATE ** Subject template for templated emails. ``%(subject)s`` represents the subject wording from the email template (e.g. "(Closed)"). + + **Default:** ``HELPDESK_EMAIL_SUBJECT_TEMPLATE = "{{ ticket.ticket }} {{ ticket.title|safe }} %(subject)s"`` + Options shown on public pages ----------------------------- diff --git a/helpdesk/lib.py b/helpdesk/lib.py index 39bc3074..3188c9c0 100644 --- a/helpdesk/lib.py +++ b/helpdesk/lib.py @@ -104,8 +104,9 @@ def send_templated_mail(template_name, email_context, recipients, sender=None, b ).render(context) subject_part = loader.get_template_from_string( - "{{ ticket.ticket }} {{ ticket.title|safe }} %s" % t.subject - ).render(context) + settings.HELPDESK_EMAIL_SUBJECT_TEMPLATE % { + "subject": t.subject, + }).render(context) if isinstance(recipients,(str,unicode)): if recipients.find(','): diff --git a/helpdesk/settings.py b/helpdesk/settings.py index 20140721..52fb4900 100644 --- a/helpdesk/settings.py +++ b/helpdesk/settings.py @@ -80,6 +80,9 @@ HELPDESK_STAFF_ONLY_TICKET_OWNERS = getattr(settings, 'HELPDESK_STAFF_ONLY_TICKE HELPDESK_STAFF_ONLY_TICKET_CC = getattr(settings, 'HELPDESK_STAFF_ONLY_TICKET_CC', False) +# allow the subject to have a configurable template. +HELPDESK_EMAIL_SUBJECT_TEMPLATE = getattr(settings, 'HELPDESK_EMAIL_SUBJECT_TEMPLATE', "{{ ticket.ticket }} {{ ticket.title|safe }} %(subject)s") + ''' options for staff.create_ticket view ''' # hide the 'assigned to' / 'Case owner' field from the 'create_ticket' view? diff --git a/helpdesk/urls.py b/helpdesk/urls.py index 9ea4fb99..caa1d3f5 100644 --- a/helpdesk/urls.py +++ b/helpdesk/urls.py @@ -160,11 +160,11 @@ urlpatterns += patterns('helpdesk.views.public', ) urlpatterns += patterns('', - url(r'^rss/user/(?P[\.\@A-Za-z0-9_-]+)/$', + url(r'^rss/user/(?P[^/]+)/$', login_required(feeds.OpenTicketsByUser()), name='helpdesk_rss_user'), - - url(r'^rss/user/(?P[\.\@A-Za-z0-9_-]+)/(?P[A-Za-z0-9_-]+)/$', + + url(r'^rss/user/(?P[^/]+)/(?P[A-Za-z0-9_-]+)/$', login_required(feeds.OpenTicketsByUser()), name='helpdesk_rss_user_queue'), diff --git a/helpdesk/views/staff.py b/helpdesk/views/staff.py index 0a8a33cf..e491c2d8 100644 --- a/helpdesk/views/staff.py +++ b/helpdesk/views/staff.py @@ -237,9 +237,9 @@ def view_ticket(request, ticket_id): return update_ticket(request, ticket_id) if helpdesk_settings.HELPDESK_STAFF_ONLY_TICKET_OWNERS: - users = User.objects.filter(is_active=True, is_staff=True).order_by('username') + users = User.objects.filter(is_active=True, is_staff=True).order_by(User.USERNAME_FIELD) else: - users = User.objects.filter(is_active=True).order_by('username') + users = User.objects.filter(is_active=True).order_by(User.USERNAME_FIELD) # TODO: shouldn't this template get a form to begin with?