Coder Social home page Coder Social logo

django-helpdesk / django-helpdesk Goto Github PK

View Code? Open in Web Editor NEW
1.5K 91.0 631.0 23.22 MB

A Django application to manage tickets for an internal helpdesk. Formerly known as Jutda Helpdesk.

License: BSD 3-Clause "New" or "Revised" License

Shell 0.25% Python 70.38% JavaScript 4.75% CSS 1.45% HTML 21.79% Makefile 0.32% SCSS 0.85% Dockerfile 0.22%
django helpdesk tickets servicedesk tracker bugs support incidents cases issues python hacktoberfest hacktoberfest2020

django-helpdesk's Introduction

django-helpdesk - A Django powered ticket tracker for small businesses.

image

Copyright 2009-2023 Ross Poulton and django-helpdesk contributors. All Rights Reserved. See LICENSE for details.

django-helpdesk was formerly known as Jutda Helpdesk, named after the company which originally created it. As of January 2011 the name has been changed to reflect what it really is: a Django-powered ticket tracker with contributors reaching far beyond Jutda.

Complete documentation is available in the docs/ directory, or online at http://django-helpdesk.readthedocs.org/.

Demo Quickstart

django-helpdesk includes a basic demo Django project so that you may easily get started with testing or developing django-helpdesk. The demo project resides in the demo/ top-level folder.

It's likely that you can start up a demo project server by running only the command (consider creating a virtualenv before):

make rundemo

or with docker:

docker build . -t demodesk
docker run --rm -v "$PWD:/app" -p 8080:8080 demodesk

then pointing your web browser at http://localhost:8080 (log in as user admin with password `Test1234).

For more information and options, please read the demo/README.rst file.

NOTE REGARDING SQLITE AND SEARCHING: The demo project uses sqlite as its database. Sqlite does not allow case-insensitive searches and so the search function may not work as effectively as it would on other database such as PostgreSQL or MySQL that does support case-insensitive searches. For more information, see this note in the Django documentation.

When you try to do a keyword search using sqlite, a message will be displayed to alert you to this shortcoming. There is no way around it, sorry.

Installation

Developer Environment

Follow these steps to set up your development environment to contribute to helpdesk:
  • check out the helpdesk app to your local file system:

    git clone https://github.com/django-helpdesk/django-helpdesk.git
  • install a virtual environment and activate it:

    python -m venv .venv && source .venv/bin/activate
  • install the requirements for development:

    pip install -r requirements.txt -r requirements-dev.txt
  • you can install the requirements for testing as well:

    pip install -r requirements-testing.txt

To deactivate the virtual environment, use deactivate. Then to reactivate it, just run:

source .venv/bin/activate

To see option for the Makefile run: make

The project enforces a standardized formatting in the CI/CD pipeline. To ensure you have the correct formatting run:

make checkformat

To auto format any code use this:

make format

Testing

From the command line you can run the tests using: make test

See quicktest.py for usage details.

If you need to create tests for new features, add your tests in a test file to the tests module and call them in the test VENV with::

python quicktest.py helpdesk.tests.test_my_new_features -v 2

Upgrading from previous versions

If you are upgrading from a previous version of django-helpdesk that used migrations, get an up to date version of the code base (eg by using git pull or pip install --upgrade django-helpdesk) then migrate the database:

python manage.py migrate helpdesk --db-dry-run # DB untouched
python manage.py migrate helpdesk

Lastly, restart your web server software (eg Apache) or FastCGI instance, to ensure the latest changes are in use.

Unfortunately we are unable to assist if you are upgrading from a version of django-helpdesk prior to migrations (ie pre-2011).

You can continue to the 'Initial Configuration' area, if needed.

Contributing

We're happy to include any type of contribution! This can be:

  • back-end python/django code development
  • front-end web development (HTML/Javascript, especially jQuery)
  • language translations
  • writing improved documentation and demos

For more information on contributing, please see the CONTRIBUTING.rst file.

Licensing

django-helpdesk is licensed under terms of the BSD 3-clause license. See the LICENSE file for full licensing terms.

Note that django-helpdesk is distributed with 3rd party products which have their own licenses. See LICENSE.3RDPARTY for license terms for included packages.

django-helpdesk's People

Contributors

alexbarcelo avatar alligatorbait avatar benbb96 avatar brente avatar bukowskaii avatar djcoin avatar flinz avatar gwasser avatar ivanovivan1900 avatar ivgiuliani avatar jachym avatar koriaf avatar kotowicz avatar lacrymology avatar maccesch avatar martin-marty avatar martin-umed avatar massanchik avatar mte90 avatar nickmccullum avatar petrdlouhy avatar reduxionist avatar rossp avatar samsplunks avatar timthelion avatar tkm84 avatar tony-zhu avatar typonaut avatar tyris avatar uhurusurfa avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

django-helpdesk's Issues

Problem with localized email templates

While trying to use localized email templates, I've noticed send_templated_mail() uses getattr() to get locale name from Queue object. In most of the places passed context contains Ticket/Queue instances, but update_ticket() view from helpdesk/views/staff.py is using safe_template_context() to convert Ticket/Queue objects into limited dicts - this makes send_templated_mail() to always fall back for english locale.

I temporarily resolved it with adding 'locale' to the list of safe fields in safe_template_context() and by updating L55 in lib.py:

locale = getattr(context['queue'], 'locale', context['queue'].get("locale"))

I am not quite sure if this is the right thing to do - I believe it would be better to unify data passed in context across the whole project.
Any ideas?

Allow some html in description fields

Would it be reasonable to allow hyperlinks in description fields? Am I missing how users should be entering html? Both the api and the form submission seem to sanitize it.

Stats crash without open tickets

I've just installed django-helpdesk to see if it fits my necessities for an incident report system for my web application.

Anyways, stats without tickets crash. Reading your run_report at staff.py line 791, I see a comment code that tells me you are aware of this, so is this a feature or you would like to fix it? I don't think this sort of crashes sell well the app for new comers.

Thanks, regards
Miguel

opened ticket email ignores new lines

this is similar to bug https://github.com/rossp/django-helpdesk/issues/closed#issue/28

I've just noticed that while submitting a new ticket, new lines wil be ignored. I find that strange, since context.comment is taken care of.

