diff options
| author | Andrei Kulakov <andrei.avk@gmail.com> | 2015-02-06 16:45:46 -0500 |
|---|---|---|
| committer | Tim Graham <timograham@gmail.com> | 2015-03-02 13:15:34 -0500 |
| commit | 08572e8d125da204fab230be5d1fdcc5d8d22256 (patch) | |
| tree | 7284e65c145824add2b751ee5f8632e327128b6f /django/contrib/admin/views/decorators.py | |
| parent | 4e8b167e4d0817b6ae93be8ad97b31bf203698d8 (diff) | |
Fixed #24294 -- Allowed staff_member_required decorator to handle args.
Diffstat (limited to 'django/contrib/admin/views/decorators.py')
| -rw-r--r-- | django/contrib/admin/views/decorators.py | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/django/contrib/admin/views/decorators.py b/django/contrib/admin/views/decorators.py index f58375f283..f14570c24d 100644 --- a/django/contrib/admin/views/decorators.py +++ b/django/contrib/admin/views/decorators.py @@ -2,13 +2,17 @@ from django.contrib.auth import REDIRECT_FIELD_NAME from django.contrib.auth.decorators import user_passes_test -def staff_member_required(view_func, redirect_field_name=REDIRECT_FIELD_NAME, login_url='admin:login'): +def staff_member_required(view_func=None, redirect_field_name=REDIRECT_FIELD_NAME, + login_url='admin:login'): """ Decorator for views that checks that the user is logged in and is a staff - member, displaying the login page if necessary. + member, redirecting to the login page if necessary. """ - return user_passes_test( + actual_decorator = user_passes_test( lambda u: u.is_active and u.is_staff, login_url=login_url, redirect_field_name=redirect_field_name - )(view_func) + ) + if view_func: + return actual_decorator(view_func) + return actual_decorator |
