summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTed Trask <ttrask01@yahoo.com>2012-12-04 22:50:48 +0000
committerTed Trask <ttrask01@yahoo.com>2012-12-04 22:50:48 +0000
commit8879e15c0f2d3f38df5bf56d7cd1264a138b669e (patch)
tree3f0e3602cfc5d94355f4108fe06cc3a7b894f864
parent6fd5954565c32287390b51b1995b8f781e75d2c2 (diff)
downloadacf-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.lua2
-rw-r--r--interfaces-model.lua23
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