opening a new ticket with the content:

line one 
line two 

line four

will get me an email:

line one line two line four

using the same text as an update message, the new lines are displayed correctly again.

the context in helpdesk.lib.send_templated_mail seems to also be ok:

[{'queue': <Queue: test>, 'comment': u'line one\r\nline two\r\n\r\nline four', 'ticket': <Ticket: new line bug>}]

Remove login form

There's no reason for django-helpdesk to have it's own login form. The existing auth infrastructure of a project should be used.

jquery version

In helpdesk/templates/helpdesk/public_base.html

helpdesk/jquery-1.3.2.min.js'
should be

helpdesk/jquery-1.5.min.js

Note the version of jquery.

HelpDesk stops sending mails out every few hours

Not sure which logs I can provide to show this problem but I've noticed that helpdesk stops sending mails out every few hours for updates made using the web.

This seems to repeat every few hours and happens with and without using google mail.

Any ideas on how I could debug this further?

attachment folder missing

In the installation documentation, it says that there is an attachment folder in the helpdesk folder. It is not there. If symlinks are used to point the htdocs folder to MEDIA_ROOT/helpdesk, there is no way that an attachment folder can be created. The only way is to create a folder called helpdesk, create a folder called attachments in it and then copy the contents of htdocs to helpdesk. This is messy because if we are doing svn updates, then this copy has to be manually done every time.

Helpdesk for registered users only

There is the possibility to make some queues publicly available thats great, but is it viable to make the entire helpdesk suite available only to registered and active users on the site, as in, no one cannot access the helpdesk not even to create a ticket if its not registered yet.

Thank you again for your great job!

create button to delete saved queries

It is currently impossible to delete saved queries.
It is unclear to me where saved queries are stored, otherwise I would have implemented this myself.

resolution of bug doesn't show up in notification email

Email notifications sometimes don't contain the resolved message, after you mark a bug as 'resolved' and leave a resolved message.

See this example:

email to reporter of bug:

"The following resolution was added to ticket [me-293]:

fixed.
Can you please confirm that this resolution addresses your needs so we may close this ticket? If you have any further queries, or if you do not believe this resolution is adequate, please reply to this e-mail and keep the subject intact."

update email to queue owner:

"Just for reference, the original ticket description was:

test
The resolution that was added was:

None

This resolution has been e-mailed to the submitter, who will verify it before you can close this ticket."

I don't understand why the resolution is sometimes "None". the information is clearly there but somehow it gets lost while creating the email. Anyhow, very annoying.

Add proper database migrations support (eg South)

Whenever we make a change that requires DB changes we need to document it in UPGRADING and get people to manually alter their database.

We should be including migrations to support South or similar.

Assigned tickets to staff

The tickets should only be assigned to staff members or superusers or users that are part of a support group.

I have a website with several members that are just registered users, so they get emails everyonce in a while, there are only 3 administrators which should be the ones that tickets are assigned to.

Thank you for your great job.

Documentation: TemplateSyntaxError at /kb/1/

Accessing an article in Knowledge Base could lead to the following error.

For example, accessing http://mysite.com/kb/1/

TemplateSyntaxError at /kb/1/
'markup' is not a valid tag library: Template library markup not found, tried django.templatetags.markup,helpdesk.templatetags.markup,django.contrib.admin.templatetags.markup

Template error
In template /usr/local/lib/python2.5/site-packages/helpdesk/templates/helpdesk/kb_item.html, error at line 1 'markup' is not a valid tag library: Template library markup not found, tried django.templatetags.markup,helpdesk.templatetags.markup,django.contrib.admin.templatetags.markup 1 {% extends "helpdesk/public_base.html" %}{% load i18n %}{% load markup %}

Solution is to add "django.contrib.markup" to your INSTALLED_APPS in settings.py

After adding to settings.py if you still get an error saying the module is not installed, then go ahead and install the module.

Error:
Error in {% markdown %} filter: The Python markdown library isn't installed.

Solution:
The simplest way to install Python-Markdown is by using SetupTools. As a "root" user on your system do:

easy_install ElementTree
easy_install Markdown

static files commit breaks django 1.2.x installations

I pulled the latest changes but since I'm on django 1.2.x, I don't have django-staticfiles installed and so none of the css / js files are loaded. I tried to symlink from static/helpdesk to htdocs, but that doesn't do the trick, because in the base.html file, the {{STATIC_URL}} is called which is not defined on django 1.2.x installs.
I tried to do something like STATIC_URL = MEDIA_URL but that doesn't work either. My guess is, that STATIC_URL is not visible by the template system.
Anyway we need a much smoother update experience here that still works with django 1.2.x

How to implement recaptcha, ticket password and ability to update ticket online?

Please see the following links for an example:

http://efgh.us/helpdesk - for recaptcha

http://efgh.us/ticket - for ability to update online
http://efgh.us/key - for ticket key

The ticket key would only allow those with the key to view the ticket and disallow people from being able to view tickets by guessing the email address and the ticket queue.

Your ticket id: [general-9968]
Submitter email: [email protected]
Ticket password: MGQ5

So, to view the ticket one has to access a link such as

http://abc.com/helpdesk/view/9968/MGQ5/

instead of

http://abc.com/view/?ticket=general&[email protected]

escalate_tickets fails with an error

What version of Django are you using?

trunk
What version of Python are you using?

2.6 and 2.7
What is your hosting environment?

this is a command line command

What version of Jutda Helpdesk are you using?

svn

What steps will reproduce the problem?

  1. run python manage.py escalate_tickets

What is the expected output? What do you see instead?

Error message:

Traceback (most recent call last):
File "manage.py", line 11, in
execute_manager(settings)
File "/usr/lib/python2.6/site-packages/django/core/management/init.py", line 438, in execute_manager
utility.execute()
File "/usr/lib/python2.6/site-packages/django/core/management/init.py", line 379, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "/usr/lib/python2.6/site-packages/django/core/management/base.py", line 188, in run_from_argv
parser = self.create_parser(argv[0], argv[1])
File "/usr/lib/python2.6/site-packages/django/core/management/base.py", line 171, in create_parser
option_list=self.option_list)
File "/usr/lib/python2.6/optparse.py", line 1201, in init
add_help=add_help_option)
File "/usr/lib/python2.6/optparse.py", line 1243, in _populate_option_list
self.add_options(option_list)
File "/usr/lib/python2.6/optparse.py", line 1026, in add_options
self.add_option(option)
File "/usr/lib/python2.6/optparse.py", line 1007, in add_option
self._check_conflict(option)
File "/usr/lib/python2.6/optparse.py", line 982, in _check_conflict
option)
optparse.OptionConflictError: option -v/--verbose: conflicting option string(s): -v

