summaryrefslogtreecommitdiffstats
path: root/interfaces-controller.lua
diff options
context:
space:
mode:
authorTed Trask <ttrask01@yahoo.com>2008-07-02 19:37:37 +0000
committerTed Trask <ttrask01@yahoo.com>2008-07-02 19:37:37 +0000
commitf9bd649db56f7d9f70b2a6b191528f6e08d4c675 (patch)
treee0469ce562e854b7cc4d4caa5d7eb9f5e4e128b0 /interfaces-controller.lua
parent105b8e5ea1aa3cf0f7c3101cffc30727cc3ed70f (diff)
downloadacf-alpine-baselayout-f9bd649db56f7d9f70b2a6b191528f6e08d4c675.tar.bz2
acf-alpine-baselayout-f9bd649db56f7d9f70b2a6b191528f6e08d4c675.tar.xz
Changed interfaces to use controllerfunctions.
git-svn-id: svn://svn.alpinelinux.org/acf/alpine-baselayout/trunk@1268 ab2d0c66-481e-0410-8bed-d214d4d58bed
Diffstat (limited to 'interfaces-controller.lua')
-rw-r--r--interfaces-controller.lua117
1 files changed, 8 insertions, 109 deletions
diff --git a/interfaces-controller.lua b/interfaces-controller.lua
index da963dd..cc3de23 100644
--- a/interfaces-controller.lua
+++ b/interfaces-controller.lua
@@ -1,4 +1,5 @@
-- the interfaces controller
+require("controllerfunctions")
module (..., package.seeall)
@@ -9,131 +10,29 @@ status = function (self)
end
read = function (self)
- local cmdresult
- if self.sessiondata.cmdresult then
- cmdresult = self.sessiondata.cmdresult
- end
- self.sessiondata.cmdresult = nil
-
- local retval = self.model.get_all_interfaces()
- retval.value.cmdresult = cmdresult
- return retval
+ return self.model.get_all_interfaces()
end
--- Accepts form info
--- Returns a cfe object (the form)
update = function(self)
- local name = self.clientdata.name or ""
-
- -- If interface is not found, return to list
- local data = self.model.get_iface_by_name ( name )
- if data.value.name.value == "" then
- redirect(self)
- end
-
- -- If the "Save" button was used, then attempt to do the update
- if self.clientdata.Save then
- -- update the iface info the form gave us
- for k,v in pairs (data.value) do
- if v.type == "boolean" then
- if self.clientdata[k] then
- v.value = true
- else
- v.value = false
- end
- elseif self.clientdata[k] then
- v.value = self.clientdata[k]
- end
- end
-
- data = self.model.update_iface ( data )
-
- -- If validation worked then return to list
- if not data.errtxt then
- data.descr = "Updated Interface"
- end
- end
-
- -- If we reach this point in the function, then we are providing a form
- -- for the user to edit (either first time in, or validation failed)
- data.type = "form"
- data.option = "Save"
- data.label = "Update Interface"
-
- return data
+ return controllerfunctions.handle_form(self, function() return self.model.get_iface_by_name(self.clientdata.name or "") end, self.model.update_iface, self.clientdata, "Save", "Update Interface", "Interface updated")
end
delete = function(self)
- local name = self.clientdata.name or ""
-
- -- Attempt to delete the iface
- local cmdresult = self.model.delete_iface_by_name (name)
- self.sessiondata.cmdresult = cmdresult
- redirect_to_referrer(self)
+ return self:redirect_to_referrer(self.model.delete_iface_by_name(self.clientdata.name or ""))
end
ifup = function(self)
- local name = self.clientdata.name or ""
-
- -- Attempt to delete the iface
- local cmdresult = self.model.ifup_by_name (name)
- self.sessiondata.cmdresult = cmdresult
- redirect_to_referrer(self)
+ return self:redirect_to_referrer(self.model.ifup_by_name(self.clientdata.name or ""))
end
ifdown = function(self)
- local name = self.clientdata.name or ""
-
- -- Attempt to delete the iface
- local cmdresult = self.model.ifdown_by_name (name)
- self.sessiondata.cmdresult = cmdresult
- redirect_to_referrer(self)
+ return self:redirect_to_referrer(self.model.ifdown_by_name(self.clientdata.name or ""))
end
create = function(self)
- local data = self.model.get_iface (self.clientdata.family, self.clientdata.method)
-
- -- If the "Create" button was used, then attempt to do the insert
- if self.clientdata.Create then
- for k,v in pairs (data.value) do
- if self.clientdata[k] then
- v.value = self.clientdata[k]
- end
- end
-
- data = self.model.create_iface ( data )
- if not data.errtxt then
- data.descr = "Created Interface"
- redirect(self, "update?name="..data.value.name.value)
- elseif data.value.method and data.value.method.value == "" then
- data.value.method.errtxt = "Must define method"
- end
- end
-
- if data.value.family and data.value.family.value == "" then
- data.value.family.errtxt = "Must define family"
- end
-
- -- If we reach this point in the function, we are providing a form
- data.type = "form"
- data.option = "Create"
- data.label = "Create Interface"
-
- return data
+ return controllerfunctions.handle_form(self, function() return self.model.get_iface(self.clientdata.family, self.clientdata.method) end, self.model.create_iface, self.clientdata, "Create", "Create Interface", "Interface created", "read")
end
editintfile = function(self)
- local data = self.model.get_file()
-
- if self.clientdata.Save then
- data.value.filecontent.value = self.clientdata.filecontent
- data = self.model.write_file(data)
- data.descr = "Saved file"
- end
-
- data.type = "form"
- data.option = "Save"
- data.label = "Edit Interfaces file"
-
- return data
+ return controllerfunctions.handle_form(self, self.model.get_file, self.model.write_file, self.clientdata, "Save", "Edit Interfaces file", "File saved")
end