diff options
author | Ted Trask <ttrask01@yahoo.com> | 2012-07-30 22:40:21 +0000 |
---|---|---|
committer | Ted Trask <ttrask01@yahoo.com> | 2012-07-30 22:40:21 +0000 |
commit | 14e744edc4d6ec4f2eb528262c495a2613862e0d (patch) | |
tree | 88d61d06caa251793ae98fb932907913f6566a79 | |
parent | 17afeb7c5278b6cc6cc908a3e5c0544f905179df (diff) | |
download | acf-ipsec-tools-14e744edc4d6ec4f2eb528262c495a2613862e0d.tar.bz2 acf-ipsec-tools-14e744edc4d6ec4f2eb528262c495a2613862e0d.tar.xz |
Removed redirect_to_referrer and changed viewcert to a form
-rw-r--r-- | ipsectools-controller.lua | 4 | ||||
-rw-r--r-- | ipsectools-listcerts-html.lsp | 4 | ||||
-rw-r--r-- | ipsectools-model.lua | 44 | ||||
-rw-r--r-- | ipsectools-viewcert-html.lsp | 10 |
4 files changed, 43 insertions, 19 deletions
diff --git a/ipsectools-controller.lua b/ipsectools-controller.lua index f6d7e4f..6b51c57 100644 --- a/ipsectools-controller.lua +++ b/ipsectools-controller.lua @@ -27,7 +27,7 @@ function listcerts(self) end function deletecert(self) - return self:redirect_to_referrer(self.model.delete_cert(self.clientdata.cert)) + return self.handle_form(self, self.model.get_delete_cert, self.model.delete_cert, self.clientdata, "Delete", "Delete Certificate", "Certificate Deleted") end function uploadcert (self) @@ -35,5 +35,5 @@ function uploadcert (self) end function viewcert(self) - return self.model.view_cert(self.clientdata.cert) + return self.handle_form(self, self.model.get_view_cert, self.model.view_cert, self.clientdata, "View", "View Certificate") end diff --git a/ipsectools-listcerts-html.lsp b/ipsectools-listcerts-html.lsp index ff8b133..542a7fd 100644 --- a/ipsectools-listcerts-html.lsp +++ b/ipsectools-listcerts-html.lsp @@ -15,9 +15,9 @@ <% for i,cert in ipairs(view.value) do %> <TR> <TD style="padding-right:20px;white-space:nowrap;"> - <%= html.link{value=page_info.script..page_info.prefix..page_info.controller.."/deletecert?cert="..cert.."&redir="..page_info.orig_action, label="Delete "} %> + <%= html.link{value=page_info.script..page_info.prefix..page_info.controller.."/deletecert?submit=true&cert="..cert, label="Delete "} %> <% if not string.find(cert, "%-key") then %> - <%= html.link{value=page_info.script..page_info.prefix..page_info.controller.."/viewcert?cert="..cert.."&redir="..page_info.orig_action, label="View "} %> + <%= html.link{value=page_info.script..page_info.prefix..page_info.controller.."/viewcert?cert="..cert, label="View "} %> <% end %> </TD> <TD style="white-space:nowrap;"><%= html.html_escape(cert) %></TD> diff --git a/ipsectools-model.lua b/ipsectools-model.lua index 01f526a..568375c 100644 --- a/ipsectools-model.lua +++ b/ipsectools-model.lua @@ -163,18 +163,25 @@ function list_certs() return cfe({ type="list", value=list, label="IPSEC Certificates" }) end -function delete_cert(certname) +function get_delete_cert(self, clientdata) + local retval = {} + retval.cert = cfe({ value=clientdata.cert or "", label="IPSEC Certificate" }) + return cfe({ type="group", value=retval, label="Delete Certificate" }) +end + +function delete_cert(self, delcert) local list = list_certs() - local retval = cfe({ label="Delete Certificate result", errtxt="Invalid cert name" }) + delcert.value.cert.errtxt = "Invalid cert name" + delcert.errtxt = "Failed to delete Certificate" for i,cert in ipairs(list.value) do - if cert == certname then - os.remove(baseurl..certname) - retval.value = "Certificate deleted" - retval.errtxt = nil + if cert == delcert.value.cert.value then + os.remove(baseurl..cert) + delcert.value.cert.errtxt = nil + delcert.errtxt = nil break end end - return retval + return delcert end function new_upload_cert() @@ -260,16 +267,27 @@ function upload_cert(self, newcert) return newcert end -view_cert = function(certname) +function get_view_cert(self, clientdata) + local retval = {} + retval.cert = cfe({ value=clientdata.cert or "", label="IPSEC Certificate" }) + return cfe({ type="group", value=retval, label="View Certificate" }) +end + +view_cert = function(self, viewcert) local list = list_certs() - local cmdresult = "Invalid cert name" + viewcert.value.cert.errtxt = "Invalid cert name" + viewcert.errtxt = "Failed to find cert" for i,cert in ipairs(list.value) do - if cert == certname then - local cmd = path .. "openssl x509 -in "..baseurl..format.escapespecialcharacters(certname).." -noout -text" + if cert == viewcert.value.cert.value then + local cmd = path .. "openssl x509 -in "..baseurl..format.escapespecialcharacters(cert).." -noout -text" local f = io.popen(cmd) - cmdresult = f:read("*a") + local cmdresult = f:read("*a") f:close() + viewcert.value.result = cfe({ type="longtext", value=cmdresult, label="Certificate", readonly=true }) + viewcert.errtxt = nil + viewcert.value.cert.errtxt = nil + break end end - return cfe({ type="table", value={name=certname, value=cmdresult}, label="Certificate" }) + return viewcert end diff --git a/ipsectools-viewcert-html.lsp b/ipsectools-viewcert-html.lsp index 1c87e92..a32ffb3 100644 --- a/ipsectools-viewcert-html.lsp +++ b/ipsectools-viewcert-html.lsp @@ -1,4 +1,10 @@ -<% local view, viewlibrary = ... %> +<% local view, viewlibrary, page_info, session = ... %> +<% require("htmlviewfunctions") %> +<% if view.value.result then %> <H1>Certificate Details</H1> -<pre><%= html.html_escape(view.value.value) %></pre> +<% htmlviewfunctions.displayitem(view.value.cert, 1, page_info) %> +<pre><%= html.html_escape(view.value.result.value) %></pre> +<% else + htmlviewfunctions.displayitem(view, 1, page_info) +end %> |