예제 #1
0
    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)
예제 #2
0
파일: request.py 프로젝트: asidev/aybu-core
    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
예제 #3
0
    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)