django-helpdesk / django-helpdesk

A Django application to manage tickets for an internal helpdesk. Formerly known as Jutda Helpdesk.
BSD 3-Clause "New" or "Revised" License
1.55k stars 642 forks source link

KeyError at / 'comment' #37

Closed JDoe closed 13 years ago

JDoe commented 13 years ago

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'mail@jdoe.net' 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' HTTPACCEPT '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
'webmaster@mysite.com' 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', 'jdoe@jdoe.net'),) 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': 'mysitedjango', '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
{} DATABASEPASSWORD
'**
****_' 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_HOSTPASSWORD '******_' 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', 'jdoe@jdoe.net'),) 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_TIMEOUTDAYS '******_' PREPEND_WWW False PROFANITIESLIST
'**
****_' ROOT_URLCONF
'djangosite.urls' SECRETKEY
'**
*****' 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.`

kotowicz commented 13 years ago

this should fix your problem: https://github.com/rossp/django-helpdesk/pull/38

rossp commented 13 years ago

Thanks, I've just pushed that change in.

JDoe commented 13 years ago

yep..it did fix. thanks much.