summaryrefslogtreecommitdiffstats
path: root/app/acf-util/logon-controller.lua
blob: 8359c18b4bfe455818a286a0ff8b354bf9827209 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
-- Logon / Logoff functions

module (..., package.seeall)

require ("session")

mvc.on_load = function(self, parent)
	-- If they specify an invalid action or try to run init, then redirect
	-- to the read function.
	if ( self.conf.action == nil  or self.conf.action == "init" )  then
		-- do what?
	end
	
end


logon = function(self)
	
	local username=cfe({ name="username" })
	local password=cfe({ name="password" })
	local logon=cfe({ name="Logon", type="submit"})
	local s = ""

	if self.clientdata.username and self.clientdata.password then
	if self.model.logon(self, self.clientdata.username, self.clientdata.password) == false then
		username.value = self.clientdata.username
		if self.session.id then
			username.errtxt = "You are already logged in. Logout first."
		else
			username.errtxt = "There was a problem logging in"
		end
	else
		self.conf.controller = ""
		self.conf.action = ""
		self.conf.prefix = ""
		self.conf.type = "redir"
		error(self.conf)
	end
	end
	-- If we reach this point, just give them the login page
        return ( cfe ({type="form",
	option={ script=ENV["SCRIPT_NAME"],
	prefix=self.conf.prefix,
	controller = self.conf.controller,
	action = "logon" },
	value = { username, password, logon } }))
end


logout = function(self)
	self.model.logout(self, session.id)


        -- and raise an error to go to the homepage
	self.conf.action = ""
	self.conf.prefix = ""
	self.conf.controller = ""
	self.conf.type = "redir"
	error(self.conf)
end