From 07027036bc14ebbb75e54f81b3134ec2b9dc0783 Mon Sep 17 00:00:00 2001 From: Ted Trask Date: Sun, 29 Jan 2017 03:43:04 +0000 Subject: Add notifydevices param and add it to all actions that modify devices (not yet implemented) Modify HTML views to display confirm warning about possible reboot when notifying devices Split several get_ functions so notifydevices would not appear for new objects Cleaned up some get_ functions to use handle_clientdata Do not display filecontent in createtemplate HTML view (or write it in model) Fix exception if bulkcreatedevices called with empty list Modify 'device' provisioning_groups seq from 1 to 5 to allow notifydevices to display first --- provisioning-bulkcreatedevices-html.lsp | 17 ++ provisioning-controller.lua | 10 +- provisioning-editdevice-html.lsp | 10 +- provisioning-editdeviceparams-html.lsp | 6 + provisioning-editparam-html.lsp | 17 ++ provisioning-edittemplate-html.lsp | 21 ++ provisioning-model.lua | 487 ++++++++++++++++++++------------ provisioning-scripts.lua | 15 +- upgradeprovisioning | 2 + 9 files changed, 388 insertions(+), 197 deletions(-) diff --git a/provisioning-bulkcreatedevices-html.lsp b/provisioning-bulkcreatedevices-html.lsp index 0f0e45f..71ab322 100644 --- a/provisioning-bulkcreatedevices-html.lsp +++ b/provisioning-bulkcreatedevices-html.lsp @@ -3,6 +3,23 @@ htmlviewfunctions = require("htmlviewfunctions") html = require("acf.html") %> + + + + <% htmlviewfunctions.displayitem(form, page_info) %> <% diff --git a/provisioning-controller.lua b/provisioning-controller.lua index 96ab26f..bcbd52f 100644 --- a/provisioning-controller.lua +++ b/provisioning-controller.lua @@ -11,7 +11,7 @@ mymodule.edittemplate = function( self ) end mymodule.createtemplate = function( self ) - return self.handle_form(self, self.model.get_template, self.model.create_template, self.clientdata, "Create", "Create Template", "Template Created") + return self.handle_form(self, self.model.get_new_template, self.model.create_template, self.clientdata, "Create", "Create Template", "Template Created") end mymodule.deletetemplate = function( self ) @@ -27,7 +27,7 @@ mymodule.editclassgroup = function( self ) end mymodule.createclassgroup = function( self ) - return self.handle_form(self, self.model.get_class_group, self.model.create_class_group, self.clientdata, "Create", "Create Class Group", "Parameter Class Created") + return self.handle_form(self, self.model.get_new_class_group, self.model.create_class_group, self.clientdata, "Create", "Create Class Group", "Parameter Class Created") end mymodule.deleteclassgroup = function( self ) @@ -43,7 +43,7 @@ mymodule.editclass = function( self ) end mymodule.createclass = function( self ) - return self.handle_form(self, self.model.get_class, self.model.create_class, self.clientdata, "Create", "Create Class", "Class Created") + return self.handle_form(self, self.model.get_new_class, self.model.create_class, self.clientdata, "Create", "Create Class", "Class Created") end mymodule.deleteclass = function( self ) @@ -63,7 +63,7 @@ mymodule.editgroup = function( self ) end mymodule.creategroup = function( self ) - return self.handle_form(self, self.model.get_group, self.model.create_group, self.clientdata, "Create", "Create Parameter Group", "Parameter Group Created") + return self.handle_form(self, self.model.get_new_group, self.model.create_group, self.clientdata, "Create", "Create Parameter Group", "Parameter Group Created") end mymodule.deletegroup = function(self ) @@ -79,7 +79,7 @@ mymodule.editparam = function( self ) end mymodule.createparam = function( self ) - return self.handle_form(self, self.model.get_param, self.model.create_param, self.clientdata, "Create", "Create Parameter", "Parameter Created") + return self.handle_form(self, self.model.get_new_param, self.model.create_param, self.clientdata, "Create", "Create Parameter", "Parameter Created") end mymodule.deleteparam = function( self ) diff --git a/provisioning-editdevice-html.lsp b/provisioning-editdevice-html.lsp index fe375aa..85161b7 100644 --- a/provisioning-editdevice-html.lsp +++ b/provisioning-editdevice-html.lsp @@ -29,6 +29,12 @@ html = require("acf.html") $(document).ready(function() { $(".deletedevice").click(function(){ return confirm("Are you sure you want to delete this device?")}); + $("[id=<%= page_info.action %>]").submit(function(event){ + if ($(this).find("#notifydevices").is(":checked")) { + return confirm("Are you sure you want to notify affected devices? This might cause a reboot."); + } + return true; + }); }); @@ -50,7 +56,9 @@ html = require("acf.html") form.value.device_id.readonly = "true" elseif page_info.action == "duplicatedevice" then form.value.classes = nil - else + form.value.notifydevices.value = false + form.value.notifydevices.type = "hidden" + elseif form.value.device_id then form.value.device_id.type = "hidden" end htmlviewfunctions.displayitem(form, page_info) diff --git a/provisioning-editdeviceparams-html.lsp b/provisioning-editdeviceparams-html.lsp index 9229264..2ee0374 100644 --- a/provisioning-editdeviceparams-html.lsp +++ b/provisioning-editdeviceparams-html.lsp @@ -91,6 +91,12 @@ end $(document).ready(function() { $(".deletedevice").click(function(){ return confirm("Are you sure you want to delete this device?")}); + $("[id=<%= page_info.action %>]").submit(function(event){ + if ($(this).find("#notifydevices").is(":checked")) { + return confirm("Are you sure you want to notify affected devices? This might cause a reboot."); + } + return true; + }); $(".groupdefaultoverride").siblings().select("contains('Default:')").addClass("error"); hideunuseddivs(); }); diff --git a/provisioning-editparam-html.lsp b/provisioning-editparam-html.lsp index b154766..96b76f1 100644 --- a/provisioning-editparam-html.lsp +++ b/provisioning-editparam-html.lsp @@ -3,6 +3,23 @@ htmlviewfunctions = require("htmlviewfunctions") html = require("acf.html") %> + + + + <% htmlviewfunctions.displaycommandresults({"editoptions"}, session, true) htmlviewfunctions.displayitem(form, page_info) diff --git a/provisioning-edittemplate-html.lsp b/provisioning-edittemplate-html.lsp index 0ef5bc2..56d3446 100644 --- a/provisioning-edittemplate-html.lsp +++ b/provisioning-edittemplate-html.lsp @@ -2,8 +2,26 @@ <% htmlviewfunctions = require("htmlviewfunctions") %> <% html = require("acf.html") %> + + + + <% local header_level = htmlviewfunctions.displaysectionstart(form, page_info) %> <% htmlviewfunctions.displayformstart(form, page_info) %> +<% htmlviewfunctions.displayformitem(form.value.notifydevices, "notifydevices") %> <% local header_level2 = htmlviewfunctions.displaysectionstart(cfe({label="Template Details"}), page_info, htmlviewfunctions.incrementheader(header_level)) %> <% if page_info.action == "edittemplate" then @@ -15,6 +33,7 @@ htmlviewfunctions.displayformitem(form.value.seq, "seq") %> <% htmlviewfunctions.displaysectionend(header_level2) %> +<% if form.value.filecontent then %> <% htmlviewfunctions.displaysectionstart(cfe({label="File Content"}), page_info, header_level2) %>