diff options
-rw-r--r-- | provisioning-controller.lua | 4 | ||||
l--------- | provisioning-duplicatedevice-html.lsp | 1 | ||||
-rw-r--r-- | provisioning-editdevice-html.lsp | 3 | ||||
-rw-r--r-- | provisioning.roles | 4 |
4 files changed, 10 insertions, 2 deletions
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 |