diff options
Diffstat (limited to 'interfaces-model.lua')
-rw-r--r-- | interfaces-model.lua | 23 |
1 files changed, 8 insertions, 15 deletions
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 |