diff options
author | Ted Trask <ttrask01@yahoo.com> | 2012-12-04 22:50:48 +0000 |
---|---|---|
committer | Ted Trask <ttrask01@yahoo.com> | 2012-12-04 22:50:48 +0000 |
commit | 8879e15c0f2d3f38df5bf56d7cd1264a138b669e (patch) | |
tree | 3f0e3602cfc5d94355f4108fe06cc3a7b894f864 | |
parent | 6fd5954565c32287390b51b1995b8f781e75d2c2 (diff) | |
download | acf-alpine-baselayout-8879e15c0f2d3f38df5bf56d7cd1264a138b669e.tar.bz2 acf-alpine-baselayout-8879e15c0f2d3f38df5bf56d7cd1264a138b669e.tar.xz |
Changed delete interfaces to use a select and properly return results
-rw-r--r-- | interfaces-controller.lua | 2 | ||||
-rw-r--r-- | interfaces-model.lua | 23 |
2 files changed, 9 insertions, 16 deletions
diff --git a/interfaces-controller.lua b/interfaces-controller.lua index 704cb26..6e72160 100644 --- a/interfaces-controller.lua +++ b/interfaces-controller.lua @@ -16,7 +16,7 @@ update = function(self) end delete = function(self) - return self.handle_form(self, self.model.get_delete_iface_by_name, self.model.delete_iface_by_name, self.clientdata, "Delete", "Delete Interface", "Interface deleted") + return self.handle_form(self, self.model.get_delete_iface_by_name, self.model.delete_iface_by_name, self.clientdata, "Delete", "Delete Interface") end ifup = function(self) diff --git a/interfaces-model.lua b/interfaces-model.lua index 9afca19..57c86fd 100644 --- a/interfaces-model.lua +++ b/interfaces-model.lua @@ -319,13 +319,11 @@ iface.delete = function (name) table.remove (iface.array, idx ) rc = iface.commit() end - local value if rc then - value = "Interface deleted" + return "Interface deleted" else - value = "Interface not found" + return nil, "Interface not found" end - return cfe({ value=value, label="Delete result" }) end iface.validate = function (def) @@ -395,23 +393,18 @@ end get_delete_iface_by_name = function(self, clientdata) local result = {} - result.name = cfe({ value=clientdata.name or "", label="Interface Name" }) + result.name = cfe({ type="select", value=clientdata.name or "", label="Interface Name", option=iface.list_interfaces() }) return cfe({ type="group", value=result, label="Interface Name" }) end delete_iface_by_name = function(self, deleterequest) + local success = modelfunctions.validateselect(deleterequest.value.name) - if deleterequest.value.name.value and deleterequest.value.name.value ~= "" then - local res, err = iface.delete(deleterequest.value.name.value) - end - - if res then - deleterequest.descr = res - end - - if not res and err then - delterequest.errtxt = err + if success then + deleterequest.descr, deleterequest.errtxt = iface.delete(deleterequest.value.name.value) + else + deleterequest.errtxt = "Failed to delete interface" end return deleterequest |