diff --git a/docs/settings.rst b/docs/settings.rst index ae3fb2df..dd6a3ea3 100644 --- a/docs/settings.rst +++ b/docs/settings.rst @@ -81,6 +81,10 @@ These changes are visible throughout django-helpdesk - **HELPDESK_EMAIL_FALLBACK_LOCALE** Fallback locale for templated emails when queue locale not found **Default:** ``HELPDESK_EMAIL_FALLBACK_LOCALE= "en"`` + +- **QUEUE_EMAIL_BOX_UPDATE_ONLY** Only process mail with a valid tracking ID; all other mail will be ignored instead of creating a new ticket. + + **Default:** ``False`` Options shown on public pages diff --git a/helpdesk/lib.py b/helpdesk/lib.py index 4f0ded3d..53e2fe9a 100644 --- a/helpdesk/lib.py +++ b/helpdesk/lib.py @@ -117,7 +117,15 @@ def send_templated_mail(template_name, if files: for filename, filefield in files: - msg.attach(filename, open(filefield.path).read()) + mime = mimetypes.guess_type(filename) + if mime[0] is not None and mime[0] == "text/plain": + with open(filefield.path, 'r') as file: + content = file.read() + msg.attach(filename, content) + else: + with open(filefield.path, 'rb') as file: + content = file.read() + msg.attach(filename, content) return msg.send(fail_silently) diff --git a/helpdesk/settings.py b/helpdesk/settings.py index 6fd8e460..1714fba1 100644 --- a/helpdesk/settings.py +++ b/helpdesk/settings.py @@ -51,7 +51,7 @@ HELPDESK_TRANSLATE_TICKET_COMMENTS = getattr(settings, # all default google translate languages will be shown. HELPDESK_TRANSLATE_TICKET_COMMENTS_LANG = getattr(settings, 'HELPDESK_TRANSLATE_TICKET_COMMENTS_LANG', - ["en", "de", "fr", "it", "ru"]) + ["en", "de", "es", "fr", "it", "ru"]) # show link to 'change password' on 'User Settings' page? HELPDESK_SHOW_CHANGE_PASSWORD = getattr(settings, 'HELPDESK_SHOW_CHANGE_PASSWORD', False) @@ -133,6 +133,8 @@ QUEUE_EMAIL_BOX_SSL = getattr(settings, 'QUEUE_EMAIL_BOX_SSL', None) QUEUE_EMAIL_BOX_HOST = getattr(settings, 'QUEUE_EMAIL_BOX_HOST', None) QUEUE_EMAIL_BOX_USER = getattr(settings, 'QUEUE_EMAIL_BOX_USER', None) QUEUE_EMAIL_BOX_PASSWORD = getattr(settings, 'QUEUE_EMAIL_BOX_PASSWORD', None) + +# only process emails with a valid tracking ID? (throws away all other mail) QUEUE_EMAIL_BOX_UPDATE_ONLY = getattr(settings, 'QUEUE_EMAIL_BOX_UPDATE_ONLY', False) # only allow users to access queues that they are members of? diff --git a/helpdesk/templates/helpdesk/ticket.html b/helpdesk/templates/helpdesk/ticket.html index 09bdbe67..d0f86d16 100644 --- a/helpdesk/templates/helpdesk/ticket.html +++ b/helpdesk/templates/helpdesk/ticket.html @@ -1,7 +1,7 @@ {% extends "helpdesk/base.html" %} {% load i18n bootstrap humanize %} {% load static from staticfiles %} -{% block helpdesk_title %}{% trans "View Ticket Details" %}{% endblock %} +{% block helpdesk_title %}{{ ticket.queue.slug }}-{{ ticket.id }} : {% trans "View Ticket Details" %}{% endblock %} {% block helpdesk_head %}