summaryrefslogtreecommitdiffstats
path: root/app/acf-util
diff options
context:
space:
mode:
authorTed Trask <ttrask01@yahoo.com>2008-06-06 14:10:46 +0000
committerTed Trask <ttrask01@yahoo.com>2008-06-06 14:10:46 +0000
commit7344a5a7fbd434a160ba9ae28d8dfd709df79313 (patch)
tree445467b2db7dd4096cdfeeb9d0793e3c55f205a1 /app/acf-util
parentb696b28ec60c4386f452d36b6832b69324615dc9 (diff)
downloadacf-core-7344a5a7fbd434a160ba9ae28d8dfd709df79313.tar.bz2
acf-core-7344a5a7fbd434a160ba9ae28d8dfd709df79313.tar.xz
Moved clientdata processing from password model to controller.
git-svn-id: svn://svn.alpinelinux.org/acf/core/trunk@1208 ab2d0c66-481e-0410-8bed-d214d4d58bed
Diffstat (limited to 'app/acf-util')
-rwxr-xr-xapp/acf-util/password-controller.lua35
-rwxr-xr-xapp/acf-util/password-model.lua50
2 files changed, 46 insertions, 39 deletions
diff --git a/app/acf-util/password-controller.lua b/app/acf-util/password-controller.lua
index 4493e4a..9ad8e04 100755
--- a/app/acf-util/password-controller.lua
+++ b/app/acf-util/password-controller.lua
@@ -7,23 +7,27 @@ function status(self)
end
function editme(self)
- local output
+ local output = self.model.read_user(self, self.sessiondata.userinfo.userid)
if clientdata.Save then
-- just to make sure can't modify any other user from this action
self.clientdata.userid = self.sessiondata.userinfo.userid
+
+ -- As a special case for update_user, settings that don't change are nil
self.clientdata.roles = nil
-- if password is blank, don't update it or require it
if self.clientdata.password == "" then self.clientdata.password = nil end
if self.clientdata.password_confirm == "" then self.clientdata.password_confirm = nil end
+ for name,value in pairs(output.value) do
+ value.value = self.clientdata[name]
+ end
+
-- Update userinfo
- output = self.model.update_user(self, self.clientdata)
+ output = self.model.update_user(self, output)
if not output.errtxt then
output.descr = "Saved user"
end
- else
- output = self.model.read_user(self, self.sessiondata.userinfo.userid)
end
-- Don't allow changing of roles for yourself
@@ -36,21 +40,24 @@ function editme(self)
end
function edituser(self)
- local output
+ local output = self.model.read_user(self, self.clientdata.userid)
if self.clientdata.Save then
+ -- As a special case for update_user, settings that don't change are nil
-- if password is blank, don't update it or require it
if self.clientdata.password == "" then self.clientdata.password = nil end
if self.clientdata.password_confirm == "" then self.clientdata.password_confirm = nil end
+ for name,value in pairs(output.value) do
+ value.value = self.clientdata[name]
+ end
+
-- Update userinfo
- output = self.model.update_user(self, self.clientdata)
+ output = self.model.update_user(self, output)
-- result
if not output.errtxt then
redirect(self, "status")
end
- else
- output = self.model.read_user(self, self.clientdata.userid)
end
output.type = "form"
@@ -60,17 +67,21 @@ function edituser(self)
end
function newuser(self)
- local output
+ local output = self.model.read_user(self)
if self.clientdata.Save then
+ for name,value in pairs(output.value) do
+ if self.clientdata[name] then
+ value.value = self.clientdata[name]
+ end
+ end
+
-- Update userinfo
- output = self.model.create_user(self, self.clientdata)
+ output = self.model.create_user(self, output)
-- result
if not output.errtxt then
redirect(self, "status")
end
- else
- output = self.model.read_user(self)
end
output.type = "form"
diff --git a/app/acf-util/password-model.lua b/app/acf-util/password-model.lua
index 12e29b0..7454d79 100755
--- a/app/acf-util/password-model.lua
+++ b/app/acf-util/password-model.lua
@@ -2,8 +2,8 @@ module(..., package.seeall)
local auth=require("authenticator-plaintext")
-function create_user(self, clientdata)
- return update_user(self, clientdata, true)
+function create_user(self, userdata)
+ return update_user(self, userdata, true)
end
function read_user(self, user)
@@ -45,46 +45,42 @@ function read_user(self, user)
return cfe({ type="group", value=config, errtxt = errtxt, label="User Config" })
end
-function update_user(self, clientdata, newuser)
- local config
+function update_user(self, userdata, newuser)
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)
+ result, errormessage = auth.new_settings(self, userdata.value.userid.value, userdata.value.username.value, userdata.value.password.value, userdata.value.password_confirm.value, userdata.value.roles.value)
if result == false then
- errtxt = "Failed to create new user"
+ userdata.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)
+ -- As a special case, settings that don't change are nil
+ result, errormessage = auth.change_settings(self, userdata.value.userid.value, userdata.value.username.value, userdata.value.password.value, userdata.value.password_confirm.value, userdata.value.roles.value)
if result == false then
- errtxt = "Failed to save changes"
+ userdata.errtxt = "Failed to save changes"
+ end
+ -- We can't return any nil values, so set then
+ local olduserdata = read_user(self, userdata.value.userid.value)
+ for name,value in pairs(userdata.value) do
+ if value.value == nil then
+ value.value = olduserdata.value[name].value
+ end
end
end
- if result == true then
- config = read_user(self, clientdata.userid)
- else
- -- get a blank table
- config = read_user(self)
+ userdata.value.password.value = ""
+ userdata.value.password_confirm.value = ""
- -- 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
+ if result == false then
+ -- now, copy in the errors
+ for name,value in pairs(userdata.value) do
+ value.errtxt = errormessage[name]
+ end
end
- return config
+ return userdata
end
function get_users(self)