From 909e5c2787bf0d3cf06f05b0b395e288bfd5031d Mon Sep 17 00:00:00 2001 From: Ted Trask Date: Wed, 15 Aug 2012 11:07:37 +0000 Subject: Removed call to redirect_to_referrer --- samba-controller.lua | 2 +- samba-listshares-html.lsp | 2 +- samba-model.lua | 19 +++++++++++++------ 3 files changed, 15 insertions(+), 8 deletions(-) diff --git a/samba-controller.lua b/samba-controller.lua index 1af97f6..3450ed5 100644 --- a/samba-controller.lua +++ b/samba-controller.lua @@ -31,7 +31,7 @@ function editshare(self) end function deleteshare(self) - return self:redirect_to_referrer(self.model.delete_share(self.clientdata.name)) + return self.handle_form(self, self.model.get_delete_share, self.model.delete_share, self.clientdata, "Delete", "Delete Share", "Share Deleted") end function createshare(self) diff --git a/samba-listshares-html.lsp b/samba-listshares-html.lsp index e118a70..a3332f7 100644 --- a/samba-listshares-html.lsp +++ b/samba-listshares-html.lsp @@ -21,7 +21,7 @@ require("htmlviewfunctions") <%= html.link{value=page_info.script..page_info.prefix..page_info.controller.."/editshare?name="..share.name.."&redir="..page_info.orig_action, label="Edit "} %> <% end %> <% if viewlibrary.check_permission("deleteshare") then %> - <%= html.link{value=page_info.script..page_info.prefix..page_info.controller.."/deleteshare?name="..share.name, label="Delete "} %> + <%= html.link{value=page_info.script..page_info.prefix..page_info.controller.."/deleteshare?submit=true&name="..share.name, label="Delete "} %> <% end %> <%= html.html_escape(share.name) %> diff --git a/samba-model.lua b/samba-model.lua index 54cd65d..eddbe51 100644 --- a/samba-model.lua +++ b/samba-model.lua @@ -289,11 +289,18 @@ function create_share(self, share) return share end -function delete_share(name) - local retval = cfe({ label="Delete Share result" }) +function get_delete_share(self, clientdata) + local retval = {} + retval.name = cfe({ value=clientdata.name or "", label="Share Name" }) + return cfe({ type="group", value=retval, label="Delete Share" }) +end + +function delete_share(self, delshare) + local name = delshare.value.name.value + delshare.ertxt = "Failed to delete share" if specialsection[name] then - retval.errtxt = "Share not found" + delshare.value.name.errtxt = "Share not found" else configcontent = configcontent or fs.read_file(configfile) or "" config = config or format.parse_ini_file(configcontent) or {} @@ -303,11 +310,11 @@ function delete_share(name) fs.write_file(configfile, configcontent) configcontent = nil config = nil - retval.value = "Share Deleted" + delshare.errtxt = nil else - retval.errtxt = "Share not found" + delshare.value.name.errtxt = "Share not found" end end - return retval + return delshare end -- cgit v1.2.3