Django Helpdesk

A Django powered ticket tracker for small enterprise

django-helpdesk has been designed for small businesses who need to receive, manage and respond to requests for help from customers. In this context 'customers' may be external users, or other people within your company.
- Tickets can be opened via email
- Multiple queues / categories of tickets
- Integrated FAQ / knowledge base

Customers can:
- Browse your knowledgebase / FAQ
- Submit support requests via web/email
- Review open and closed requests they submitted

Staff can:
- See the ticket dashboard showing unassigned tickets and basic status of the helpdesk
- Review the tickets assigned to them
- Search through all tickets, open and closed
- Save their searches for future use
- Follow up or respond to tickets
- Assign tickets to themselves or other staff members
- Resolve tickets

Usage
This Cookbook installs Django 1.6.1 with apache2, django-helpdesk and all the required dependencies. Opens the port 80 with the application.

Admin user credentials:
Username: admin
Password: pass

Configuration summary

Ubuntu Trusty Tahr 14.04 Ubuntu Trusty Tahr 14.04
Package python-pip install
Hooks

Post install-docutils

#!/bin/bash
set -ue

pip install docutils

Post install-django-markdown-deux

#!/bin/bash
set -ue

pip install django-markdown-deux

Post install-email-reply-parser

#!/bin/bash
set -ue

pip install email-reply-parser

Post install-django-bootstrap-form

#!/bin/bash
set -ue

pip install django-bootstrap-form

Post install-south

#!/bin/bash
set -ue

pip install South

Post install-django-helpdesk

#!/bin/bash
set -ue

pip install django-helpdesk
Package apache2 install
Files

/etc/apache2/conf-available/django-helpdesk.conf ensure file exist

WSGIScriptAlias / /var/django-helpdesk/hd/hd/wsgi.py
WSGIPythonPath /var/django-helpdesk/hd/
Alias /static /var/www/static

<Directory /var/django-helpdesk/hd/hd/>
<Files wsgi.py>
Require all granted
</Files>
</Directory>
Hooks

Post configure-django-helpdesk

- parameter 1: C:\fakepath\settings.py
- parameter 2: C:\fakepath\urls.py
#!/bin/bash
set -ue

mkdir /var/django-helpdesk
cd /var/django-helpdesk
django-admin startproject hd
cd hd
cp $1 hd/settings.py
cp $2 hd/urls.py
python manage.py syncdb --noinput
python manage.py migrate helpdesk
echo "from django.contrib.auth.models import User; User.objects.create_superuser('admin', 'admin@example.com', 'pass')" | python manage.py shell
python manage.py collectstatic --noinput

mkdir -p /var/www/static/helpdesk/attachments
chown www-data:www-data /var/www/static/helpdesk/attachments

a2dissite 000-default
a2enconf django-helpdesk
a2enmod wsgi

chown -R www-data:www-data /var/django-helpdesk
Package libapache2-mod-wsgi install
Package python-django install

Quick Deployment
Advanced Deployment