summaryrefslogtreecommitdiffstats
path: root/dhcp-controller.lua
blob: a3bda73e814d0dcdc55236951ee00a0f20962c69 (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
61
62
-- the dhcpd  controller
module (..., package.seeall)

require("controllerfunctions")

default_action = "status"

status = function ( self )
	return self.model.getstatus()
end

startstop = function ( self )
	return controllerfunctions.handle_startstop(self, self.model.startstop_service, self.clientdata)
end

settings = function( self )
	return controllerfunctions.handle_form(self, self.model.read_settings, self.model.update_settings, self.clientdata, "Save", "Update Global Settings", "Global Settings Updated")
end

editsubnet = function ( self )
	return controllerfunctions.handle_form(self, function() return self.model.subnet_read(self.clientdata.subnet) end, self.model.subnet_update, self.clientdata, "Save", "Edit Subnet", "Subnet Settings Updated")
end

createsubnet = function ( self )
	return controllerfunctions.handle_form(self, self.model.create_new_subnet, self.model.subnet_create, self.clientdata, "Create", "Create new subnet", "New subnet Created")
end

delsubnet = function(self)
	return self:redirect_to_referrer(self.model.subnet_delete(self.clientdata.subnet))
end

listsubnets = function ( self )
	return self.model.get_subnets()
end

edithost = function ( self )
	return controllerfunctions.handle_form(self, function() return self.model.host_read(self.clientdata.host) end, self.model.host_update, self.clientdata, "Save", "Edit Host", "Host Settings Updated")
end

createhost = function ( self )
	return controllerfunctions.handle_form(self, self.model.create_new_host, self.model.host_create, self.clientdata, "Create", "Create new host", "New host Created")
end

delhost = function(self)
	return self:redirect_to_referrer(self.model.host_delete(self.clientdata.host))
end

listhosts = function ( self )
	return self.model.get_hosts()
end

viewleases = function ( self )
	return self.model.getleases()
end

listfiles = function(self)
	return self.model.listconfigfiles()
end

expert = function(self)
	return controllerfunctions.handle_form(self, function() return self.model.getconfigfile(self.clientdata.filename) end, self.model.setconfigfile, self.clientdata, "Save", "Edit DHCP File", "File Saved")
end