Skip to content

Commit

Permalink
Merge branch '3053-old-session-data'
Browse files Browse the repository at this point in the history
Conflicts:
	ckan/tests/legacy/lib/test_i18n.py
  • Loading branch information
amercader committed Jun 3, 2016
2 parents b25dfdd + 9eb66f2 commit 87c1000
Show file tree
Hide file tree
Showing 3 changed files with 13 additions and 42 deletions.
14 changes: 6 additions & 8 deletions ckan/lib/base.py
Expand Up @@ -269,15 +269,13 @@ def _identify_user_default(self):
c.user = c.user.decode('utf8')
c.userobj = model.User.by_name(c.user)
if c.userobj is None or not c.userobj.is_active():

# This occurs when a user that was still logged in is deleted,
# or when you are logged in, clean db
# and then restart (or when you change your username)
# There is no user object, so even though repoze thinks you
# are logged in and your cookie has ckan_display_name, we
# need to force user to logout and login again to get the
# User object.
session['lang'] = request.environ.get('CKAN_LANG')
session.save()
# or when you are logged in, clean db and then restart (or
# when you change your username) There is no user object, so
# even though repoze thinks you are logged in and your cookie
# has ckan_display_name, we need to force user to logout and
# login again to get the User object.

ev = request.environ
if 'repoze.who.plugins' in ev:
Expand Down
40 changes: 7 additions & 33 deletions ckan/tests/legacy/lib/test_i18n.py
@@ -1,6 +1,6 @@
# encoding: utf-8

from nose.tools import assert_equal, assert_raises
from nose.tools import assert_equal
from pylons import config, session
import pylons

Expand All @@ -13,8 +13,10 @@ class TestI18n(PylonsTestCase):

def handle_request(self, session_language=None, languages_header=[]):
session['locale'] = session_language

class FakePylons:
translator = None

class FakeRequest:
# Populated from the HTTP_ACCEPT_LANGUAGE header normally
languages = languages_header
Expand All @@ -23,44 +25,16 @@ class FakeRequest:
request = FakeRequest()
real_pylons_request = pylons.request
try:
pylons.request = request # for set_lang to work
pylons.request = request # for set_lang to work

class FakeTmplContext:
language = None # gets filled in by handle_request
language = None # gets filled in by handle_request
tmpl_context = FakeTmplContext()
ckan.lib.i18n.handle_request(request, tmpl_context)
return tmpl_context.language # the language that got set
return tmpl_context.language # the language that got set
finally:
pylons.request = real_pylons_request

def test_handle_request__default(self):
assert_equal(self.handle_request(),
config['ckan.locale_default'])

## Session no longer used to set languages so test no longer relevant
## see #1653

## def test_handle_request__session(self):
## assert_equal(self.handle_request(session_language='fr'),
## 'fr')

## Browser lang detection disabled - see #1452

## def test_handle_request__header(self):
## assert_equal(self.handle_request(languages_header=['de']),
## 'de')

## def test_handle_request__header_negotiate(self):
## # Language so is not an option, so reverts to next one
## assert_equal(self.handle_request(languages_header=['so_KE', 'de']),
## 'de')

## def test_handle_request__header_but_defaults(self):
## # Language so is not an option, so reverts to default
## assert_equal(self.handle_request(languages_header=['so_KE']),
## 'en')

## def test_handle_request__header_territory(self):
## # Request for specific version of German ends up simply as de.
## assert_equal(self.handle_request(languages_header=['fr_CA', 'en']),
## 'fr')

1 change: 0 additions & 1 deletion ckan/tests/legacy/test_coding_standards.py
Expand Up @@ -565,7 +565,6 @@ class TestPep8(object):
'ckan/tests/legacy/lib/test_email_notifications.py',
'ckan/tests/legacy/lib/test_hash.py',
'ckan/tests/legacy/lib/test_helpers.py',
'ckan/tests/legacy/lib/test_i18n.py',
'ckan/tests/legacy/lib/test_mailer.py',
'ckan/tests/legacy/lib/test_munge.py',
'ckan/tests/legacy/lib/test_navl.py',
Expand Down

0 comments on commit 87c1000

Please sign in to comment.