id	summary	reporter	owner	description	type	status	priority	milestone	component	resolution	keywords	cc	repo	theme
2866	1.8 template error	ross	ross	"

URL: http://thedatahub.org/user/reset/3086e91c-fe09-4a98-92e1-19de67a9ac9d?key%3Db4c2d03fa8
Module weberror.errormiddleware:162 in __call__
<<              __traceback_supplement__ = Supplement, self, environ
                   sr_checker = ResponseStartChecker(start_response)
                   app_iter = self.application(environ, sr_checker)
                   return self.make_catching_iter(app_iter, environ, sr_checker)
               except:
>>  app_iter = self.application(environ, sr_checker)
Module beaker.middleware:73 in __call__
<<                                                     self.cache_manager)
               environ[self.environ_key] = self.cache_manager
               return self.app(environ, start_response)
>>  return self.app(environ, start_response)
Module beaker.middleware:155 in __call__
<<                          headers.append(('Set-cookie', cookie))
                   return start_response(status, headers, exc_info)
               return self.wrap_app(environ, session_start_response)
       
           def _get_session(self):
>>  return self.wrap_app(environ, session_start_response)
Module routes.middleware:131 in __call__
<<                                               r'\1', oldpath)
               
               response = self.app(environ, start_response)
               
               # Wrapped in try as in rare cases the attribute will be gone already
>>  response = self.app(environ, start_response)
Module pylons.wsgiapp:125 in __call__
<<          
               controller = self.resolve(environ, start_response)
               response = self.dispatch(controller, environ, start_response)
               
               if 'paste.testing_variables' in environ and hasattr(response,
>>  response = self.dispatch(controller, environ, start_response)
Module pylons.wsgiapp:324 in dispatch
<<          if log_debug:
                   log.debug(""Calling controller class with WSGI interface"")
               return controller(environ, start_response)
           
           def load_test_env(self, environ):
>>  return controller(environ, start_response)
Module ckan.lib.base:239 in __call__
<<          try:
                   res = WSGIController.__call__(self, environ, start_response)
               finally:
                   model.Session.remove()
>>  res = WSGIController.__call__(self, environ, start_response)
Module pylons.controllers.core:221 in __call__
<<                  return response(environ, self.start_response)
               
               response = self._dispatch_call()
               if not start_response_called:
                   self.start_response = start_response
>>  response = self._dispatch_call()
Module pylons.controllers.core:172 in _dispatch_call
<<              req.environ['pylons.action_method'] = func
                   
                   response = self._inspect_call(func)
               else:
                   if log_debug:
>>  response = self._inspect_call(func)
Module pylons.controllers.core:107 in _inspect_call
<<                        func.__name__, args)
               try:
                   result = self._perform_call(func, args)
               except HTTPException, httpe:
                   if log_debug:
>>  result = self._perform_call(func, args)
Module pylons.controllers.core:60 in _perform_call
<<          """"""Hide the traceback for everything above this method""""""
               __traceback_hide__ = 'before_and_this'
               return func(**args)
           
           def _inspect_call(self, func):
>>  return func(**args)
Module ckan.controllers.user:409 in perform_reset
<<          c.reset_key = request.params.get('key')
               if not mailer.verify_reset_link(user_obj, c.reset_key):
                   h.flash_error(_('Invalid reset key. Please try again.'))
                   abort(403)
>>  if not mailer.verify_reset_link(user_obj, c.reset_key):
Module ckan.lib.mailer:100 in verify_reset_link
<<      if not user.reset_key or len(user.reset_key) < 5:
               return False
           return key.strip() == user.reset_key
