Move admin_protect to a more generic module
[cascardo/ipsilon.git] / ipsilon / admin / common.py
index 10171dc..2897237 100755 (executable)
 
 from ipsilon.util.data import Store
 from ipsilon.util.page import Page
 
 from ipsilon.util.data import Store
 from ipsilon.util.page import Page
-from ipsilon.util.user import UserSession
+from ipsilon.util.page import admin_protect
 from ipsilon.util.plugin import PluginObject
 import cherrypy
 from ipsilon.login.common import FACILITY as LOGIN_FACILITY
 
 
 from ipsilon.util.plugin import PluginObject
 import cherrypy
 from ipsilon.login.common import FACILITY as LOGIN_FACILITY
 
 
-def admin_protect(fn):
-
-    def check(*args, **kwargs):
-        if UserSession().get_user().is_admin:
-            return fn(*args, **kwargs)
-
-        raise cherrypy.HTTPError(403)
-
-    return check
-
-
 class LoginPluginPage(Page):
 
     def __init__(self, obj, site, baseurl):
 class LoginPluginPage(Page):
 
     def __init__(self, obj, site, baseurl):