def test_get_by_enabled(self): languages = [ Language(id=1, lang=u'it', country=u'IT', enabled=True), Language(id=2, lang=u'en', country=u'GB', enabled=True), Language(id=3, lang=u'es', country=u'ES', enabled=True), Language(id=4, lang=u'de', country=u'DE', enabled=False), Language(id=5, lang=u'fr', country=u'FR', enabled=False), Language(id=6, lang=u'ru', country=u'RU', enabled=False), Language(id=7, lang=u'zh', country=u'CN', enabled=False)] for language in languages: self.session.add(language) self.session.commit() enabled = Language.get_by_enabled(self.session, True) disabled = Language.get_by_enabled(self.session, False) all = Language.get_by_enabled(self.session) for i in xrange(0, 3): self.assertIn(languages[i], enabled) self.assertIn(languages[i], all) self.assertNotIn(languages[i], disabled) for i in xrange(3, 7): self.assertIn(languages[i], disabled) self.assertIn(languages[i], all) self.assertNotIn(languages[i], enabled)
def set_language_from_session_or_default(self): # USE language.setter! if self.user and 'lang' in self.session: log.debug("Getting language from session") lang = self.db_session.merge(self.session['lang']) log.debug("Got language %s", lang) else: log.debug("Using default locale %s", self._settings['default_locale_name']) lang = Language.\ get_by_lang(self.db_session, self._settings['default_locale_name']) if not lang.enabled: log.warn("Default locale is disabled") lang = Language.get_by_enabled(self.db_session, enabled=True, start=0, limit=1)[0] log.info("Selected first enabled lang %s", lang) self.language = lang
def __init__(self, request): self._request = request self._settings = SettingProxy(self._request.db_session) self._menus = MenuProxy(self._request.db_session) self._languages = Language.get_by_enabled(self._request.db_session, True) self._rendering_type = 'dynamic' # old heka legacy. Remove ASAP self.section = None self.subsection = None self.page = None self.backgrounds = Background.all(request.db_session) if hasattr(self._request, "context"): self._translation = self._request.context node = getattr(self._translation, 'node', None) if not node is None: self._node = NodeProxy(node) else: self._node = None else: self._translation = NodeNotFound(request) self._node = NodeProxy(self._translation)