Skip to content

Commit

Permalink
[#3053] Remove old locale session code.
Browse files Browse the repository at this point in the history
Locale is no longer persisted by a value in the session (instead using
urls). This simply removes some old unused references to i18n info in
the session, and some commented out tests.
  • Loading branch information
brew committed May 25, 2016
1 parent dc3bb9e commit f4e8c84
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 41 deletions.
14 changes: 6 additions & 8 deletions ckan/lib/base.py
Expand Up @@ -267,15 +267,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,4 +1,4 @@
from nose.tools import assert_equal, assert_raises
from nose.tools import assert_equal
from pylons import config, session
import pylons

Expand All @@ -11,8 +11,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 @@ -21,44 +23,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')

0 comments on commit f4e8c84

Please sign in to comment.