コード例 #1
0
    def test_default_view_with_language_prefix(self):
        """
        Test that everything is working with the language prefix option
        activated.
        """
        self.set_setting("PAGE_USE_LANGUAGE_PREFIX", True)

        req = get_request_mock()
        self.assertRaises(Http404, details, req, '/pages/')

        page1 = self.new_page(content={'slug': 'page1'})
        page2 = self.new_page(content={'slug': 'page2'})

        self.assertEqual(page1.get_url_path(),
            reverse('pages-details-by-path', args=[],
            kwargs={'lang': 'en-us', 'path': 'page1'})
        )

        self.assertEqual(details(req, page1.get_url_path(),
            only_context=True)['current_page'],
            page1)

        self.assertEqual(details(req, path=page2.get_complete_slug(),
            only_context=True)['current_page'], page2)

        self.assertEqual(details(req, page2.get_url_path(),
            only_context=True)['current_page'],
            page2)

        self.set_setting("PAGE_USE_LANGUAGE_PREFIX", False)

        self.assertEqual(details(req, page2.get_url_path(),
            only_context=True)['current_page'],
            page2)
コード例 #2
0
 def test_context_processor(self):
     """Test that the page's context processor is properly activated."""
     from basic_cms.views import details
     req = get_request_mock()
     page1 = self.new_page(content={'slug': 'page1', 'title': 'hello'})
     page1.save()
     self.set_setting("PAGES_MEDIA_URL", "test_request_context")
     self.assertContains(details(req, path='/'), "test_request_context")
コード例 #3
0
 def test_context_processor(self):
     """Test that the page's context processor is properly activated."""
     from basic_cms.views import details
     req = get_request_mock()
     page1 = self.new_page(content={'slug': 'page1', 'title': 'hello'})
     page1.save()
     self.set_setting("PAGES_MEDIA_URL", "test_request_context")
     self.assertContains(details(req, path='/'), "test_request_context")
コード例 #4
0
    def test_default_view_with_language_prefix(self):
        """
        Test that everything is working with the language prefix option
        activated.
        """
        self.set_setting("PAGE_USE_LANGUAGE_PREFIX", True)

        req = get_request_mock()
        self.assertRaises(Http404, details, req, '/pages/')

        page1 = self.new_page(content={'slug': 'page1'})
        page2 = self.new_page(content={'slug': 'page2'})

        self.assertEqual(
            page1.get_url_path(),
            reverse('pages-details-by-path',
                    args=[],
                    kwargs={
                        'lang': 'en-us',
                        'path': 'page1'
                    }))

        self.assertEqual(
            details(req, page1.get_url_path(),
                    only_context=True)['current_page'], page1)

        self.assertEqual(
            details(req, path=page2.get_complete_slug(),
                    only_context=True)['current_page'], page2)

        self.assertEqual(
            details(req, page2.get_url_path(),
                    only_context=True)['current_page'], page2)

        self.set_setting("PAGE_USE_LANGUAGE_PREFIX", False)

        self.assertEqual(
            details(req, page2.get_url_path(),
                    only_context=True)['current_page'], page2)
コード例 #5
0
    def test_view_context(self):
        """
        Test that the default view can only return the context
        """
        c = self.get_admin_client()
        c.login(username='******', password='******')
        page_data = self.get_new_page_data()
        page_data['slug'] = 'page1'
        # create a page for the example otherwise you will get a Http404 error
        c.post('/admin/basic_cms/page/add/', page_data)
        page1 = Content.objects.get_content_slug_by_slug('page1').page

        from basic_cms.views import details
        from basic_cms.http import get_request_mock
        request = get_request_mock()
        context = details(request, path='/page1/', only_context=True)
        self.assertEqual(context['current_page'], page1)
コード例 #6
0
    def test_view_context(self):
        """
        Test that the default view can only return the context
        """
        c = self.get_admin_client()
        c.login(username='******', password='******')
        page_data = self.get_new_page_data()
        page_data['slug'] = 'page1'
        # create a page for the example otherwise you will get a Http404 error
        c.post('/admin/basic_cms/page/add/', page_data)
        page1 = Content.objects.get_content_slug_by_slug('page1').page

        from basic_cms.views import details
        from basic_cms.http import get_request_mock
        request = get_request_mock()
        context = details(request, path='/page1/', only_context=True)
        self.assertEqual(context['current_page'], page1)
コード例 #7
0
ファイル: http.py プロジェクト: ArabellaTech/django-basic-cms
    def pages_view_decorator(request, *args, **kwargs):
        # if the current page is already there
        if(kwargs.get('current_page', False) or
                kwargs.get('pages_navigation', False)):
            return view(request, *args, **kwargs)

        path = kwargs.pop('path', None)
        lang = kwargs.pop('lang', None)
        if path:
            from basic_cms.views import details
            response = details(request, path=path, lang=lang,
                only_context=True, delegation=False)
            context = response
            extra_context_var = kwargs.pop('extra_context_var', None)
            if extra_context_var:
                kwargs.update({extra_context_var: context})
            else:
                kwargs.update(context)
        return view(request, *args, **kwargs)
コード例 #8
0
ファイル: http.py プロジェクト: wellpass/django-basic-cms
    def pages_view_decorator(request, *args, **kwargs):
        # if the current page is already there
        if (kwargs.get('current_page', False)
                or kwargs.get('pages_navigation', False)):
            return view(request, *args, **kwargs)

        path = kwargs.pop('path', None)
        lang = kwargs.pop('lang', None)
        if path:
            from basic_cms.views import details
            response = details(request,
                               path=path,
                               lang=lang,
                               only_context=True,
                               delegation=False)
            context = response
            extra_context_var = kwargs.pop('extra_context_var', None)
            if extra_context_var:
                kwargs.update({extra_context_var: context})
            else:
                kwargs.update(context)
        return view(request, *args, **kwargs)
コード例 #9
0
 def _get_context_page(path):
     return details(req, path, 'en-us')
コード例 #10
0
 def _get_context_page(path):
     return details(req, path, 'en-us')