Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse code

newforms-admin: Fixed failing test by changing never_cache header to …

…handle views that don't return a response object. The test traceback was:

======================================================================
ERROR: Test add view restricts access and actually adds items.
----------------------------------------------------------------------
Traceback (most recent call last):
  File ".../tests/regressiontests/admin_views/tests.py", line 178, in testAddView
    post = self.client.post('/test_admin/admin/admin_views/article/add/', self.super_login)
  File ".../django/test/client.py", line 265, in post
    return self.request(**r)
  File ".../django/core/handlers/base.py", line 82, in get_response
    response = callback(request, *callback_args, **callback_kwargs)
  File ".../django/contrib/admin/sites.py", line 113, in root
    response = self.login(request)
  File ".../django/views/decorators/cache.py", line 45, in _wrapped_view_func
    add_never_cache_headers(response)
  File ".../django/utils/cache.py", line 118, in add_never_cache_headers
    patch_response_headers(response, cache_timeout=-1)
  File ".../django/utils/cache.py", line 106, in patch_response_headers
    if not response.has_header('ETag'):
AttributeError: 'NoneType' object has no attribute 'has_header'


git-svn-id: http://code.djangoproject.com/svn/django/branches/newforms-admin@7824 bcc190cf-cafb-0310-a4f2-bffc1f526a37
  • Loading branch information...
commit 2e5cc7413fdf0ee3cee92d855cf9b75999c8d79a 1 parent 0e8710d
authored July 02, 2008

Showing 1 changed file with 4 additions and 1 deletion. Show diff stats Hide diff stats

  1. 5  django/views/decorators/cache.py
5  django/views/decorators/cache.py
@@ -42,6 +42,9 @@ def never_cache(view_func):
42 42
     """
43 43
     def _wrapped_view_func(request, *args, **kwargs):
44 44
         response = view_func(request, *args, **kwargs)
45  
-        add_never_cache_headers(response)
  45
+        # Although rare, it is possible for a view to return None (e.g. the
  46
+        # django.contrib.admin.sites.AdminSite.login view in one corner-case)
  47
+        if response:
  48
+            add_never_cache_headers(response)
46 49
         return response
47 50
     return wraps(view_func)(_wrapped_view_func)

0 notes on commit 2e5cc74

Please sign in to comment.
Something went wrong with that request. Please try again.