summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--shorewall-model.lua23
1 files changed, 8 insertions, 15 deletions
diff --git a/shorewall-model.lua b/shorewall-model.lua
index 0130b78..f3c1e50 100644
--- a/shorewall-model.lua
+++ b/shorewall-model.lua
@@ -217,29 +217,22 @@ function getfilelist ()
return cfe({ type="list", value=listed_files, label="Shorewall File List" })
end
-function getfiledetails(filename)
- --Validate filename
+local function is_valid_filename(filename)
local available_files = getfilelist()
for i,file in ipairs(available_files.value) do
if file.filename == filename then
- return modelfunctions.getfiledetails(filename)
+ return true
end
end
- local retval = modelfunctions.getfiledetails("")
- retval.value.filename.value = filename
- return retval
+ return false
+end
+
+function getfiledetails(filename)
+ return modelfunctions.getfiledetails(filename, is_valid_filename)
end
function updatefiledetails (filedetails)
- local available_files = getfilelist()
- for i,file in ipairs(available_files.value) do
- if file.filename == filedetails.value.filename.value then
- return modelfunctions.setfiledetails(filedetails)
- end
- end
- filedetails.value.filename.errtxt = "Invalid Filename"
- filedetails.errtxt = "Failed to save file"
- return filedetails
+ return modelfunctions.setfiledetails(filedetails, is_valid_filename)
end
--[[