﻿id	summary	reporter	owner	description	type	status	component	version	severity	resolution	keywords	cc	stage	has_patch	needs_docs	needs_tests	needs_better_patch	easy	ui_ux
12804	decorating admin views doesn't work	Florian Apolloner	nobody	"{{{
from django.contrib import admin
from django.contrib.flatpages.models import FlatPage
from django.contrib.flatpages.admin import FlatPageAdmin as FPAdmin

def decorator(func):
    def wrap(self, request, *args, **kwargs):
        return func(self, request, *args, **kwargs)
    return  wrap

class FlatPageAdmin(FPAdmin):
    change_view = decorator(FPAdmin.change_view)

admin.site.unregister(FlatPage)
admin.site.register(FlatPage, FlatPageAdmin)
}}}

raises the following error:
{{{
Traceback:
File ""/home/florian/sources/django-svn.git/django/core/handlers/base.py"" in get_response
  101.                     response = callback(request, *callback_args, **callback_kwargs)
File ""/home/florian/sources/django-svn.git/django/contrib/admin/options.py"" in wrapper
  238.                 return self.admin_site.admin_view(view)(*args, **kwargs)
File ""/home/florian/sources/django-svn.git/django/utils/decorators.py"" in __call__
  36.         return self.decorator(self.func)(*args, **kwargs)
File ""/home/florian/sources/django-svn.git/django/utils/decorators.py"" in _wrapped_view
  86.                     response = view_func(request, *args, **kwargs)
File ""/home/florian/sources/django-svn.git/django/utils/decorators.py"" in __call__
  36.         return self.decorator(self.func)(*args, **kwargs)
File ""/home/florian/sources/django-svn.git/django/views/decorators/cache.py"" in _wrapped_view_func
  70.         response = view_func(request, *args, **kwargs)
File ""/home/florian/sources/django-svn.git/django/contrib/admin/sites.py"" in inner
  190.             return view(request, *args, **kwargs)
File ""/home/florian/.virtualenvs/djangoobjperms/testing/objperms/admin.py"" in wrap
  7.         return func(self, request, *args, **kwargs)
File ""/home/florian/sources/django-svn.git/django/utils/decorators.py"" in _wrapped_view
  82.                     result = middleware.process_view(request, view_func, args, kwargs)
File ""/home/florian/sources/django-svn.git/django/middleware/csrf.py"" in process_view
  83.             request.META[""CSRF_COOKIE""] = request.COOKIES[settings.CSRF_COOKIE_NAME]

Exception Type: AttributeError at /admin/flatpages/flatpage/2/
Exception Value: 'FlatPageAdmin' object has no attribute 'COOKIES'
}}}

I tried using auto_adapt_to_methods etc, no luck. The goal is to give the wrapping function access to the instance! From what I can see the problem is caused by decorator_from_middleware; but I can't see through it :/"		closed	Uncategorized	dev		fixed		Florian Apolloner	Unreviewed	0	0	0	0	0	0
