diff options
author | Ted Trask <ttrask01@yahoo.com> | 2008-05-01 20:49:59 +0000 |
---|---|---|
committer | Ted Trask <ttrask01@yahoo.com> | 2008-05-01 20:49:59 +0000 |
commit | fbda79f377ffbad71b38d2ddf273913dc95ab177 (patch) | |
tree | cac8faf1dc9d33aa5044140b32f0eba8d2cea3b2 /app/acf-util/roles-controller.lua | |
parent | 21b0abee37316cd578a984c3de0ec878a8b41f72 (diff) | |
download | acf-core-fbda79f377ffbad71b38d2ddf273913dc95ab177.tar.bz2 acf-core-fbda79f377ffbad71b38d2ddf273913dc95ab177.tar.xz |
Modified roles, logon, and authenticator
git-svn-id: svn://svn.alpinelinux.org/acf/core/trunk@1095 ab2d0c66-481e-0410-8bed-d214d4d58bed
Diffstat (limited to 'app/acf-util/roles-controller.lua')
-rw-r--r-- | app/acf-util/roles-controller.lua | 33 |
1 files changed, 31 insertions, 2 deletions
diff --git a/app/acf-util/roles-controller.lua b/app/acf-util/roles-controller.lua index b868924..4363cb6 100644 --- a/app/acf-util/roles-controller.lua +++ b/app/acf-util/roles-controller.lua @@ -2,12 +2,41 @@ module (..., package.seeall) +auth = require("authenticator-plaintext") +roll = require("roles") + default_action = "read" +-- Return your own roles/permissions read = function(self) - return ( { userid = self.sessiondata.userinfo.userid, roles = self.sessiondata.userinfo.roles, permissions = self.sessiondata.permissions } ) + userid = cfe({ value=self.sessiondata.userinfo.userid, label="User Id" }) + roles = cfe({ type="list", value=self.sessiondata.userinfo.roles, label="Roles" }) + permissions = cfe({ type="table", value = self.sessiondata.permissions, label="Permissions" }) + return cfe({ type="group", value={userid=userid, roles=roles, permissions=permissions} }) +end + +-- Return roles/permissions for specified user +viewroles = function(self) + if not (self.clientdata.userid) then + redirect(self) + end + userid = cfe({ value=self.clientdata.userid, label="User Id" }) + roles = cfe({ type="list", value=auth.get_userinfo_roles(self, userid.value), label="Roles" }) + permissions = cfe({ type="table", value=roll.get_roles_perm(self.conf.appdir, roles.value), label="Permissions" }) + return cfe({ type="group", value={userid=userid, roles=roles, permissions=permissions} }) +end + +-- Return permissions for specified role +viewperms = function(self) + if not (self.clientdata.role) then + redirect(self, "getlist") + end + role = cfe({ value=self.clientdata.role, label="Role" }) + permissions = cfe({ type="table", value=roll.get_role_perm(self.conf.appdir, role.value), label="Permissions" }) + return cfe({ type="group", value={role=role, permissions=permissions} }) end +-- Return list of all permissions getlist = function(self) - return( { contlist = self.model:getcont(self)}) + return cfe({ type="group", value={permissions=self.model:getcont(self)} }) end |