diff options
author | 2011-03-10 13:19:36 +0100 | |
---|---|---|
committer | 2011-03-10 13:19:36 +0100 | |
commit | 64974b9a18ef08f5a9f65a17af5cb06c1db4295c (patch) | |
tree | 7b3699cc77691951654e9b48b38544b203efe1de /module/web/utils.py | |
parent | link parser from forum thx to ToFF, missing icons (diff) | |
download | pyload-64974b9a18ef08f5a9f65a17af5cb06c1db4295c.tar.xz |
webif user managment
Diffstat (limited to 'module/web/utils.py')
-rw-r--r-- | module/web/utils.py | 42 |
1 files changed, 32 insertions, 10 deletions
diff --git a/module/web/utils.py b/module/web/utils.py index c76454c1f..afe5ac60c 100644 --- a/module/web/utils.py +++ b/module/web/utils.py @@ -35,7 +35,8 @@ def parse_permissions(session): "status": False, "see_downloads": False, "download" : False, - "settings": False} + "settings": False, + "is_admin": False} if not session.get("authenticated", False): return perms @@ -43,20 +44,41 @@ def parse_permissions(session): if session.get("role") == ROLE.ADMIN: for k in perms.iterkeys(): perms[k] = True - else: - p = session.get("permission") - perms["add"] = has_permission(p, PERMS.ADD) - perms["delete"] = has_permission(p, PERMS.DELETE) - perms["status"] = has_permission(p, PERMS.STATUS) - perms["see_downloads"] = has_permission(p, PERMS.SEE_DOWNLOADS) - perms["download"] = has_permission(p, PERMS.DOWNLOAD) - perms["settings"] = has_permission(p, PERMS.SETTINGS) + + elif session.get("perms"): + p = session.get("perms") + get_permission(perms, p) return perms +def get_permission(perms, p): + perms["add"] = has_permission(p, PERMS.ADD) + perms["delete"] = has_permission(p, PERMS.DELETE) + perms["status"] = has_permission(p, PERMS.STATUS) + perms["see_downloads"] = has_permission(p, PERMS.SEE_DOWNLOADS) + perms["download"] = has_permission(p, PERMS.DOWNLOAD) + perms["settings"] = has_permission(p, PERMS.SETTINGS) + +def set_permission(perms): + permission = 0 + if perms["add"]: + permission |= PERMS.ADD + if perms["delete"]: + permission |= PERMS.DELETE + if perms["status"]: + permission |= PERMS.STATUS + if perms["see_downloads"]: + permission |= PERMS.SEE_DOWNLOADS + if perms["download"]: + permission |= PERMS.DOWNLOAD + if perms["settings"]: + permission |= PERMS.SETTINGS + + return permission + def parse_userdata(session): return {"name": session.get("name", "Anonymous"), - "is_staff": True, + "is_admin": True if session.get("role", 1) == 0 else False, "is_authenticated": session.get("authenticated", False)} def login_required(perm=None): |