From 50f48b613c0b774417b7034b7e23577aec615533 Mon Sep 17 00:00:00 2001 From: Ted Trask Date: Thu, 4 Nov 2010 08:10:53 +0000 Subject: Added duplicatedevice action --- provisioning-controller.lua | 4 ++++ provisioning-duplicatedevice-html.lsp | 1 + provisioning-editdevice-html.lsp | 3 +++ provisioning.roles | 4 ++-- 4 files changed, 10 insertions(+), 2 deletions(-) create mode 120000 provisioning-duplicatedevice-html.lsp diff --git a/provisioning-controller.lua b/provisioning-controller.lua index 6da9884..88971ea 100644 --- a/provisioning-controller.lua +++ b/provisioning-controller.lua @@ -80,6 +80,10 @@ createdevice = function( self ) return controllerfunctions.handle_form(self, self.model.get_device, self.model.create_device, self.clientdata, "Create", "Create Device", "Device Created") end +duplicatedevice = function( self ) + return controllerfunctions.handle_form(self, function() return self.model.get_device(self.clientdata.device_id) end, self.model.create_device, self.clientdata, "Duplicate", "Duplicate Device", "Duplicate Device Created") +end + deletedevice = function( self ) return self:redirect_to_referrer(self.model.delete_device(self.clientdata.device_id)) end diff --git a/provisioning-duplicatedevice-html.lsp b/provisioning-duplicatedevice-html.lsp new file mode 120000 index 0000000..5fef703 --- /dev/null +++ b/provisioning-duplicatedevice-html.lsp @@ -0,0 +1 @@ +provisioning-editdevice-html.lsp \ No newline at end of file diff --git a/provisioning-editdevice-html.lsp b/provisioning-editdevice-html.lsp index 571091b..829d1f7 100644 --- a/provisioning-editdevice-html.lsp +++ b/provisioning-editdevice-html.lsp @@ -6,6 +6,9 @@ require("viewfunctions") <% if page_info.action == "editdevice" then form.value.device_id.readonly = "true" + elseif page_info.action == "duplicatedevice" then + form.value.template_id = nil + form.value.classes = nil else form.value.device_id.type = "hidden" end diff --git a/provisioning.roles b/provisioning.roles index 911c947..9b75956 100644 --- a/provisioning.roles +++ b/provisioning.roles @@ -1,5 +1,5 @@ GUEST=provisioning:getdevicevalues USER= -EDITOR=provisioning:listdevices,provisioning:editdevice,provisioning:createdevice,provisioning:deletedevice +EDITOR=provisioning:listdevices,provisioning:editdevice,provisioning:createdevice,provisioning:duplicatedevice,provisioning:deletedevice EXPERT=provisioning:listtemplates,provisioning:edittemplate,provisioning:createtemplate,provisioning:deletetemplate,provisioning:listclasses,provisioning:editclass,provisioning:createclass,provisioning:deleteclass,provisioning:listgroups,provisioning:editgroup,provisioning:creategroup,provisioning:deletegroup,provisioning:listparams,provisioning:editparam,provisioning:createparam,provisioning:deleteparam,provisioning:overridedeviceparams -ADMIN=provisioning:listtemplates,provisioning:edittemplate,provisioning:createtemplate,provisioning:deletetemplate,provisioning:listdevices,provisioning:editdevice,provisioning:createdevice,provisioning:deletedevice,provisioning:listclasses,provisioning:editclass,provisioning:createclass,provisioning:deleteclass,provisioning:listgroups,provisioning:editgroup,provisioning:creategroup,provisioning:deletegroup,provisioning:listparams,provisioning:editparam,provisioning:createparam,provisioning:deleteparam,provisioning:editdeviceparams,provisioning:overridedeviceparams +ADMIN=provisioning:listtemplates,provisioning:edittemplate,provisioning:createtemplate,provisioning:deletetemplate,provisioning:listdevices,provisioning:editdevice,provisioning:createdevice,provisioning:duplicatedevice,provisioning:deletedevice,provisioning:listclasses,provisioning:editclass,provisioning:createclass,provisioning:deleteclass,provisioning:listgroups,provisioning:editgroup,provisioning:creategroup,provisioning:deletegroup,provisioning:listparams,provisioning:editparam,provisioning:createparam,provisioning:deleteparam,provisioning:editdeviceparams,provisioning:overridedeviceparams -- cgit v1.2.3