29 from django.conf
import settings
30 from django.http
import HttpResponseRedirect
31 from django.utils.http
import urlquote
33 from wi.utils
import REDIRECT_FIELD_NAME
34 from wi.utils.messages_ajax
import success
35 from wi.utils.messages_codes
import auth_error_text
43 wi_logger = logging.getLogger(
'wi_logger')
49 def wrapper(*args, **kwargs):
51 ret = fun(*args, **kwargs)
53 wi_logger.exception(
'General exception: %s' % str(ex))
56 wrapper.__module__ = fun.__module__
57 wrapper.__name__ = fun.__name__
58 wrapper.__doc__ = fun.__doc__
61 login_url = settings.LOGIN_URL
62 cm_login_url =
'/admin_cm/login/'
74 def wrap(request, *args, **kwds):
75 if 'user' in request.session:
76 return view_func(request, *args, **kwds)
78 return success(unicode(auth_error_text), status=8002)
79 path = urlquote(request.get_full_path())
80 tup = login_url, REDIRECT_FIELD_NAME, path
81 return HttpResponseRedirect(
'%s?%s=%s' % tup)
94 def wrap(request, *args, **kwds):
95 if 'user' in request.session
and request.session[
'user'].is_admin_clm:
96 return view_func(request, *args, **kwds)
98 return success(auth_error_text, status=8003)
99 path = urlquote(request.get_full_path())
100 tup = login_url, REDIRECT_FIELD_NAME, path
101 return HttpResponseRedirect(
'%s?%s=%s' % tup)
114 def wrap(request, *args, **kwds):
115 if 'user' in request.session
and request.session[
'user'].is_logged_admin_cm:
116 return view_func(request, *args, **kwds)
117 if request.is_ajax():
118 return success(auth_error_text, status=8004)
119 path = urlquote(request.get_full_path())
120 tup = cm_login_url, REDIRECT_FIELD_NAME, path
121 return HttpResponseRedirect(
'%s?%s=%s' % tup)