This commit adds three new settings that allow the operator to
pre-define the `queue`, `priority` and `due_date` fields for public
tickets. If one of these settings are present the corresponding input
field is hidden from the form.
The settings are the following:
HELPDESK_PUBLIC_TICKET_QUEUE = 'website'
HELPDESK_PUBLIC_TICKET_PRIORITY = 2
HELPDESK_PUBLIC_TICKET_DUE_DATE = ''
If the due date is set to the empty string, no due date is saved in the
ticket (analogously to the form). The other settings should be
self-explanatory.
Extract attachment processing from forms, views.staff, and management.command.get_email modules, and consolidate it into a unified lib module function.
Also refactor the affected components, most notably lib.send_templated_email, to make it easier (IMO) to reason about changes to them.
Add unit tests for attachments with UTF-8 filenames, and functional tests for submission of same, as well as ASCII versions, through the public ticket-form.
Remove unused Attachment method "get_upload_to".
ugettext() loads the translations at the same time the module is loaded (--> always in english).
ugettext_lazy() loads them when they are needed (--> when the user makes a query --> we known the language the user wants based on the header of their HTTP request)
Signed-off-by: Jerome Flesch <jflesch@gmail.com>
- look at settings.py for all new options regarding customization.
- settings can be accessed inside the templates via the new
templatetag 'load_helpdesk_settings'
- allow editing of personal followups, but only if followup does not
contain any ticketchanges - otherwise this information is lost after
the editing.
- add 'delete' link to attachments
- link to list of closed tickets in queue overview
- add 'closed & resolved' section to dashboard
- hide 'pre-set reply' box if no pre-set replies are found.
- use 'SelectDateWidget' for custom DateField
- fix how we update followups so that attachments don't get deleted
- fix bug where resolution emails contained the solution 'None'
- fix stats crashing bug
- fix locale bug