pressing 'accept' button when not being logged in, results in crash

  1. click on link that user receives once a ticket has been marked as 'resolved'
    https://example.com/helpdesk/view/?ticket=my_ticket_list-339&[email protected]
  2. user is not logged in
  3. user presses 'Accept' button
  4. error message:

AttributeError at /helpdesk/view/
'NoneType' object has no attribute 'id'
Request Method: GET
Request URL: https://example.com/helpdesk/view/?ticket=my_ticket_list-339&[email protected]&close
Django Version: 1.2.5
Exception Type: AttributeError
Exception Value:
'NoneType' object has no attribute 'id'
Exception Location: /home/db/django/django_projects/external_applications/helpdesk/views/public.py in view_ticket, line 94
Python Executable: /usr/bin/python
Python Version: 2.6.6
Python Path: ['/home/db/django/libraries/lib/python/', '/home/db/django/libraries/lib/python/i686/', '/home/db/django/django_projects/', '/home/db/django/django_projects/internal_applications/', '/home/db/django/django_projects/external_applications/', '/usr/lib/python2.6', '/usr/lib/python2.6/plat-linux2', '/usr/lib/python2.6/lib-tk', '/usr/lib/python2.6/lib-old', '/usr/lib/python2.6/lib-dynload', '/usr/local/lib/python2.6/dist-packages', '/usr/lib/python2.6/dist-packages', '/usr/lib/python2.6/dist-packages/PIL', '/usr/lib/pymodules/python2.6', '/usr/lib/pymodules/python2.6/gtk-2.0']
Server time: Tue, 15 Mar 2011 13:03:22 +0100

Traceback:
File "/home/db/django/libraries/lib/python/django/core/handlers/base.py" in get_response
100. response = callback(request, _callback_args, *_callback_kwargs)
File "/home/db/django/django_projects/external_applications/helpdesk/views/public.py" in view_ticket
94. 'owner': ticket.assigned_to.id,
Exception Type: AttributeError at /helpdesk/view/
Exception Value: 'NoneType' object has no attribute 'id'

email content ignores new lines

Some users provide really nice comment like this:

-------- COMMENT START -----------
this is a comment over multiple lines

line one
line two

  1. bla
  2. bla2
    -------- COMMENT STOP -----------

in the notification email I receive this:

-------- EMAIL START -----------
this is a comment over multiple lines line one line two 1) bla 2) bla2
-------- EMAIL STOP -----------

it would be great if emails could keep the new lines - it makes reading comments so much easier.

Allow user to open a saved query from any page

for original description see http://code.google.com/p/jutda-helpdesk/issues/detail?id=109

here's what I said:
"Personally, I never look at the ticket list, but I have my personal (and
shared) queries where I only look for open/reopened tickets. I don't want
to see closed tickets. So every time I want to look up the list, I have to go
to tickets first and then I can only choose load a query.
Loading queries is a major feature and therefore it should show up in the
upper header."

and the answer from rossp:
"I like this idea and it's something that I've been considering for a little while, now.

I'm thinking that if we turn the 'Tickets' button on the navbar into a dropdown (in
the DHTML sense rather than a normal ) that allows you to either pick 'Tickets' or one of the saved queries that would appear below it when you hover over the button. Perhaps even using an AJAX request on the first hover to only fetch the list of saved queries when needed rather than on every request. We need a patch to get this happening - if you can provide one it'd be appreciated, or I'll try to do it when I've got a chance."

KeyError at / 'comment'

Following exception is seen on submitting a ticket. The ticket gets created despite of this exception.

Using
rossp-django-helpdesk-ecd4f2c.tar.gz

Python 2.5.5
CentOS 5.5

`
Traceback:
File "/usr/local/lib/python2.5/site-packages/django/core/handlers/base.py" in get_response

  1.                 response = callback(request, _callback_args, *_callback_kwargs)
    
    File "/usr/local/lib/python2.5/site-packages/helpdesk/views/public.py" in homepage
  2.             ticket = form.save()
    
    File "/usr/local/lib/python2.5/site-packages/helpdesk/forms.py" in save
  3.         files=files,
    
    File "/usr/local/lib/python2.5/site-packages/helpdesk/lib.py" in send_templated_mail
  4. html_txt = context['comment']
    
    File "/usr/local/lib/python2.5/site-packages/django/template/context.py" in getitem
  5.     raise KeyError(key)
    

Exception Type: KeyError at /
Exception Value: 'comment'
`

