From e42362126dc747578a9a2537b6e5ebc4dac99acf Mon Sep 17 00:00:00 2001 From: Ted Trask Date: Wed, 15 Aug 2012 15:18:17 +0000 Subject: Removed calls to redirect_to_referrer and fixed smtpstatus --- tcpproxy-controller.lua | 4 ++-- tcpproxy-listsmtpentries-html.lsp | 2 +- tcpproxy-listsmtpfiles-html.lsp | 2 +- tcpproxy-model.lua | 29 ++++++++++++++++++++++------- tcpproxy-smtpstatus-html.lsp | 5 ++++- 5 files changed, 30 insertions(+), 12 deletions(-) diff --git a/tcpproxy-controller.lua b/tcpproxy-controller.lua index 97cbaac..3809a10 100644 --- a/tcpproxy-controller.lua +++ b/tcpproxy-controller.lua @@ -27,7 +27,7 @@ function editsmtpentry(self) end function delsmtpentry(self) - return self:redirect_to_referrer(self.model.delsmtpentry(self.clientdata.ipaddr)) + return self.handle_form(self, self.model.getdelsmtpentry, self.model.delsmtpentry, self.clientdata, "Delete", "Delete SMTP Proxy Entry", "SMTP Proxy Entry Deleted" ) end function listsmtpfiles(self) @@ -43,5 +43,5 @@ function editsmtpfile(self) end function delsmtpfile(self) - return self:redirect_to_referrer(self.model.delsmtpfile(self.clientdata.filename)) + return self.handle_form(self, self.model.getdelsmtpfile, self.model.delsmtpfile, self.clientdata, "Delete", "Delete SMTP Proxy File", "SMTP Proxy File Deleted" ) end diff --git a/tcpproxy-listsmtpentries-html.lsp b/tcpproxy-listsmtpentries-html.lsp index 60f3532..11155c9 100644 --- a/tcpproxy-listsmtpentries-html.lsp +++ b/tcpproxy-listsmtpentries-html.lsp @@ -20,7 +20,7 @@ require("htmlviewfunctions") <%= html.link{value=page_info.script..page_info.prefix..page_info.controller.."/editsmtpentry?ipaddr="..(interface.ipaddr or interface.interface).."&redir="..page_info.orig_action, label="Edit "} %> <% end %> <% if viewlibrary.check_permission("delsmtpentry") then %> - <%= html.link{value=page_info.script..page_info.prefix..page_info.controller.."/delsmtpentry?ipaddr="..(interface.ipaddr or interface.interface), label="Delete "} %> + <%= html.link{value=page_info.script..page_info.prefix..page_info.controller.."/delsmtpentry?submit=true&ipaddr="..(interface.ipaddr or interface.interface), label="Delete "} %> <% end %> <%= html.html_escape(interface.interface) %> diff --git a/tcpproxy-listsmtpfiles-html.lsp b/tcpproxy-listsmtpfiles-html.lsp index 3760a66..da3818b 100644 --- a/tcpproxy-listsmtpfiles-html.lsp +++ b/tcpproxy-listsmtpfiles-html.lsp @@ -19,7 +19,7 @@ require("htmlviewfunctions") <%= html.link{value=page_info.script..page_info.prefix..page_info.controller.."/editsmtpfile?filename="..file.."&redir="..page_info.orig_action, label="Edit "} %> <% end %> <% if viewlibrary.check_permission("delsmtpfile") then %> - <%= html.link{value=page_info.script..page_info.prefix..page_info.controller.."/delsmtpfile?filename="..file, label="Delete "} %> + <%= html.link{value=page_info.script..page_info.prefix..page_info.controller.."/delsmtpfile?submit=true&filename="..file, label="Delete "} %> <% end %> <%= html.html_escape(file) %> diff --git a/tcpproxy-model.lua b/tcpproxy-model.lua index 75d5c7b..712f174 100644 --- a/tcpproxy-model.lua +++ b/tcpproxy-model.lua @@ -6,6 +6,7 @@ validator = require("acf.validator") fs = require("acf.fs") require("posix") format = require("acf.format") +processinfo = require("acf.processinfo") -- Set variables local configfile = "/etc/tcpproxy.conf" @@ -332,9 +333,16 @@ function updatesmtpentry(self, entry) return entry end -function delsmtpentry(ipaddr) - setsmtpcmd(ipaddr, nil) - return cfe({ value="Deleted SMTP Proxy Entry", label="Delete SMTP Entry result" }) +function getdelsmtpentry(self, clientdata) + local retval = {} + retval.ipaddr = cfe({ value=clientdata.ipaddr or "", label="IP Address" }) + return cfe({ type="group", value=retval, label="Delete SMTP Proxy Entry" }) +end + +function delsmtpentry(self, delentry) + -- TODO - validate ipaddr + setsmtpcmd(delentry.value.ipaddr.value, nil) + return delentry end function listsmtpfiles() @@ -384,14 +392,21 @@ function updatesmtpfile(self, filedetails) return modelfunctions.setfiledetails(self, filedetails, function(filename) return validator.is_valid_filename(filename, smtpdirectory) end) end -function delsmtpfile(filename) - local retval = cfe({ value="Deleted SMTP Proxy File", label="Delete SMTP File result" }) +function getdelsmtpfile(self, clientdata) + local retval = {} + retval.filename = cfe({ value=clientdata.filename or "", label="File Name" }) + return cfe({ type="group", value=retval, label="Delete SMTP Proxy File" }) +end + +function delsmtpfile(self, delfile) + local filename = delfile.value.filename.value if validator.is_valid_filename(filename, smtpdirectory) and fs.is_file(filename) then os.remove(filename) else - retval.value = "Failed to delete SMTP Proxy File - invalid filename" + delfile.errtxt = "Failed to delete SMTP Proxy File" + delfile.value.filename.errtxt = "Invalid filename" end - return retval + return delfile end diff --git a/tcpproxy-smtpstatus-html.lsp b/tcpproxy-smtpstatus-html.lsp index da66729..b0e4060 100644 --- a/tcpproxy-smtpstatus-html.lsp +++ b/tcpproxy-smtpstatus-html.lsp @@ -10,7 +10,10 @@ require("htmlviewfunctions") <% htmlviewfunctions.displayitem(view.value.version) if view.value.version and view.value.version.errtxt and viewlibrary.check_permission("apk-tools/apk/install") then %> - ">Install +
Install package
+
" method="POST"> + +
<% end %> -- cgit v1.2.3