summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTed Trask <ttrask01@yahoo.com>2011-03-04 14:10:56 +0000
committerTed Trask <ttrask01@yahoo.com>2011-03-04 14:10:56 +0000
commit4506e528fafecf02decc914684d23139ec414191 (patch)
tree28f65a0bc14360b1e1ddf1ba6eae957e8b071d71
parentdb7eb8e8d58633c8aba11895f6c02590342a2abc (diff)
downloadacf-provisioning-4506e528fafecf02decc914684d23139ec414191.tar.bz2
acf-provisioning-4506e528fafecf02decc914684d23139ec414191.tar.xz
After create device, redirect to edit it
-rw-r--r--provisioning-controller.lua7
-rw-r--r--provisioning-listdevices-html.lsp14
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>