diff options
author | Ted Trask <ttrask01@yahoo.com> | 2008-07-12 15:27:51 +0000 |
---|---|---|
committer | Ted Trask <ttrask01@yahoo.com> | 2008-07-12 15:27:51 +0000 |
commit | 4522cd8af6efd114b79b48eeddfa9660cfb08716 (patch) | |
tree | 4c35c5d2a3c146c0759f24dafbdb93b491c8eab0 /app/acf-util/roles-model.lua | |
parent | f6baf459cde6258511c94c0e1324d630af675cb5 (diff) | |
download | acf-core-4522cd8af6efd114b79b48eeddfa9660cfb08716.tar.bz2 acf-core-4522cd8af6efd114b79b48eeddfa9660cfb08716.tar.xz |
Modifed roles to use controllerfunctions, modelfunctions, and a symlink.
git-svn-id: svn://svn.alpinelinux.org/acf/core/trunk@1298 ab2d0c66-481e-0410-8bed-d214d4d58bed
Diffstat (limited to 'app/acf-util/roles-model.lua')
-rw-r--r-- | app/acf-util/roles-model.lua | 27 |
1 files changed, 15 insertions, 12 deletions
diff --git a/app/acf-util/roles-model.lua b/app/acf-util/roles-model.lua index d02f390..b2db9db 100644 --- a/app/acf-util/roles-model.lua +++ b/app/acf-util/roles-model.lua @@ -1,6 +1,7 @@ -- Roles/Group functions module (..., package.seeall) +require("modelfunctions") auth = require("authenticator-plaintext") require("roles") @@ -67,28 +68,30 @@ getpermissions = function(self, role) return cfe({ type="table", value={role=role_cfe, permissions=permissions_cfe} }) end -setpermissions = function(self, role, permissions, newrole) - local my_perms = getpermissions(self, role) - my_perms.value.permissions.value = permissions - +setpermissions = function(self, permissions, newrole) -- Validate entries and create error strings local result = true if newrole then -- make sure not overwriting role - for x,ro in ipairs(roles.list_roles()) do - if role==ro then - result = false - my_perms.value.role.errtxt = "Role already exists" - break - end + local defined_roles, default_roles = roles.list_roles() + local reverseroles = {} + for i,role in ipairs(defined_roles) do reverseroles[role] = i end + for i,role in ipairs(default_roles) do reverseroles[role] = i end + if reverseroles[permissions.value.role.value] then + result = false + permissions.value.role.errtxt = "Role already exists" + permissions.errtxt = "Failed to create role" end end -- Try to set the value if result==true then - result, my_perms.value.role.errtxt = roles.set_role_perm(role, nil, permissions) + result, permissions.value.role.errtxt = roles.set_role_perm(permissions.value.role.value, nil, permissions.value.permissions.value) + if not result then + permissions.errtxt = "Failed to save role" + end end - return my_perms + return permissions end delete_role = function(role) |