>>  return key.strip() == user.reset_key
AttributeError: 'NoneType' object has no attribute 'strip'
CGI Variables
CKAN_CURRENT_URL	'/user/reset/3086e91c-fe09-4a98-92e1-19de67a9ac9d?key%253Db4c2d03fa8'
CKAN_LANG	'it'
CONTENT_TYPE	'; charset=utf-8'
DOCUMENT_ROOT	'/etc/apache2/htdocs'
GATEWAY_INTERFACE	'CGI/1.1'
HTTP_ACCEPT	'*/*'
HTTP_ACCEPT_ENCODING	'gzip,deflate'
HTTP_CONNECTION	'close'
HTTP_FROM	'googlebot(at)googlebot.com'
HTTP_HOST	'thedatahub.org'
HTTP_USER_AGENT	'Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)'
PATH_INFO	'/user/reset/3086e91c-fe09-4a98-92e1-19de67a9ac9d'
PATH_TRANSLATED	'/etc/ckan/datahub/apache.wsgi/it/user/reset/3086e91c-fe09-4a98-92e1-19de67a9ac9d'
QUERY_STRING	'key%3Db4c2d03fa8'
REMOTE_ADDR	'127.0.0.1'
REMOTE_PORT	'54634'
REQUEST_METHOD	'GET'
REQUEST_URI	'/it/user/reset/3086e91c-fe09-4a98-92e1-19de67a9ac9d?key%3Db4c2d03fa8'
SCRIPT_FILENAME	'/etc/ckan/datahub/apache.wsgi'
SERVER_ADDR	'127.0.0.1'
SERVER_ADMIN	'[no address given]'
SERVER_NAME	'thedatahub.org'
SERVER_PORT	'80'
SERVER_PROTOCOL	'HTTP/1.0'
SERVER_SIGNATURE	'<address>Apache/2.2.22 (Ubuntu) Server at thedatahub.org Port 80</address>\n'
SERVER_SOFTWARE	'Apache/2.2.22 (Ubuntu)'
WSGI Variables
application	<beaker.middleware.CacheMiddleware object at 0x7f5312a51650>
beaker.cache	<beaker.cache.CacheManager object at 0x7f5312a51790>
beaker.get_session	<bound method SessionMiddleware._get_session of <beaker.middleware.SessionMiddleware object at 0x7f5312a516d0>>
beaker.session	{'_accessed_time': 1345066159.520708, '_creation_time': 1345066159.520708}
mod_wsgi.application_group	'ckan.net|'
mod_wsgi.callable_object	'application'
mod_wsgi.handler_script	''
mod_wsgi.input_chunked	'0'
mod_wsgi.listener_host	''
mod_wsgi.listener_port	'8080'
mod_wsgi.process_group	'datahub'
mod_wsgi.request_handler	'wsgi-script'
mod_wsgi.script_reloading	'1'
mod_wsgi.version	(3, 3)
paste.cookies	(<SimpleCookie: >, '')
paste.parsed_dict_querystring	(MultiDict([('key=b4c2d03fa8', '')]), 'key%3Db4c2d03fa8')
paste.parsed_querystring	([('key=b4c2d03fa8', '')], 'key%3Db4c2d03fa8')
paste.registry	<paste.registry.Registry object at 0x7f52eba637d0>
paste.throw_errors	True
pylons.action_method	<bound method UserController.perform_reset of <ckan.controllers.user.UserController object at 0x7f52e49f7a50>>
pylons.controller	<ckan.controllers.user.UserController object at 0x7f52e49f7a50>
pylons.environ_config	{'session': 'beaker.session', 'cache': 'beaker.cache'}
pylons.pylons	<pylons.util.PylonsContext object at 0x7f52f5649ad0>
pylons.routes_dict	{'action': u'perform_reset', 'controller': u'user', 'id': u'3086e91c-fe09-4a98-92e1-19de67a9ac9d'}
repoze.who.logger	<logging.Logger object at 0x7f53127b2b50>
repoze.who.plugins	{'openid': <OpenIdIdentificationPlugin 139994769488336>, 'friendlyform': <FriendlyFormPlugin 139994769488528>, 'ckan.lib.authenticator:UsernamePasswordAuthenticator': <ckan.lib.authenticator.UsernamePasswordAuthenticator object at 0x7f5312d893d0>, 'auth_tkt': <AuthTktCookiePlugin 139994771858704>, 'ckan.lib.authenticator:OpenIDAuthenticator': <ckan.lib.authenticator.OpenIDAuthenticator object at 0x7f5312d89350>}
routes.route	<routes.route.Route object at 0x7f5312961ad0>
routes.url	<routes.util.URLGenerator object at 0x7f52de7f6390>
webob._parsed_query_vars	(GET([('key=b4c2d03fa8', '')]), 'key%3Db4c2d03fa8')
webob.adhoc_attrs	{'language': 'en-us'}
wsgi process	'Multi process AND threads (?)'
wsgi.file_wrapper	<built-in method file_wrapper of mod_wsgi.Adapter object at 0x7f52fc4f1a08>
wsgi.version	(1, 1)
wsgiorg.routing_args	(<routes.util.URLGenerator object at 0x7f52de7f6390>, {'action': u'perform_reset', 'controller': u'user', 'id': u'3086e91c-fe09-4a98-92e1-19de67a9ac9d'})
"	enhancement	closed	awaiting merge		ckan	fixed			ckan	none
