diff options
-rw-r--r-- | shorewall-model.lua | 23 |
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 --[[ |