From f220daa661084dba964801f174ceb8013eae41cd Mon Sep 17 00:00:00 2001 From: Mika Havela Date: Thu, 9 Jul 2009 07:05:46 +0000 Subject: Manage existing graph cfg-files Remove/hide edit-rrd option because it donesn't work (yet) Adding roles to be able to edit files --- rrdtool-controller.lua | 6 ++++++ rrdtool-editgraphcfg-html.lsp | 19 +++++++++++++++++++ rrdtool-listgraphcfg-html.lsp | 4 ++-- rrdtool-listrrd-html.lsp | 4 ++-- rrdtool-model.lua | 16 ++++++++++++++++ rrdtool-viewgraph-popup.lsp | 2 +- rrdtool.roles | 4 ++-- 7 files changed, 48 insertions(+), 7 deletions(-) create mode 100644 rrdtool-editgraphcfg-html.lsp diff --git a/rrdtool-controller.lua b/rrdtool-controller.lua index d325abe..28a94f0 100644 --- a/rrdtool-controller.lua +++ b/rrdtool-controller.lua @@ -62,3 +62,9 @@ function config(self) return nil end +function editgraphcfg(self) + return controllerfunctions.handle_form(self, + function() return self.model.getgraphfile(self.clientdata.filename) end, + function() return self.model.setgraphfile() end, + self.clientdata, "Save", "Edit Config", "Configuration Saved") +end diff --git a/rrdtool-editgraphcfg-html.lsp b/rrdtool-editgraphcfg-html.lsp new file mode 100644 index 0000000..c67c832 --- /dev/null +++ b/rrdtool-editgraphcfg-html.lsp @@ -0,0 +1,19 @@ +<% local form, viewlibrary, page_info, session = ... +require("viewfunctions") +%> + +<% +--[[ DEBUG INFORMATION +io.write("

DEBUGGING

DEBUG INFO: CFE

") +io.write(html.cfe_unpack(form)) +io.write("
") +--]] +%> + +

<%= html.html_escape(form.label) %>

+<% + form.action = page_info.script .. page_info.prefix .. page_info.controller .. "/" .. page_info.action + local order = {"filename", "filecontent"} + displayform(form, order) +%> + diff --git a/rrdtool-listgraphcfg-html.lsp b/rrdtool-listgraphcfg-html.lsp index b2ad204..33d8405 100644 --- a/rrdtool-listgraphcfg-html.lsp +++ b/rrdtool-listgraphcfg-html.lsp @@ -39,7 +39,7 @@ function javascript_confirm_graph(formID,filename) { Delete <% end %> <% - if session.permissions[page_info.controller].edit then io.write(html.link{value = "edit?filename=" .. file.value.filename.value.."&redir="..page_info.orig_action, label="Edit " }) end + if session.permissions[page_info.controller].edit then io.write(html.link{value = "editgraphcfg?filename=" .. file.value.filename.value.."&redir="..page_info.orig_action, label="Edit " }) end %> <%= html.html_escape(file.value.filesize.value) %> @@ -51,7 +51,7 @@ function javascript_confirm_graph(formID,filename) { <% if session.permissions[page_info.controller].createrrd then %> - <% io.write(html.link{value = "createrrd", label="Create new DB " }) %> + <% io.write(html.link{value = "editgraphcfg", label="Create new graph " }) %>     diff --git a/rrdtool-listrrd-html.lsp b/rrdtool-listrrd-html.lsp index 9f1fbaa..3281338 100644 --- a/rrdtool-listrrd-html.lsp +++ b/rrdtool-listrrd-html.lsp @@ -40,8 +40,8 @@ function javascript_confirm_demo(formID,filename) { <% end %> <% io.write(html.link{value = "rrdinfo?filename=" .. file.value.filename.value, label="Info " }) - if session.permissions[page_info.controller].edit then io.write(html.link{value = "edit?filename=" .. file.value.filename.value.."&redir="..page_info.orig_action, label="Edit " }) end - if session.permissions[page_info.controller].editfile then io.write(html.link{value = "editfile?filename=" .. file.value.filename.value.."&redir="..page_info.orig_action, label="Expert " }) end +-- if session.permissions[page_info.controller].edit then io.write(html.link{value = "edit?filename=" .. file.value.filename.value.."&redir="..page_info.orig_action, label="Edit " }) end +-- if session.permissions[page_info.controller].editfile then io.write(html.link{value = "editfile?filename=" .. file.value.filename.value.."&redir="..page_info.orig_action, label="Expert " }) end %> <%= html.html_escape(file.value.filesize.value) %> diff --git a/rrdtool-model.lua b/rrdtool-model.lua index e9ff4e6..b3f6dee 100644 --- a/rrdtool-model.lua +++ b/rrdtool-model.lua @@ -226,3 +226,19 @@ end function getgraphlist() return list_files(graphpath,".*graph") end + +function getgraphfile(path) + if (path) and not (validfilename(path)) then + path = nil + end + local filedetails = modelfunctions.getfiledetails(path) + local output = {value={filename=filedetails.value.filename, + filecontent=filedetails.value.filecontent,}} +-- output.value.filecontent.rows="30" -- FIXME: For some reason I can't control the size of a textarea + if not (path) then + output.value.filename.errtxt=nil + else + output.value.filename.disabled="true" + end + return output +end diff --git a/rrdtool-viewgraph-popup.lsp b/rrdtool-viewgraph-popup.lsp index ecc2702..b75085e 100644 --- a/rrdtool-viewgraph-popup.lsp +++ b/rrdtool-viewgraph-popup.lsp @@ -9,6 +9,6 @@ io.write(html.cfe_unpack(data)) io.write("") --]] %> -
<%= data.descr %>
+

<%= data.descr %>

diff --git a/rrdtool.roles b/rrdtool.roles index 8423772..3e283b3 100644 --- a/rrdtool.roles +++ b/rrdtool.roles @@ -1,4 +1,4 @@ -USER=rrdtool:status,rrdtool:welcome,rrdtool:startstop,rrdtool:rrdinfo,rrdtool:listgraphs,rrdtool:viewgraph,rrdtool:listgraphcfg,rrdtool:configure +USER=rrdtool:status,rrdtool:welcome,rrdtool:startstop,rrdtool:rrdinfo,rrdtool:listgraphs,rrdtool:viewgraph,rrdtool:listgraphcfg EDITOR=rrdtool:config,rrdtool:listrrd EXPERT=rrdtool:expert -ADMIN=rrdtool:status,rrdtool:welcome,rrdtool:startstop,rrdtool:config,rrdtool:listrrd,rrdtool:expert,rrdtool:delete,rrdtool:createrrd,rrdtool:rrdinfo,rrdtool:listgraphs,rrdtool:viewgraph,rrdtool:listgraphcfg,rrdtool:configure +ADMIN=rrdtool:status,rrdtool:welcome,rrdtool:startstop,rrdtool:config,rrdtool:listrrd,rrdtool:expert,rrdtool:delete,rrdtool:createrrd,rrdtool:rrdinfo,rrdtool:listgraphs,rrdtool:viewgraph,rrdtool:listgraphcfg,rrdtool:editgraphcfg,rrdtool:edit -- cgit v1.2.3