`KeyError at /
'comment'
Request Method: POST
Request URL: http://mysite.com/
Django Version: 1.2.4
Exception Type: KeyError
Exception Value:
'comment'
Exception Location: /usr/local/lib/python2.5/site-packages/django/template/context.py in getitem, line 46
Python Executable: /usr/bin/python
Python Version: 2.5.5
Python Path: ['/usr/local/lib/python2.5/site-packages/setuptools-0.6c11-py2.5.egg', '/usr/local/lib/python2.5/site-packages/MySQL_python-1.2.3-py2.5-linux-i686.egg', '/usr/local/lib/python25.zip', '/usr/local/lib/python2.5', '/usr/local/lib/python2.5/plat-linux2', '/usr/local/lib/python2.5/lib-tk', '/usr/local/lib/python2.5/lib-dynload', '/usr/local/lib/python2.5/site-packages', '/home/mysite', '/home/mysite/djangosite']
Server time: Mon, 7 Feb 2011 21:59:41 -0800
Traceback Switch to copy-and-paste view

/usr/local/lib/python2.5/site-packages/django/core/handlers/base.py in get_response
response = callback(request, _callback_args, *_callback_kwargs) ...
▶ Local vars
/usr/local/lib/python2.5/site-packages/helpdesk/views/public.py in homepage
ticket = form.save() ...
▶ Local vars
/usr/local/lib/python2.5/site-packages/helpdesk/forms.py in save
files=files, ...
▶ Local vars
/usr/local/lib/python2.5/site-packages/helpdesk/lib.py in send_templated_mail
html_txt = context['comment'] ...
▶ Local vars
/usr/local/lib/python2.5/site-packages/django/template/context.py in getitem
raise KeyError(key) ...
▶ Local vars
Request information

GET
No GET data
POST
Variable Value
body
u"I'd need support with xyz. Please send me the procedure."
priority
u'2'
title
u'License extension'
queue
u'2'
csrfmiddlewaretoken
u'18647b9d749aaaeb96701b5351b7bb17'
submitter_email
u'[email protected]'
FILES
Variable Value
attachment
<InMemoryUploadedFile: linuxnotes.txt (text/plain)>
COOKIES
Variable Value
csrftoken
'18647b9d749aaaeb96701b5351b7bb17'
sessionid
'd69f58826b9ef2f57576541be213271e'
META
Variable Value
CONTENT_LENGTH
'82720'
CONTENT_TYPE
'multipart/form-data; boundary=----WebKitFormBoundaryusDhOBV0jCBbXG71'
CSRF_COOKIE
'18647b9d749aaaeb96701b5351b7bb17'
DOCUMENT_ROOT
'/home/mysite/public_html'
GATEWAY_INTERFACE
'CGI/1.1'
HTTP_ACCEPT
'application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,/;q=0.5'
HTTP_ACCEPT_ENCODING
'gzip, deflate'
HTTP_ACCEPT_LANGUAGE
'en-us'
HTTP_CONNECTION
'keep-alive'
HTTP_COOKIE
'csrftoken=18647b9d749aaaeb96701b5351b7bb17; sessionid=d69f58826b9ef2f57576541be213271e'
HTTP_HOST
'mysite.com'
HTTP_ORIGIN
'http://mysite.com'
HTTP_REFERER
'http://mysite.com/'
HTTP_USER_AGENT
'Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_6; en-us) AppleWebKit/533.19.4 (KHTML, like Gecko) Version/5.0.3 Safari/533.19.4'
PATH_INFO
u'/'
PATH_TRANSLATED
'/home/mysite/www/django-admin.wsgi/'
QUERY_STRING
''
REMOTE_ADDR
'24.6.138.112'
REMOTE_PORT
'51640'
REQUEST_METHOD
'POST'
REQUEST_URI
'/'
SCRIPT_FILENAME
'/home/mysite/www/django-admin.wsgi'
SCRIPT_NAME
u''
SERVER_ADDR
'20.58.13.90'
SERVER_ADMIN
'[email protected]'
SERVER_NAME
'mysite.com'
SERVER_PORT
'80'
SERVER_PROTOCOL
'HTTP/1.1'
SERVER_SIGNATURE
''
SERVER_SOFTWARE
'Apache/1.3.42 (Unix) PHP/4.4.9 mod_log_bytes/1.2 mod_bwlimited/1.4 mod_ssl/2.8.31 OpenSSL/0.9.8e-fips-rhel5 mod_wsgi/3.3 Python/2.5.5'
mod_wsgi.application_group
'mysite.com|'
mod_wsgi.callable_object
'application'
mod_wsgi.handler_script
''
mod_wsgi.input_chunked
'0'
mod_wsgi.process_group
''
mod_wsgi.request_handler
'wsgi-script'
mod_wsgi.script_reloading
'1'
mod_wsgi.version
(3, 3)
wsgi.errors
<mod_wsgi.Log object at 0xa578980>
wsgi.file_wrapper
<built-in method file_wrapper of mod_wsgi.Adapter object at 0xac52870>
wsgi.input
<mod_wsgi.Input object at 0xa578cc8>
wsgi.multiprocess
True
wsgi.multithread
False
wsgi.run_once
False
wsgi.url_scheme
'http'
wsgi.version
(1, 1)
Settings
Using settings module djangosite.settings
Setting Value
ABSOLUTE_URL_OVERRIDES
{}
ADMINS
(('J Doe', '[email protected]'),)
ADMIN_FOR
()
ADMIN_MEDIA_PREFIX
'http://mysite.com/adminmedia/'
ALLOWED_INCLUDE_ROOTS
()
APPEND_SLASH
True
AUTHENTICATION_BACKENDS
('django.contrib.auth.backends.ModelBackend',)
BANNED_IPS
()
CACHE_BACKEND
'locmem://'
CACHE_MIDDLEWARE_KEY_PREFIX
''
CACHE_MIDDLEWARE_SECONDS
600
COMMENTS_ALLOW_PROFANITIES
False
COMMENTS_BANNED_USERS_GROUP
None
COMMENTS_FIRST_FEW
0
COMMENTS_MODERATORS_GROUP
None
COMMENTS_SKETCHY_USERS_GROUP
None
CSRF_COOKIE_DOMAIN
None
CSRF_COOKIE_NAME
'csrftoken'
CSRF_FAILURE_VIEW
'django.views.csrf.csrf_failure'
DATABASES
{'default': {'ENGINE': 'django.db.backends.mysql', 'HOST': '', 'NAME': 'mysite_django', 'OPTIONS': {}, 'PASSWORD': '', 'PORT': '', 'TEST_CHARSET': None, 'TEST_COLLATION': None, 'TEST_MIRROR': None, 'TEST_NAME': None, 'TIME_ZONE': 'America/Los_Angeles', 'USER': 'mysite_django'}}
DATABASE_ENGINE
''
DATABASE_HOST
''
DATABASE_NAME
''
DATABASE_OPTIONS
{}
DATABASE_PASSWORD
'**
'
DATABASE_PORT
''
DATABASE_ROUTERS
[]
DATABASE_USER
''
DATETIME_FORMAT
'N j, Y, P'
DATETIME_INPUT_FORMATS
('%Y-%m-%d %H:%M:%S', '%Y-%m-%d %H:%M', '%Y-%m-%d', '%m/%d/%Y %H:%M:%S', '%m/%d/%Y %H:%M', '%m/%d/%Y', '%m/%d/%y %H:%M:%S', '%m/%d/%y %H:%M', '%m/%d/%y')
DATE_FORMAT
'N j, Y'
DATE_INPUT_FORMATS
('%Y-%m-%d', '%m/%d/%Y', '%m/%d/%y', '%b %d %Y', '%b %d, %Y', '%d %b %Y', '%d %b, %Y', '%B %d %Y', '%B %d, %Y', '%d %B %Y', '%d %B, %Y')
DEBUG
True
DEBUG_PROPAGATE_EXCEPTIONS
False
DECIMAL_SEPARATOR
'.'
DEFAULT_CHARSET
'utf-8'
DEFAULT_CONTENT_TYPE
'text/html'
DEFAULT_FILE_STORAGE
'django.core.files.storage.FileSystemStorage'
DEFAULT_FROM_EMAIL
'webmaster@localhost'
DEFAULT_INDEX_TABLESPACE
''
DEFAULT_TABLESPACE
''
DISALLOWED_USER_AGENTS
()
EMAIL_BACKEND
'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST
'localhost'
EMAIL_HOST_PASSWORD
'**
_'
EMAIL_HOST_USER
''
EMAIL_PORT
25
EMAIL_SUBJECT_PREFIX
'[Django] '
EMAIL_USE_TLS
False
FILE_CHARSET
'utf-8'
FILE_UPLOAD_HANDLERS
('django.core.files.uploadhandler.MemoryFileUploadHandler', 'django.core.files.uploadhandler.TemporaryFileUploadHandler')
FILE_UPLOAD_MAX_MEMORY_SIZE
2621440
FILE_UPLOAD_PERMISSIONS
None
FILE_UPLOAD_TEMP_DIR
None
FIRST_DAY_OF_WEEK
0
FIXTURE_DIRS
()
FORCE_SCRIPT_NAME
None
FORMAT_MODULE_PATH
None
IGNORABLE_404_ENDS
('mail.pl', 'mailform.pl', 'mail.cgi', 'mailform.cgi', 'favicon.ico', '.php')
IGNORABLE_404_STARTS
('/cgi-bin/', '/_vti_bin', '/vti_inf')
INSTALLED_APPS
['django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.sites', 'djangosite.records', 'helpdesk', 'django.contrib.messages', 'django.contrib.admin', 'django.contrib.admindocs']
INTERNAL_IPS
()
LANGUAGES
(('ar', 'Arabic'), ('bg', 'Bulgarian'), ('bn', 'Bengali'), ('bs', 'Bosnian'), ('ca', 'Catalan'), ('cs', 'Czech'), ('cy', 'Welsh'), ('da', 'Danish'), ('de', 'German'), ('el', 'Greek'), ('en', 'English'), ('en-gb', 'British English'), ('es', 'Spanish'), ('es-ar', 'Argentinian Spanish'), ('et', 'Estonian'), ('eu', 'Basque'), ('fa', 'Persian'), ('fi', 'Finnish'), ('fr', 'French'), ('fy-nl', 'Frisian'), ('ga', 'Irish'), ('gl', 'Galician'), ('he', 'Hebrew'), ('hi', 'Hindi'), ('hr', 'Croatian'), ('hu', 'Hungarian'), ('id', 'Indonesian'), ('is', 'Icelandic'), ('it', 'Italian'), ('ja', 'Japanese'), ('ka', 'Georgian'), ('km', 'Khmer'), ('kn', 'Kannada'), ('ko', 'Korean'), ('lt', 'Lithuanian'), ('lv', 'Latvian'), ('mk', 'Macedonian'), ('ml', 'Malayalam'), ('mn', 'Mongolian'), ('nl', 'Dutch'), ('no', 'Norwegian'), ('nb', 'Norwegian Bokmal'), ('nn', 'Norwegian Nynorsk'), ('pl', 'Polish'), ('pt', 'Portuguese'), ('pt-br', 'Brazilian Portuguese'), ('ro', 'Romanian'), ('ru', 'Russian'), ('sk', 'Slovak'), ('sl', 'Slovenian'), ('sq', 'Albanian'), ('sr', 'Serbian'), ('sr-latn', 'Serbian Latin'), ('sv', 'Swedish'), ('ta', 'Tamil'), ('te', 'Telugu'), ('th', 'Thai'), ('tr', 'Turkish'), ('uk', 'Ukrainian'), ('vi', 'Vietnamese'), ('zh-cn', 'Simplified Chinese'), ('zh-tw', 'Traditional Chinese'))
LANGUAGES_BIDI
('he', 'ar', 'fa')
LANGUAGE_CODE
'en-us'
LANGUAGE_COOKIE_NAME
'django_language'
LOCALE_PATHS
()
LOGIN_REDIRECT_URL
'/accounts/profile/'
LOGIN_URL
'/accounts/login/'
LOGOUT_URL
'/accounts/logout/'
MANAGERS
(('J Doe', '[email protected]'),)
MEDIA_ROOT
'/home/mysite/www/staticmedia/'
MEDIA_URL
'http://mysite.com/staticmedia/'
MESSAGE_STORAGE
'django.contrib.messages.storage.user_messages.LegacyFallbackStorage'
MIDDLEWARE_CLASSES
('django.middleware.common.CommonMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware')
MONTH_DAY_FORMAT
'F j'
NUMBER_GROUPING
0
PASSWORD_RESET_TIMEOUT_DAYS
'**
'
PREPEND_WWW
False
PROFANITIES_LIST
'**
*************'
ROOT_URLCONF
'djangosite.urls'
SECRET_KEY
'**
*****************'
SEND_BROKEN_LINK_EMAILS
False
SERVER_EMAIL
'root@localhost'
SESSION_COOKIE_AGE
1209600
SESSION_COOKIE_DOMAIN
None
SESSION_COOKIE_NAME
'sessionid'
SESSION_COOKIE_PATH
'/'
SESSION_COOKIE_SECURE
False
SESSION_ENGINE
'django.contrib.sessions.backends.db'
SESSION_EXPIRE_AT_BROWSER_CLOSE
False
SESSION_FILE_PATH
None
SESSION_SAVE_EVERY_REQUEST
False
SETTINGS_MODULE
'djangosite.settings'
SHORT_DATETIME_FORMAT
'm/d/Y P'
SHORT_DATE_FORMAT
'm/d/Y'
SITE_ID
1
TEMPLATE_CONTEXT_PROCESSORS
('django.contrib.auth.context_processors.auth', 'django.core.context_processors.debug', 'django.core.context_processors.i18n', 'django.core.context_processors.media', 'django.contrib.messages.context_processors.messages')
TEMPLATE_DEBUG
True
TEMPLATE_DIRS
()
TEMPLATE_LOADERS
('django.template.loaders.filesystem.Loader', 'django.template.loaders.app_directories.Loader')
TEMPLATE_STRING_IF_INVALID
''
TEST_DATABASE_CHARSET
None
TEST_DATABASE_COLLATION
None
TEST_DATABASE_NAME
None
TEST_RUNNER
'django.test.simple.DjangoTestSuiteRunner'
THOUSAND_SEPARATOR
','
TIME_FORMAT
'P'
TIME_INPUT_FORMATS
('%H:%M:%S', '%H:%M')
TIME_ZONE
'America/Los_Angeles'
TRANSACTIONS_MANAGED
False
URL_VALIDATOR_USER_AGENT
'Django/1.2.4 (http://www.djangoproject.com)'
USE_ETAGS
False
USE_I18N
True
USE_L10N
True
USE_THOUSAND_SEPARATOR
False
YEAR_MONTH_FORMAT
'F Y'
You're seeing this error because you have DEBUG = True in your Django settings file. Change that to False, and Django will display a standard 500 page.`

