summaryrefslogtreecommitdiffstats
path: root/app/acf-util
diff options
context:
space:
mode:
Diffstat (limited to 'app/acf-util')
-rw-r--r--app/acf-util/logon-html.lsp5
-rw-r--r--app/acf-util/logon-model.lua3
-rw-r--r--app/acf-util/roles-controller.lua33
-rw-r--r--app/acf-util/roles-getlist-html.lsp13
-rw-r--r--app/acf-util/roles-html.lsp38
-rw-r--r--app/acf-util/roles-model.lua9
-rw-r--r--app/acf-util/roles-read-html.lsp28
7 files changed, 76 insertions, 53 deletions
diff --git a/app/acf-util/logon-html.lsp b/app/acf-util/logon-html.lsp
index f503a9b..c4d4bd3 100644
--- a/app/acf-util/logon-html.lsp
+++ b/app/acf-util/logon-html.lsp
@@ -4,11 +4,6 @@
io.write(html.cfe_unpack(form))
--]] ?>
-<? if form.errtxt then ?>
-<h1>Command Result</h1>
-<p class='error'> <?= form.errtxt ?></p>
-<? end ?>
-
<h1><?= form.label ?></h1>
<?
form.action = "logon"
diff --git a/app/acf-util/logon-model.lua b/app/acf-util/logon-model.lua
index 16e9f7f..8fa9e12 100644
--- a/app/acf-util/logon-model.lua
+++ b/app/acf-util/logon-model.lua
@@ -42,8 +42,7 @@ logon = function (self, clientdata, ip_addr, sessiondir, sessiondata)
end
if false == countevent and clientdata.userid and clientdata.password then
- local password_user_md5 = fs.md5sum_string(clientdata.password)
- if auth.authenticate (self, clientdata.userid, password_user_md5) then
+ if auth.authenticate (self, clientdata.userid, clientdata.password) then
-- We have a successful login, change sessiondata
-- for some reason, can't call this function or it skips rest of logon
-- logout(sessiondir, sessiondata)
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
diff --git a/app/acf-util/roles-getlist-html.lsp b/app/acf-util/roles-getlist-html.lsp
deleted file mode 100644
index 25d8d62..0000000
--- a/app/acf-util/roles-getlist-html.lsp
+++ /dev/null
@@ -1,13 +0,0 @@
-<? local view= ... ?>
-<? --[[
- io.write(html.cfe_unpack(view))
---]] ?>
-
-<h1>Controller Status</h1>
-<? ---[[
-for a,b in pairs(view.contlist) do
- print("<b>",a,"</b>")
- for k,v in pairs(b) do print(v) end
- print("<br>")
-end
---]] ?>
diff --git a/app/acf-util/roles-html.lsp b/app/acf-util/roles-html.lsp
new file mode 100644
index 0000000..4a23c25
--- /dev/null
+++ b/app/acf-util/roles-html.lsp
@@ -0,0 +1,38 @@
+<? local view= ... ?>
+<? --[[
+ io.write(html.cfe_unpack(view))
+--]] ?>
+
+<? ---[[ ?>
+<? if view.value.userid then ?>
+ <H1>Roles/Permission list for <?= view.value.userid.value ?>:</H1>
+<? elseif view.value.role then ?>
+ <H1>Permission list for <?= view.value.role.value ?>:</H1>
+<? else ?>
+ <H1>Complete permission list:</H1>
+<? end ?>
+
+<? if view.value.roles then ?>
+ <H2><?= view.value.userid.value ?> is valid in these roles</H2>
+ <? for a,b in pairs(view.value.roles.value) do
+ print("<li>",b,"</li>")
+ end ?>
+<? end ?>
+<? --]] ?>
+
+<? ---[[ ?>
+<? if view.value.permissions then ?>
+ <? if view.value.userid then ?>
+ <H2><?= view.value.userid.value ?>'s full permissions are</H2>
+ <? elseif view.value.role then ?>
+ <H2><?= view.value.role.value ?>'s full permissions are</H2>
+ <? end ?>
+ <? for x,cont in pairs(view.value.permissions.value) do
+ print("<b>",x,"</b>")
+ for y,act in pairs(cont) do
+ print(y)
+ end
+ print("<br>")
+ end ?>
+<? end ?>
+<? --]] ?>
diff --git a/app/acf-util/roles-model.lua b/app/acf-util/roles-model.lua
index c3ce2c7..b6e95fd 100644
--- a/app/acf-util/roles-model.lua
+++ b/app/acf-util/roles-model.lua
@@ -9,9 +9,12 @@ getcont = function(self)
controllers = roles.get_controllers(self)
local table_m = {}
for a,b in pairs(controllers) do
- temp = roles.get_controllers_func(self,b)
- table_m[b.sname] = temp
+ table_m[b.sname] = {}
+ temp = roles.get_controllers_func(self,b)
+ for x,y in ipairs(temp) do
+ table_m[b.sname][y] = {}
+ end
end
- return (table_m)
+ return cfe({ type="table", value=table_m, label="All permissions" })
end
diff --git a/app/acf-util/roles-read-html.lsp b/app/acf-util/roles-read-html.lsp
deleted file mode 100644
index ddda93a..0000000
--- a/app/acf-util/roles-read-html.lsp
+++ /dev/null
@@ -1,28 +0,0 @@
-<? local view= ... ?>
-<? --[[
- io.write(html.cfe_unpack(view))
---]] ?>
-
-<? ---[[ ?>
-<H1>Roles/Permission list for <?= view.userid ?>:</H1>
-
-<? if view.roles then ?>
- <H2>You are valid in these roles</H2>
- <? for a,b in pairs(view.roles) do
- print("<li>",b,"</li>")
- end ?>
-<? end ?>
-<? --]] ?>
-
-<? ---[[ ?>
-<? if view.permissions then ?>
- <H2>Your full permissions are</H2>
- <? for x,cont in pairs(view.permissions) do
- print("<b>",x,"</b>")
- for y,act in pairs(cont) do
- print(y)
- end
- print("<br>")
- end ?>
-<? end ?>
-<? --]] ?>