コード例 #1
0
ファイル: main.py プロジェクト: wheelcms/wheelcms_axle
    def pre_handler(self):
        """ invoked before a method """

        ## if user authenticated, find language setting, activate it.
        ## Will only work for requests that go through this handler
        self._stored_language = None
        current_language = translation.get_language()

        if self.request.user.is_authenticated():
            try:
                language = self.request.user.my_profile.language
                if language and language != current_language:
                    ## store the content language
                    self._stored_language = current_language
                    locale.activate_content_language(current_language)
                    translation.activate(language)
                    ## coercion has taken place before the switch,
                    ## so self.instance will be initialized to the old
                    ## language. Update it!
                    #if self.instance:
                    #    self.instance.preferred_language = language
            except WheelProfile.DoesNotExist:
                pass
        else:
            locale.activate_content_language(current_language)
コード例 #2
0
ファイル: main.py プロジェクト: wheelcms/wheelcms_axle
    def handle_switch_admin_language(self, switchto, path=None, rest=""):
        if not self.hasaccess():
            return self.forbidden()

        locale.activate_content_language(switchto)

        if path:
            node = Node.objects.get(tree_path=path)
        else:
            node = self.instance

        return self.redirect(node.get_absolute_url(language=switchto) + rest,
                             info="Switched to %s" % switchto)
コード例 #3
0
    def test_create_translation_root_post(self, client, root):
        """ test case where root has content but current language
            is not translated """
        Type1(node=root, title="Hello", language="en").save()
        request = superuser_request("/edit", method="POST",
                                    title="hello",
                                    language="nl")
        locale.activate_content_language('nl')

        handler = MainHandlerTestable()
        res = handler.dispatch(request, nodepath="", handlerpath="edit")

        assert res.status_code == 302
        assert root.content(language='nl')
        assert root.content(language='en')
        assert root.content(language='nl') != root.content(language='en')
コード例 #4
0
ファイル: fixtures.py プロジェクト: wheelcms/wheelcms_axle
 def fin():
     translation.activate(old_lang)
     locale.activate_content_language(None)