From 846a69204d0d2e54638f8e08a3052b2316827cab Mon Sep 17 00:00:00 2001 From: Ted Trask Date: Thu, 15 May 2008 20:15:32 +0000 Subject: For cfe.type='form', use cfe.option as the command to save the form data i.e. can be used as button name. Modified pages that use 'form' to also use 'option'. git-svn-id: svn://svn.alpinelinux.org/acf/core/trunk@1122 ab2d0c66-481e-0410-8bed-d214d4d58bed --- app/acf-util/logon-controller.lua | 4 +- app/acf-util/logon-html.lsp | 2 - app/acf-util/password-controller.lua | 69 +++++++++++++++++--------- app/acf-util/password-html.lsp | 2 - app/acf-util/password-model.lua | 95 ++++++++++++++++++++++-------------- app/acf-util/roles-controller.lua | 46 ++++++++++------- app/acf-util/roles-editrole-html.lsp | 3 -- app/acf-util/roles-model.lua | 56 +++++++++++---------- 8 files changed, 166 insertions(+), 111 deletions(-) (limited to 'app') diff --git a/app/acf-util/logon-controller.lua b/app/acf-util/logon-controller.lua index 2a55c7a..b83da37 100644 --- a/app/acf-util/logon-controller.lua +++ b/app/acf-util/logon-controller.lua @@ -8,8 +8,8 @@ default_action = "status" logon = function(self) local userid = cfe({ value=clientdata.userid or "", label="User ID" }) local password = cfe({ label="Password" }) - local cmdresult = cfe({ type="form", value={userid=userid, password=password}, label="Logon" }) - if clientdata.userid and clientdata.password then + local cmdresult = cfe({ type="form", value={userid=userid, password=password}, label="Logon", option="Logon" }) + if clientdata.Logon then local logon = self.model:logon(clientdata, conf.clientip, conf.sessiondir, sessiondata) -- If successful logon, redirect to welcome-page, otherwise try again if logon.value then diff --git a/app/acf-util/logon-html.lsp b/app/acf-util/logon-html.lsp index c4d4bd3..22deb4d 100644 --- a/app/acf-util/logon-html.lsp +++ b/app/acf-util/logon-html.lsp @@ -6,8 +6,6 @@

")

0) then - userinfo = auth.get_userinfo(self,clientdata.userid) + if user and (#user > 0) then + userinfo = auth.get_userinfo(self,user) + if not userinfo then + errtxt = "User does not exist" + end end userinfo = userinfo or {} config.userid = cfe({ label="User id", - value=(userinfo.userid or clientdata.userid or ""), - errtxt = errormessage.userid + value=(userinfo.userid or user or ""), + errtxt = errtxt }) config.username = cfe({ label="Real name", - value=(userinfo.username or clientdata.username or ""), - errtxt = errormessage.username + value=(userinfo.username or ""), }) config.roles = cfe({ label="Roles", - value=(userinfo.roles or clientdata.roles or {}), + value=(userinfo.roles or {}), type="multi", option=auth.list_roles(), - errtxt = errormessage.roles }) config.password = cfe({ label="Password", - errtxt = errormessage.password }) config.password_confirm = cfe({ label="Password (confirm)", - errtxt = errormessage.password_confirm }) - return cfe({ type="form", value=config, errtxt = errtxt, descr = descr, label="User Config" }) + return cfe({ type="group", value=config, errtxt = errtxt, label="User Config" }) +end + +function update_user(self, clientdata, newuser) + local config + local result + local errtxt + local errormessage = {} + + -- Try to write new or update existing data + if newuser == true then + result, errormessage = auth.new_settings(self, clientdata.userid, clientdata.username, clientdata.password, clientdata.password_confirm, clientdata.roles) + if result == false then + errtxt = "Failed to create new user" + end + else + result, errormessage = auth.change_settings(self, clientdata.userid, clientdata.username, clientdata.password, clientdata.password_confirm, clientdata.roles) + if result == false then + errtxt = "Failed to save changes" + end + end + + if result == true then + config = read_user(self, clientdata.userid) + else + -- get a blank table + config = read_user(self) + + -- now, copy in the user info and errors + config.value.userid.value = clientdata.userid or "" + config.value.userid.errtxt = errormessage.userid + config.value.username.value = clientdata.username or config.value.username.value + config.value.username.errtxt = errormessage.username + config.value.roles.value = clientdata.roles or config.value.roles.value + config.value.roles.errtxt = errormessage.roles + --config.value.password.value = clientdata.password or config.value.password.value + config.value.password.errtxt = errormessage.password + --config.value.password_confirm.value = clientdata.password_confirm or config.value.password_confirm.value + config.value.password_confirm.errtxt = errormessage.password_confirm + config.errtxt = errtxt + end + + return config end function get_users(self) diff --git a/app/acf-util/roles-controller.lua b/app/acf-util/roles-controller.lua index aa3e6bd..4c27e9d 100644 --- a/app/acf-util/roles-controller.lua +++ b/app/acf-util/roles-controller.lua @@ -50,32 +50,42 @@ viewroles = function(self) end newrole = function(self) - local form = self.model.setpermissions(self, self.clientdata.role, self.clientdata.permissions, true) + local form + if self.clientdata.Save then + form = self.model.setpermissions(self, self.clientdata.role, self.clientdata.permissions, true) + if form.value.role.errtxt then + form.errtxt = "Failed to create role" + else + local cmdresult = cfe({ value="New role created", label="New role result" }) + self.sessiondata.cmdresult = cmdresult + redirect(self, "viewroles") + end + else + form = self.model.getpermissions(self) + end form.type = "form" form.label = "Edit new role" - if form.value.role.errtxt then - form.errtxt = "Failed to create role" - elseif self.clientdata.permissions then - -- If we have permissions, we tried to set - local cmdresult = cfe({ value="New role created" }) - self.sessiondata.cmdresult = cmdresult - redirect(self, "viewroles") - end + form.option = "Save" return form end editrole = function(self) - local form = self.model.setpermissions(self, self.clientdata.role, self.clientdata.permissions, false) + local form + if self.clientdata.Save then + form = self.model.setpermissions(self, self.clientdata.role, self.clientdata.permissions, false) + if form.value.role.errtxt then + form.errtxt = "Failed to save role" + else + local cmdresult = cfe({ value="Role saved", label="Edit role result" }) + self.sessiondata.cmdresult = cmdresult + redirect(self, "viewroles") + end + else + form = self.model.getpermissions(self, self.clientdata.role) + end form.type = "form" form.label = "Edit role" - if form.value.role.errtxt then - form.errtxt = "Failed to save role" - elseif self.clientdata.permissions then - -- If we have permissions, we tried to set - local cmdresult = cfe({ value="Role saved" }) - self.sessiondata.cmdresult = cmdresult - redirect(self, "viewroles") - end + form.option = "Save" return form end diff --git a/app/acf-util/roles-editrole-html.lsp b/app/acf-util/roles-editrole-html.lsp index 2094b54..a1bfc7a 100644 --- a/app/acf-util/roles-editrole-html.lsp +++ b/app/acf-util/roles-editrole-html.lsp @@ -1,15 +1,12 @@