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.lua8
1 files changed, 8 insertions, 0 deletions
diff --git a/app/acf-util/logon-controller.lua b/app/acf-util/logon-controller.lua
index c8cd82a..d71d257 100644
--- a/app/acf-util/logon-controller.lua
+++ b/app/acf-util/logon-controller.lua
@@ -22,6 +22,7 @@ logon = function(self)
local redir = cfe({ value=clientdata.redir or "/welcome/read", label="" })
local cmdresult = cfe({ type="form", value={userid=userid, password=password, redir=redir}, label="Logon", option="Logon" })
if clientdata.Logon then
+ local logonredirect = self.sessiondata.logonredirect
local logon = self.model:logon(clientdata.userid, clientdata.password, conf.clientip, conf.sessiondir, sessiondata)
-- If successful logon, redirect to welcome-page, otherwise try again
if logon.value then
@@ -31,6 +32,13 @@ logon = function(self)
end
cmdresult = self:redirect_to_referrer(cmdresult)
if logon.value then
+ -- only copy the logonredirect if redirecting to that page
+ if logonredirect and cmdresult.value.redir.value then
+ local prefix, controller, action = self.parse_path_info("/"..cmdresult.value.redir.value)
+ if logonredirect.action == action and logonredirect.controller == controller then
+ self.sessiondata.logonredirect = logonredirect
+ end
+ end
redirect(self, cmdresult.value.redir.value)
end
else