blob: e4e7acb324c8d6ee0c3edb6ddad30cc37b1cd3a9 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
from django.http import HttpResponse, HttpResponseForbidden, Http404
from django.utils import simplejson
def ajax_login_required(view_func):
def wrap(request,*args,**kwargs):
if request.user.is_authenticated():
return view_func(request,*args,**kwargs)
else:
json = simplejson.dumps({'login_required':True})
return HttpResponseForbidden(json,mimetype='application/json')
return wrap
def ajax_method(view_func):
def wrap(request,*args,**kwargs):
if not request.is_ajax():
raise Http404
retval = view_func(request,*args,**kwargs)
if isinstance(retval, HttpResponse):
retval.mimetype = 'application/json'
return retval
else:
json = simplejson.dumps(retval)
return HttpResponse(json,mimetype='application/json')
return wrap
|