summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-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