summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMika Havela <mika.havela@gmail.com>2009-07-09 07:05:46 +0000
committerMika Havela <mika.havela@gmail.com>2009-07-09 07:05:46 +0000
commitf220daa661084dba964801f174ceb8013eae41cd (patch)
tree1079c77d5dcefe823091595119cfd8b0faceee1b
parent3409cc4583211ddfa97bcd41dc7f0b12dd5e09d4 (diff)
downloadacf-rrdtool-f220daa661084dba964801f174ceb8013eae41cd.tar.bz2
acf-rrdtool-f220daa661084dba964801f174ceb8013eae41cd.tar.xz
Manage existing graph cfg-files
Remove/hide edit-rrd option because it donesn't work (yet) Adding roles to be able to edit files
-rw-r--r--rrdtool-controller.lua6
-rw-r--r--rrdtool-editgraphcfg-html.lsp19
-rw-r--r--rrdtool-listgraphcfg-html.lsp4
-rw-r--r--rrdtool-listrrd-html.lsp4
-rw-r--r--rrdtool-model.lua16
-rw-r--r--rrdtool-viewgraph-popup.lsp2
-rw-r--r--rrdtool.roles4
7 files changed, 48 insertions, 7 deletions
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("<H1>DEBUGGING</H1><span style='color:red'><H2>DEBUG INFO: CFE</H2>")
+io.write(html.cfe_unpack(form))
+io.write("</span>")
+--]]
+%>
+
+<H1><%= html.html_escape(form.label) %></H1>
+<%
+ 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) {
<A STYLE="cursor: pointer;" onclick="javascript_confirm_graph('confirmDisplay','<% io.write(file.value.filename.value) %>')">Delete</A>
<% 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
%>
</TD>
<TD style="padding-right:20px;white-space:nowrap;text-align:right;"><%= html.html_escape(file.value.filesize.value) %></TD>
@@ -51,7 +51,7 @@ function javascript_confirm_graph(formID,filename) {
<% if session.permissions[page_info.controller].createrrd then %>
<TR>
<TD style="padding-right:20px;white-space:nowrap;">
- <% io.write(html.link{value = "createrrd", label="Create new DB " }) %>
+ <% io.write(html.link{value = "editgraphcfg", label="Create new graph " }) %>
</TD>
<TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD>
</TR>
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
%>
</TD>
<TD style="padding-right:20px;white-space:nowrap;text-align:right;"><%= html.html_escape(file.value.filesize.value) %></TD>
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("</span>")
--]]
%>
-<PRE><%= data.descr %></PRE>
+<P><%= data.descr %></P>
<IMG SRC='<%= data.output %>' width='<%= data.graph.width or data.option.width %>' height='<%= data.graph.height or data.option.height %>'>
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