Add filtering to reports

When running reports it's important to be able to be able to filter what's included in the graphs. Examples are to only show stats for a particular time period, a user (or group of users), or a queue.

create new status "depends on"

sometimes tickets are dependent on each other. Adding a new status to the Ticket model is easy, but I think we need a separate field to keep track of the bug number that we want to depend on. With the 'depends on' feature we can also introduce the 'blocks xyz' status.

allow to change user settings - create default settings.

for original description see http://code.google.com/p/jutda-helpdesk/issues/detail?id=112

Summary of the new feature (a few words):

currently all of the following settings have to be set by each user
individually:

use_email_as_submitter
email_on_ticket_assign
email_on_ticket_change
login_view_ticketlist
email_on_ticket_apichange
tickets_per_page

there is no way for the admin to
a) change the settings for a given user
b) set different default settings for new users

Reason why this is needed in Jutda Helpdesk:

it will make live easier. currently, after a new user is added to the
system, I have to execute following code by hand:

user_settings['email_on_ticket_assign'] = True
user_settings['email_on_ticket_change'] = True
user_settings['login_view_ticketlist'] = True
....
user.usersettings.settings = user_settings
user.usersettings.save()

I find this quite annoying, because I tend to forget to do this :)

Impact on existing areas of Jutda Helpdesk (will it break existing
functionality?)

