summaryrefslogtreecommitdiffstats
path: root/app/acf-util/logon-controller.lua
diff options
context:
space:
mode:
Diffstat (limited to 'app/acf-util/logon-controller.lua')
-rw-r--r--app/acf-util/logon-controller.lua42
1 files changed, 25 insertions, 17 deletions
diff --git a/app/acf-util/logon-controller.lua b/app/acf-util/logon-controller.lua
index 75915fc..61b4864 100644
--- a/app/acf-util/logon-controller.lua
+++ b/app/acf-util/logon-controller.lua
@@ -2,30 +2,38 @@
module (..., package.seeall)
---require ("session")
-
+mvc = {}
mvc.on_load = function(self, parent)
- if (self.worker[self.conf.action] == nil ) or ( self.conf.action == "init" ) then
- self.worker[self.conf.action] = list_redir(self)
- end
- --logit ("logon.mvc.on_load activated")
- end
+ self.conf.default_action = "status"
+end
+-- Logon a new user based upon id and password in clientdata
logon = function(self)
- return ( {logon=self.model.logon(self, clientdata.userid, clientdata.password,clientdata.sessionid) })
+ local cmdresult
+ if clientdata.userid and clientdata.password then
+ local logon = self.model:logon(clientdata, conf.clientip, conf.sessiondir, sessiondata)
+ -- If successful logon, redirect to status, otherwise try again
+ if logon then
+ self.conf.action = "status"
+ self.conf.type = "redir"
+ error(self.conf)
+ else
+ cmdresult = "Logon Attempt Failed"
+ end
+ end
+ return ({ cmdresult = cmdresult })
end
+-- Log out current user and go to login screen
logout = function(self)
- local logout = self.model:logoff(clientdata.sessionid)
- if (logout) and (logout[1]) and (logout[1]["value"]) and (string.lower(logout[1]["value"]) == "successful") then
- self.conf.action = "logon"
- self.conf.type = "redir"
- error (self.conf)
- end
-
- return { logout = logout }
+ local logout = self.model.logoff(conf.sessiondir, sessiondata)
+ -- We have to redirect so a new session / menu is created
+ self.conf.action = "logon"
+ self.conf.type = "redir"
+ error (self.conf)
end
+-- Report the login status
status = function(self)
- return( {stats= self.model:status(clientdata.sessionid) })
+ return self.model.status(sessiondata)
end