diff options
author | Ted Trask <ttrask01@yahoo.com> | 2011-03-04 14:10:56 +0000 |
---|---|---|
committer | Ted Trask <ttrask01@yahoo.com> | 2011-03-04 14:10:56 +0000 |
commit | 4506e528fafecf02decc914684d23139ec414191 (patch) | |
tree | 28f65a0bc14360b1e1ddf1ba6eae957e8b071d71 | |
parent | db7eb8e8d58633c8aba11895f6c02590342a2abc (diff) | |
download | acf-provisioning-4506e528fafecf02decc914684d23139ec414191.tar.bz2 acf-provisioning-4506e528fafecf02decc914684d23139ec414191.tar.xz |
After create device, redirect to edit it
-rw-r--r-- | provisioning-controller.lua | 7 | ||||
-rw-r--r-- | provisioning-listdevices-html.lsp | 14 |
2 files changed, 19 insertions, 2 deletions
diff --git a/provisioning-controller.lua b/provisioning-controller.lua index 75daa40..c76cdfe 100644 --- a/provisioning-controller.lua +++ b/provisioning-controller.lua @@ -93,7 +93,12 @@ editdevice = function( self ) end createdevice = function( self ) - return controllerfunctions.handle_form(self, self.model.get_device, self.model.create_device, self.clientdata, "Create", "Create Device", "Device Created") + local retval = controllerfunctions.handle_form(self, self.model.get_device, self.model.create_device, self.clientdata, "Create", "Create Device", "Device Created") + if retval.value.device_id.value ~= "" and not retval.errtxt then + -- Successfully created a device, redirect to edit it + self:redirect("editdevice?device_id="..retval.value.device_id.value.."&redir=".. (self.clientdata.redir or "listdevices")) + end + return retval end duplicatedevice = function( self ) diff --git a/provisioning-listdevices-html.lsp b/provisioning-listdevices-html.lsp index fe3114f..17fee89 100644 --- a/provisioning-listdevices-html.lsp +++ b/provisioning-listdevices-html.lsp @@ -5,6 +5,18 @@ require("viewfunctions") <script type="text/javascript" src="<%= html.html_escape(page_info.wwwprefix) %>/js/jquery-latest.js"></script> <script type="text/javascript" src="<%= html.html_escape(page_info.wwwprefix) %>/js/jquery.tablesorter.js"></script> <script type="text/javascript"> + +<% -- Since we're including createdevice as a component, we break the automatic redirect + if session.createdeviceresult then + local tmp = session.createdeviceresult + session.createdeviceresult = nil + -- Use JavaScript to redirect to the edit page +%> + window.location.assign("<%= html.html_escape(page_info.script..page_info.prefix..page_info.controller) %>/<% if viewlibrary.check_permission("overridedeviceparams") then io.write("overridedeviceparams") elseif viewlibrary.check_permission("editdeviceparams") then io.write("editdeviceparams") else io.write("editdevice") end %>?device_id=<%= tmp.value.device_id.value %>&redir=<%= html.html_escape(page_info.orig_action) %>"); +<% + end +%> + $(document).ready(function() { $("#list").tablesorter({headers: {0:{sorter: false}}}); $(".deletedevice").click(function(){ return confirm("Are you sure you want to delete this device?")}); @@ -12,7 +24,7 @@ require("viewfunctions") </script> <% displaycommandresults({"deletedevice", "editdevice", "editdeviceparams", "overridedeviceparams"}, session) %> -<% displaycommandresults({"createdevice"}, session, true) %> +<% -- handled above displaycommandresults({"createdevice"}, session, true) %> <h1>Devices</h1> <DL> |