none.

allow to CC users to a bug

for original description of this bug, see http://code.google.com/p/jutda-helpdesk/issues/detail?id=102.

The following is still required:

"There are ticketboxes on the TicketCCForm to allow an email address to view and/or
update a ticket; these currently do nothing (they are saved in the DB but unused).
I'll do some further changes to this soon to make those fields functional, and
probably add some custom templates for CC's rather than using the Submitter template."

'str' object has no attribute 'user'

Receiving the following error on accessing mysite.com/helpdesk

TemplateSyntaxError at /helpdesk/dashboard/

Caught AttributeError while rendering: 'str' object has no attribute 'user'

Request Method: GET
Request URL: http://mysite.com/helpdesk/dashboard/
Django Version: 1.2.4
Exception Type: TemplateSyntaxError
Exception Value:

Caught AttributeError while rendering: 'str' object has no attribute 'user'

Exception Location: /usr/local/lib/python2.5/site-packages/helpdesk/templatetags/saved_queries.py in saved_queries, line 15
Python Executable: /usr/bin/python
Python Version: 2.5.5
Python Path: ['/usr/local/lib/python2.5/site-packages/setuptools-0.6c11-py2.5.egg', '/usr/local/lib/python2.5/site-packages/MySQL_python-1.2.3-py2.5-linux-i686.egg', '/usr/local/lib/python25.zip', '/usr/local/lib/python2.5', '/usr/local/lib/python2.5/plat-linux2', '/usr/local/lib/python2.5/lib-tk', '/usr/local/lib/python2.5/lib-dynload', '/usr/local/lib/python2.5/site-packages', '/home/mysite']
Server time: Sun, 6 Feb 2011 02:15:15 -0800

Template error

In template /usr/local/lib/python2.5/site-packages/helpdesk/templates/helpdesk/base.html, error at line 3
Caught AttributeError while rendering: 'str' object has no attribute 'user'
1 {% load i18n %}
2 {% load saved_queries %}
3 {% with request|saved_queries as user_saved_queries_ %}
4
5
6
7 <title>{% block helpdesk_title %}Helpdesk{% endblock %} :: {% trans "Powered by django-helpdesk" %}</title>
8 <script src='{{ MEDIA_URL }}helpdesk/jquery-1.5.min.js' type='text/javascript' language='javascript'></script>
9 <script src='{{ MEDIA_URL }}helpdesk/jquery-ui-1.8.9.custom.min.js' type='text/javascript' language='javascript'></script>
10
11
12
13

Request information
GET

No GET data
POST

No POST data
FILES

