Settings¶
First, django-helpdesk needs django.core.context_processors.request
activated, so you must add it to the settings.py
. Add the following:
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
...
'OPTIONS': {
...
'context_processors': (
# Default ones first
...
# The one django-helpdesk requires:
"django.template.context_processors.request",
),
},
},
]
The following settings can be changed in your settings.py
file to help change the way django-helpdesk operates. There are quite a few settings available to toggle functionality within django-helpdesk.
HELPDESK_DEFAULT_SETTINGS¶
django-helpdesk has a built in UserSettings
entity with per-user options that they will want to configure themselves. When you create a new user, a set of options is automatically created for them which they can then change themselves.
If you want to override the default settings for your users, create HELPDESK_DEFAULT_SETTINGS
as a dictionary in settings.py
. The default is below:
HELPDESK_DEFAULT_SETTINGS = {
'use_email_as_submitter': True,
'email_on_ticket_assign': True,
'email_on_ticket_change': True,
'login_view_ticketlist': True,
'tickets_per_page': 25
}
Generic Options¶
These changes are visible throughout django-helpdesk
HELPDESK_REDIRECT_TO_LOGIN_BY_DEFAULT When a user visits “/”, should we redirect to the login page instead of the default homepage?
Default:
HELPDESK_REDIRECT_TO_LOGIN_BY_DEFAULT = False
HELPDESK_KB_ENABLED show knowledgebase links?
Default:
HELPDESK_KB_ENABLED = True
HELPDESK_NAVIGATION_ENABLED Show extended navigation by default, to all users, irrespective of staff status?
Default:
HELPDESK_NAVIGATION_ENABLED = False
HELPDESK_TRANSLATE_TICKET_COMMENTS Show dropdown list of languages that ticket comments can be translated into via Google Translate?
Default:
HELPDESK_TRANSLATE_TICKET_COMMENTS = False
HELPDESK_TRANSLATE_TICKET_COMMENTS_LANG List of languages to offer. If set to false, all default google translate languages will be shown.
Default:
HELPDESK_TRANSLATE_TICKET_COMMENTS_LANG = ["en", "de", "fr", "it", "ru"]
HELPDESK_SHOW_CHANGE_PASSWORD Show link to ‘change password’ on ‘User Settings’ page?
Default:
HELPDESK_SHOW_CHANGE_PASSWORD = False
HELPDESK_FOLLOWUP_MOD Allow user to override default layout for ‘followups’ (work in progress)
Default:
HELPDESK_FOLLOWUP_MOD = False
HELPDESK_AUTO_SUBSCRIBE_ON_TICKET_RESPONSE Auto-subscribe user to ticket as a ‘CC’ if (s)he responds to a ticket?
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)”). Warning: your subject template should always include a{{ ticket.ticket }}
somewhere as manydjango-helpdesk
features rely on the ticket ID in the subject line in order to correctly route mail to the corresponding ticket. If you leave out the ticket ID, your helpdesk may not work correctly!Default:
HELPDESK_EMAIL_SUBJECT_TEMPLATE = "{{ ticket.ticket }} {{ ticket.title|safe }} %(subject)s"
HELPDESK_EMAIL_FALLBACK_LOCALE Fallback locale for templated emails when queue locale not found
Default:
HELPDESK_EMAIL_FALLBACK_LOCALE = "en"
HELPDESK_MAX_EMAIL_ATTACHMENT_SIZE Maximum size, in bytes, of file attachments that will be sent via email
Default:
HELPDESK_MAX_EMAIL_ATTACHMENT_SIZE = 512000
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:
QUEUE_EMAIL_BOX_UPDATE_ONLY = False
HELPDESK_ANON_ACCESS_RAISES_404 If True, redirects user to a 404 page when attempting to reach ticket pages while not logged in, rather than redirecting to a login screen.
Default:
HELPDESK_ANON_ACCESS_RAISES_404 = False
HELPDESK_ENABLE_DEPENDENCIES_ON_TICKET If False, disable the dependencies fields on ticket.
Default:
HELPDESK_ENABLE_DEPENDENCIES_ON_TICKET = True
HELPDESK_ENABLE_TIME_SPENT_ON_TICKET If False, disable the time spent fields on ticket.
Default:
HELPDESK_ENABLE_TIME_SPENT_ON_TICKET = True
HELPDESK_TICKETS_TIMELINE_ENABLED If False, remove from the dashboard the Timeline view for tickets.
Default:
HELPDESK_TICKETS_TIMELINE_ENABLED = True
Options shown on public pages¶
These options only change display of items on public-facing pages, not staff pages.
HELPDESK_VIEW_A_TICKET_PUBLIC Show ‘View a Ticket’ section on public page?
Default:
HELPDESK_VIEW_A_TICKET_PUBLIC = True
HELPDESK_SUBMIT_A_TICKET_PUBLIC Show ‘submit a ticket’ section & form on public page?
Default:
HELPDESK_SUBMIT_A_TICKET_PUBLIC = True
HELPDESK_PUBLIC_TICKET_FORM_CLASS Define custom form class to show on public pages for anon users. You can use it for adding custom fields and validation, captcha and so on.
Default:
HELPDESK_PUBLIC_TICKET_FORM_CLASS = "helpdesk.forms.PublicTicketForm"
Options for public ticket submission form¶
HELPDESK_PUBLIC_TICKET_QUEUE Sets the queue for tickets submitted through the public form. If defined, the matching form field will be hidden. This cannot be None but must be set to a valid queue slug.
Default: Not defined
HELPDESK_PUBLIC_TICKET_PRIORITY Sets the priority for tickets submitted through the public form. If defined, the matching form field will be hidden. Must be set to a valid integer priority.
Default: Not defined
HELPDESK_PUBLIC_TICKET_DUE_DATE Sets the due date for tickets submitted through the public form. If defined, the matching form field will be hidden. Set to None if you want to hide the form field but do not want to define a value.
Default: Not defined
Options that change ticket updates¶
HELPDESK_ALLOW_NON_STAFF_TICKET_UPDATE Allow non-staff users to interact with tickets? Set to True to allow any authenticated user to manage tickets. You can also apply a custom authorisation logic for identifying helpdesk staff members, by setting this to a callable. In that case, the value should be a function accepting the active user as a parameter and returning True if the user is considered helpdesk staff, e.g.
lambda u: u.is_authenticated() and u.is_active and u.groups.filter(name=’helpdesk_staff’).exists()))
Default:
HELPDESK_ALLOW_NON_STAFF_TICKET_UPDATE = False
HELPDESK_SHOW_EDIT_BUTTON_FOLLOW_UP Show edit buttons in ticket follow ups?
Default:
HELPDESK_SHOW_EDIT_BUTTON_FOLLOW_UP = True
HELPDESK_SHOW_DELETE_BUTTON_SUPERUSER_FOLLOW_UP Show delete buttons in ticket follow ups if user is ‘superuser’?
Default:
HELPDESK_SHOW_DELETE_BUTTON_SUPERUSER_FOLLOW_UP = False
HELPDESK_UPDATE_PUBLIC_DEFAULT Make all updates public by default? This will hide the ‘is this update public’ checkbox.
Default:
HELPDESK_UPDATE_PUBLIC_DEFAULT = False
HELPDESK_STAFF_ONLY_TICKET_OWNERS Only show staff users in ticket owner drop-downs?
Default:
HELPDESK_STAFF_ONLY_TICKET_OWNERS = False
HELPDESK_STAFF_ONLY_TICKET_CC Only show staff users in ticket cc drop-down?
Default:
HELPDESK_STAFF_ONLY_TICKET_CC = False
Staff Ticket Creation Settings¶
HELPDESK_CREATE_TICKET_HIDE_ASSIGNED_TO Hide the ‘assigned to’ / ‘Case owner’ field from the ‘create_ticket’ view? It’ll still show on the ticket detail/edit form.
Default:
HELPDESK_CREATE_TICKET_HIDE_ASSIGNED_TO = False
HELPDESK_ACTIVATE_API_ENDPOINT Activate the API endpoint to manage tickets thanks to Django REST Framework. See the API section in documentation for more information.
Default:
HELPDESK_ACTIVATE_API_ENDPOINT = False
Staff Ticket View Settings¶
HELPDESK_ENABLE_PER_QUEUE_STAFF_PERMISSION If
True
, logged in staff users only see queues and tickets to which they have specifically been granted access - this holds for the dashboard, ticket query, and ticket report views. User assignment is done through the standarddjango.admin.admin
permissions. Note: Staff with access to admin interface will be able to see the full list of tickets, but won’t have access to details and could not modify them. This setting does not prevent staff users from creating tickets for all queues. Also, superuser accounts have full access to all queues, regardless of whatever queue memberships they have been granted.Default:
HELPDESK_ENABLE_PER_QUEUE_STAFF_PERMISSION = False
Default E-Mail Settings¶
The following settings default to None
but can be set as defaults, rather than setting them per-queue.
QUEUE_EMAIL_BOX_TYPE
QUEUE_EMAIL_BOX_SSL
QUEUE_EMAIL_BOX_HOST``
QUEUE_EMAIL_BOX_USER
QUEUE_EMAIL_BOX_PASSWORD
Discontinued Settings¶
The following settings were defined in previous versions and are no longer supported.
- HELPDESK_CUSTOM_WELCOME
- HELDPESK_KB_ENABLED_STAFF Now always True
- HELPDESK_NAVIGATION_STATS_ENABLED Now always True
- HELPDESK_PREPEND_ORG_NAME Please customise your local helpdesk/base.html template if needed
- HELPDESK_SHOW_DELETE_BUTTON_TICKET_TOP Button is always shown
- HELPDESK_SHOW_EDIT_BUTTON_TICKET_TOP Button is always shown
- HELPDESK_SHOW_HOLD_BUTTON_TICKET_TOP Button is always shown
- HELPDESK_SHOW_KB_ON_HOMEPAGE KB categories are always shown on the homepage
- HELPDESK_SUPPORT_PERSON Please customise your local helpdesk/attribution.html template if needed
- HELPDESK_DASHBOARD_SHOW_DELETE_UNASSIGNED Button is always shown
- HELPDESK_DASHBOARD_HIDE_EMPTY_QUEUES Empty queues are always hidden
- HELPDESK_DASHBOARD_BASIC_TICKET_STATS Stats are always shown
- HELPDESK_FOOTER_SHOW_API_LINK Link to API documentation is always shown. Edit your local helpdesk/base.html template if needed.
- HELPDESK_FOOTER_SHOW_CHANGE_LANGUAGE_LINK Is never shown. Use your own template if required.
- HELPDESK_ENABLE_PER_QUEUE_MEMBERSHIP Discontinued in favor of HELPDESK_ENABLE_PER_QUEUE_STAFF_PERMISSION.
- HELPDESK_FULL_FIRST_MESSAGE_FROM_EMAIL Do not ignore fowarded and replied text from the email messages which create a new ticket; useful for cases when customer forwards some email (error from service or something) and wants support to see that
- HELPDESK_ALWAYS_SAVE_INCOMING_EMAIL_MESSAGE Any incoming .eml message is saved and available, helps when customer spent some time doing fancy markup which has been corrupted during the email-to-ticket-comment translate process