def test_get_page_from_request_with_page_preview(self): page = create_page("page", "nav_playground.html") request = self.get_request('%s?preview' % page.get_absolute_url()) request.user.is_staff = False found_page = get_page_from_request(request) self.assertEqual(found_page, None) superuser = self.get_superuser() with self.login_user_context(superuser): request = self.get_request('%s?preview&draft' % page.get_absolute_url()) found_page = get_page_from_request(request) self.assertTrue(found_page) self.assertEqual(found_page.pk, page.pk)
def test_get_page_from_request_with_page_preview(self): page = create_page("page", "nav_playground.html") request = self.get_request('%s?preview' % page.get_absolute_url()) request.user.is_staff = False found_page = get_page_from_request(request) self.assertEqual(found_page, None) superuser = self.get_superuser() with self.login_user_context(superuser): request = self.get_request('%s?preview&draft' % page.get_absolute_url()) found_page = get_page_from_request(request) self.assertTrue(found_page) self.assertEqual(found_page.pk, page.pk)
def test_get_page_from_request_cached(self): mock_page = 'hello world' request = self.get_request( reverse('admin:sampleapp_category_change', args=(1, ))) request._current_page_cache = mock_page page = get_page_from_request(request) self.assertEqual(page, mock_page)
def test_get_page_from_request_cached(self): mock_page = 'hello world' request = self.get_request( reverse('admin:sampleapp_category_change', args=(1,)) ) request._current_page_cache = mock_page page = get_page_from_request(request) self.assertEqual(page, mock_page)
def __get__(self, request, obj_type=None): from poser.utils.page_resolver import get_page_from_request if not hasattr(request, '_current_page_cache'): request._current_page_cache = get_page_from_request(request) if not request._current_page_cache: # if this is in a apphook # find the page the apphook is attached to request._current_page_cache = applications_page_check(request) return request._current_page_cache
def __get__(self, request, obj_type=None): from poser.utils.page_resolver import get_page_from_request if not hasattr(request, '_current_page_cache'): request._current_page_cache = get_page_from_request(request) if not request._current_page_cache: # if this is in a apphook # find the page the apphook is attached to request._current_page_cache = applications_page_check(request) return request._current_page_cache
def test_get_page_without_final_slash(self): root = create_page("root", "nav_playground.html", slug="root", published=True) page = create_page("page", "nav_playground.html", slug="page", published=True) root.publish() page.publish() request = self.get_request('/page') found_page = get_page_from_request(request) self.assertFalse(found_page is None)
def test_get_page_without_final_slash(self): root = create_page("root", "nav_playground.html", slug="root", published=True) page = create_page("page", "nav_playground.html", slug="page", published=True) root.publish() page.publish() request = self.get_request('/page') found_page = get_page_from_request(request) self.assertFalse(found_page is None)
def details(request, slug): """ Takes a request and a slug, renders the page's template. """ # Get a Page model object from the request page = get_page_from_request(request, use_path=slug) if not page: return _handle_no_page(request, slug) # Check if the page has a redirect url defined redirect_url = page.get_redirect() if redirect_url: # prevent redirect to self own_urls = [ 'http%s://%s%s' % ('s' if request.is_secure() else '', request.get_host(), request.path), '/%s' % (request.path), request.path, ] if redirect_url not in own_urls: return HttpResponseRedirect(redirect_url) if not page.has_view_permission(request): return _handle_no_page(request, slug) if apphook_pool.get_apphooks(): # There are apphooks in the pool. Let's see if there is one for the # current page # since we always have a page at this point, applications_page_check() is # pointless app_name = page.get_application() if app_name: app = apphook_pool.get_apphook(app_name) pattern_list = [] for urlpatterns in get_app_urls(app.urls): pattern_list += urlpatterns urlpatterns = patterns('', *pattern_list) try: view, args, kwargs = resolve('/', tuple(urlpatterns)) return view(request, *args, **kwargs) except Resolver404: pass else: return _handle_no_page(request, slug)
def test_get_page_from_request_fakeadmin_nopage(self): request = self.get_request('/admin/') page = get_page_from_request(request) self.assertEqual(page, None)
def test_get_page_from_request_with_page_404(self): page = create_page("page", "nav_playground.html", published=True) page.publish() request = self.get_request('/does-not-exist/') found_page = get_page_from_request(request) self.assertEqual(found_page, None)
def test_get_page_from_request_fakeadmin_nopage(self): request = self.get_request('/admin/') page = get_page_from_request(request) self.assertEqual(page, None)
def test_get_page_from_request_with_page_404(self): page = create_page("page", "nav_playground.html", published=True) page.publish() request = self.get_request('/does-not-exist/') found_page = get_page_from_request(request) self.assertEqual(found_page, None)