No FILES data
COOKIES
Variable Value
csrftoken
'29933973dc1f04658fa7c844902a0878'
logintheme
'cpanel'
sessionid
'7392042a3e42725776a2bce80be54830'
cprelogin
'no'
cpsession
'rXdYhv6GPG9OnBZTDdYzvNDD117_h7tUDXP4xk4DcvM0ldBrVK6pL0cljQFGmRPc'
META
Variable Value
CSRF_COOKIE
'29933973dc1f04658fa7c844902a0878'
DOCUMENT_ROOT
'/home/mysite/public_html'
GATEWAY_INTERFACE
'CGI/1.1'
HTTP_ACCEPT
'text/html,application/xhtml+xml,application/xml;q=0.9,/;q=0.8'
HTTP_ACCEPT_CHARSET
'ISO-8859-1,utf-8;q=0.7,;q=0.7'
HTTP_ACCEPT_ENCODING
'gzip,deflate'
HTTP_ACCEPT_LANGUAGE
'en-us,en;q=0.5'
HTTP_CONNECTION
'keep-alive'
HTTP_COOKIE
'logintheme=cpanel; cprelogin=no; cpsession=rXdYhv6GPG9OnBZTDdYzvNDD117_h7tUDXP4xk4DcvM0ldBrVK6pL0cljQFGmRPc; csrftoken=29933973dc1f04658fa7c844902a0878; sessionid=7392042a3e42725776a2bce80be54830'
HTTP_HOST
'mysite.com'
HTTP_KEEP_ALIVE
'115'
HTTP_USER_AGENT
'Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.6; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13'
PATH_INFO
u'/helpdesk/dashboard/'
PATH_TRANSLATED
'/home/mysite/www/django-admin.wsgi/helpdesk/dashboard/'
QUERY_STRING
''
REMOTE_ADDR
'24.6.138.112'
REMOTE_PORT
'55479'
REQUEST_METHOD
'GET'
REQUEST_URI
'/helpdesk/dashboard/'
SCRIPT_FILENAME
'/home/mysite/www/django-admin.wsgi'
SCRIPT_NAME
u''
SERVER_ADDR
'207.58.135.90'
SERVER_ADMIN
'[email protected]'
SERVER_NAME
'mysite.com'
SERVER_PORT
'80'
SERVER_PROTOCOL
'HTTP/1.1'
SERVER_SIGNATURE
''
SERVER_SOFTWARE
'Apache/1.3.42 (Unix) PHP/4.4.9 mod_log_bytes/1.2 mod_bwlimited/1.4 mod_wsgi/3.3 Python/2.5.5 mod_ssl/2.8.31 OpenSSL/0.9.8e-fips-rhel5'
mod_wsgi.application_group
'mysite.com|'
mod_wsgi.callable_object
'application'
mod_wsgi.handler_script
''
mod_wsgi.input_chunked
'0'
mod_wsgi.process_group
''
mod_wsgi.request_handler
'wsgi-script'
mod_wsgi.script_reloading
'1'
mod_wsgi.version
(3, 3)
wsgi.errors
<mod_wsgi.Log object at 0xafc4278>
wsgi.file_wrapper
<built-in method file_wrapper of mod_wsgi.Adapter object at 0xaf9cbf0>
wsgi.input
<mod_wsgi.Input object at 0xb0f2e58>
wsgi.multiprocess
True
wsgi.multithread
False
wsgi.run_once
False
wsgi.url_scheme
'http'
wsgi.version
(1, 1)
Settings
Using settings module djangosite.settings
Setting Value
ABSOLUTE_URL_OVERRIDES
{}
ADMINS
(('J Doe', '[email protected]'),)
ADMIN_FOR
()
ADMIN_MEDIA_PREFIX
'/admin_media/'
ALLOWED_INCLUDE_ROOTS
()
APPEND_SLASH
True
AUTHENTICATION_BACKENDS
('django.contrib.auth.backends.ModelBackend',)
BANNED_IPS
()
CACHE_BACKEND
'locmem://'
CACHE_MIDDLEWARE_KEY_PREFIX
''
CACHE_MIDDLEWARE_SECONDS
600
COMMENTS_ALLOW_PROFANITIES
False
COMMENTS_BANNED_USERS_GROUP
None
COMMENTS_FIRST_FEW
0
COMMENTS_MODERATORS_GROUP
None
COMMENTS_SKETCHY_USERS_GROUP
None
CSRF_COOKIE_DOMAIN
None
CSRF_COOKIE_NAME
'csrftoken'
CSRF_FAILURE_VIEW
'django.views.csrf.csrf_failure'
DATABASES
{'default': {'ENGINE': 'django.db.backends.mysql', 'HOST': '', 'NAME': 'hellogur_django', 'OPTIONS': {}, 'PASSWORD': '
_', 'PORT': '', 'TEST_CHARSET': None, 'TEST_COLLATION': None, 'TEST_MIRROR': None, 'TEST_NAME': None, 'TIME_ZONE': 'America/Los_Angeles', 'USER': 'hellogur_django'}}
DATABASE_ENGINE
''
DATABASE_HOST
''
DATABASE_NAME
''
DATABASE_OPTIONS
{}
DATABASE_PASSWORD
'_
'
DATABASE_PORT
''
DATABASE_ROUTERS
[]
DATABASE_USER
''
DATETIME_FORMAT
'N j, Y, P'
DATETIME_INPUT_FORMATS
('%Y-%m-%d %H:%M:%S', '%Y-%m-%d %H:%M', '%Y-%m-%d', '%m/%d/%Y %H:%M:%S', '%m/%d/%Y %H:%M', '%m/%d/%Y', '%m/%d/%y %H:%M:%S', '%m/%d/%y %H:%M', '%m/%d/%y')
DATE_FORMAT
'N j, Y'
DATE_INPUT_FORMATS
('%Y-%m-%d', '%m/%d/%Y', '%m/%d/%y', '%b %d %Y', '%b %d, %Y', '%d %b %Y', '%d %b, %Y', '%B %d %Y', '%B %d, %Y', '%d %B %Y', '%d %B, %Y')
DEBUG
True
DEBUG_PROPAGATE_EXCEPTIONS
False
DECIMAL_SEPARATOR
'.'
DEFAULT_CHARSET
'utf-8'
DEFAULT_CONTENT_TYPE
'text/html'
DEFAULT_FILE_STORAGE
'django.core.files.storage.FileSystemStorage'
DEFAULT_FROM_EMAIL
'webmaster@localhost'
DEFAULT_INDEX_TABLESPACE
''
DEFAULT_TABLESPACE
''
DISALLOWED_USER_AGENTS
()
EMAIL_BACKEND
'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST
'localhost'
EMAIL_HOST_PASSWORD
'**
_'
EMAIL_HOST_USER
''
EMAIL_PORT
25
EMAIL_SUBJECT_PREFIX
'[Django] '
EMAIL_USE_TLS
False
FILE_CHARSET
'utf-8'
FILE_UPLOAD_HANDLERS
('django.core.files.uploadhandler.MemoryFileUploadHandler', 'django.core.files.uploadhandler.TemporaryFileUploadHandler')
FILE_UPLOAD_MAX_MEMORY_SIZE
2621440
FILE_UPLOAD_PERMISSIONS
None
FILE_UPLOAD_TEMP_DIR
None
FIRST_DAY_OF_WEEK
0
FIXTURE_DIRS
()
FORCE_SCRIPT_NAME
None
FORMAT_MODULE_PATH
None
IGNORABLE_404_ENDS
('mail.pl', 'mailform.pl', 'mail.cgi', 'mailform.cgi', 'favicon.ico', '.php')
IGNORABLE_404_STARTS
('/cgi-bin/', '/_vti_bin', '/vti_inf')
INSTALLED_APPS
['django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.sites', 'djangosite.records', 'helpdesk', 'django.contrib.messages', 'django.contrib.admin', 'django.contrib.admindocs']
INTERNAL_IPS
()
LANGUAGES
(('ar', 'Arabic'), ('bg', 'Bulgarian'), ('bn', 'Bengali'), ('bs', 'Bosnian'), ('ca', 'Catalan'), ('cs', 'Czech'), ('cy', 'Welsh'), ('da', 'Danish'), ('de', 'German'), ('el', 'Greek'), ('en', 'English'), ('en-gb', 'British English'), ('es', 'Spanish'), ('es-ar', 'Argentinian Spanish'), ('et', 'Estonian'), ('eu', 'Basque'), ('fa', 'Persian'), ('fi', 'Finnish'), ('fr', 'French'), ('fy-nl', 'Frisian'), ('ga', 'Irish'), ('gl', 'Galician'), ('he', 'Hebrew'), ('hi', 'Hindi'), ('hr', 'Croatian'), ('hu', 'Hungarian'), ('id', 'Indonesian'), ('is', 'Icelandic'), ('it', 'Italian'), ('ja', 'Japanese'), ('ka', 'Georgian'), ('km', 'Khmer'), ('kn', 'Kannada'), ('ko', 'Korean'), ('lt', 'Lithuanian'), ('lv', 'Latvian'), ('mk', 'Macedonian'), ('ml', 'Malayalam'), ('mn', 'Mongolian'), ('nl', 'Dutch'), ('no', 'Norwegian'), ('nb', 'Norwegian Bokmal'), ('nn', 'Norwegian Nynorsk'), ('pl', 'Polish'), ('pt', 'Portuguese'), ('pt-br', 'Brazilian Portuguese'), ('ro', 'Romanian'), ('ru', 'Russian'), ('sk', 'Slovak'), ('sl', 'Slovenian'), ('sq', 'Albanian'), ('sr', 'Serbian'), ('sr-latn', 'Serbian Latin'), ('sv', 'Swedish'), ('ta', 'Tamil'), ('te', 'Telugu'), ('th', 'Thai'), ('tr', 'Turkish'), ('uk', 'Ukrainian'), ('vi', 'Vietnamese'), ('zh-cn', 'Simplified Chinese'), ('zh-tw', 'Traditional Chinese'))
LANGUAGES_BIDI
('he', 'ar', 'fa')
LANGUAGE_CODE
'en-us'
LANGUAGE_COOKIE_NAME
'django_language'
LOCALE_PATHS
()
LOGIN_REDIRECT_URL
'/accounts/profile/'
LOGIN_URL
'/accounts/login/'
LOGOUT_URL
'/accounts/logout/'
MANAGERS
(('J Doe', '[email protected]'),)
MEDIA_ROOT
'/home/mysite/staticmedia/'
MEDIA_URL
'http://mysiteu.com/staticmedia/'
MESSAGE_STORAGE
'django.contrib.messages.storage.user_messages.LegacyFallbackStorage'
MIDDLEWARE_CLASSES
('django.middleware.common.CommonMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware')
MONTH_DAY_FORMAT
'F j'
NUMBER_GROUPING
0
PASSWORD_RESET_TIMEOUT_DAYS
'**
'
PREPEND_WWW
False
PROFANITIES_LIST
'**
****************'
ROOT_URLCONF
'djangosite.urls'
SECRET_KEY
'**
*****************'
SEND_BROKEN_LINK_EMAILS
False
SERVER_EMAIL
'root@localhost'
SESSION_COOKIE_AGE
1209600
SESSION_COOKIE_DOMAIN
None
SESSION_COOKIE_NAME
'sessionid'
SESSION_COOKIE_PATH
'/'
SESSION_COOKIE_SECURE
False
SESSION_ENGINE
'django.contrib.sessions.backends.db'
SESSION_EXPIRE_AT_BROWSER_CLOSE
False
SESSION_FILE_PATH
None
SESSION_SAVE_EVERY_REQUEST
False
SETTINGS_MODULE
'djangosite.settings'
SHORT_DATETIME_FORMAT
'm/d/Y P'
SHORT_DATE_FORMAT
'm/d/Y'
SITE_ID
1
TEMPLATE_CONTEXT_PROCESSORS
('django.contrib.auth.context_processors.auth', 'django.core.context_processors.debug', 'django.core.context_processors.i18n', 'django.core.context_processors.media', 'django.contrib.messages.context_processors.messages')
TEMPLATE_DEBUG
True
TEMPLATE_DIRS
()
TEMPLATE_LOADERS
('django.template.loaders.filesystem.Loader', 'django.template.loaders.app_directories.Loader')
TEMPLATE_STRING_IF_INVALID
''
TEST_DATABASE_CHARSET
None
TEST_DATABASE_COLLATION
None
TEST_DATABASE_NAME
None
TEST_RUNNER
'django.test.simple.DjangoTestSuiteRunner'
THOUSAND_SEPARATOR
','
TIME_FORMAT
'P'
TIME_INPUT_FORMATS
('%H:%M:%S', '%H:%M')
TIME_ZONE
'America/Los_Angeles'
TRANSACTIONS_MANAGED
False
URL_VALIDATOR_USER_AGENT
'Django/1.2.4 (http://www.djangoproject.com)'
USE_ETAGS
False
USE_I18N
True
USE_L10N
True
USE_THOUSAND_SEPARATOR
False
YEAR_MONTH_FORMAT
'F Y'

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.