diff options
author | Ted Trask <ttrask01@yahoo.com> | 2008-07-02 19:37:37 +0000 |
---|---|---|
committer | Ted Trask <ttrask01@yahoo.com> | 2008-07-02 19:37:37 +0000 |
commit | f9bd649db56f7d9f70b2a6b191528f6e08d4c675 (patch) | |
tree | e0469ce562e854b7cc4d4caa5d7eb9f5e4e128b0 /interfaces-controller.lua | |
parent | 105b8e5ea1aa3cf0f7c3101cffc30727cc3ed70f (diff) | |
download | acf-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.lua | 117 |
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 |