1
0
Fork 0
satnogs-network/network/base/decorators.py

31 lines
947 B
Python

"""SatNOGS Network base decorators"""
from __future__ import absolute_import
from django.core.urlresolvers import reverse
from django.http import HttpResponseBadRequest
from django.shortcuts import redirect
def admin_required(function):
"""Decorator for requiring admin permission"""
def wrap(request, *args, **kwargs):
"""Wrap function of decorator"""
if not request.user.is_authenticated():
return redirect(reverse('account_login'))
if request.user.is_superuser:
return function(request, *args, **kwargs)
return redirect(reverse('base:home'))
return wrap
def ajax_required(function):
"""Decorator for requiring request to be and ajax one"""
def wrap(request, *args, **kwargs):
"""Wrap function of decorator"""
if not request.is_ajax():
return HttpResponseBadRequest()
return function(request, *args, **kwargs)
return wrap