diff options
| -rw-r--r-- | rrdtool-controller.lua | 2 | ||||
| -rw-r--r-- | rrdtool-listgraphcfg-html.lsp | 68 | ||||
| -rw-r--r-- | rrdtool-model.lua | 16 | 
3 files changed, 81 insertions, 5 deletions
diff --git a/rrdtool-controller.lua b/rrdtool-controller.lua index ac0e1cb..100cd9c 100644 --- a/rrdtool-controller.lua +++ b/rrdtool-controller.lua @@ -51,7 +51,7 @@ function viewgraph(self)  end  function listgraphcfg(self) -	local configfiles = self.model.getrrdlist() +	local configfiles = self.model.getgraphlist()  	local config = {}  	return cfe({ type="list", value=configfiles.value, label="View/Edit graph files" }) diff --git a/rrdtool-listgraphcfg-html.lsp b/rrdtool-listgraphcfg-html.lsp new file mode 100644 index 0000000..b2ad204 --- /dev/null +++ b/rrdtool-listgraphcfg-html.lsp @@ -0,0 +1,68 @@ +<% 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>") +--]] +%> + +<% displaycommandresults({"delete"}, session) %> + +<script type="text/javascript"> +function javascript_confirm_graph(formID,filename) { +	var message = "Are you sure you want to remove '" + filename + "'?"; +	var return_value = confirm(message); +	if ( return_value === true ) { +		location.href="delete?filename=" + filename; +	} +} +</script> + +<h2><%= form.label %></h2> + +<form id="confirmDisplay" action="#" onsubmit="return false"></form> + +<TABLE> +	<TR style="background:#eee;font-weight:bold;"> +		<TD style="padding-right:20px;white-space:nowrap;text-align:left;" class="header">Action</TD> +		<TD style="padding-right:20px;white-space:nowrap;text-align:right;" class="header">Size</TD> +		<TD style="padding-right:20px;white-space:nowrap;text-align:left;" class="header">Last Modified</TD> +		<TD style="white-space:nowrap;text-align:left;" class="header">File</TD> +	</TR>		 +<% for i,file in ipairs(form.value) do %> +	<TR> +		<TD style="padding-right:20px;white-space:nowrap;"> +			<% if session.permissions[page_info.controller].delete then %> +				<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 +			%> +		</TD> +		<TD style="padding-right:20px;white-space:nowrap;text-align:right;"><%= html.html_escape(file.value.filesize.value) %></TD> +		<TD style="padding-right:20px;white-space:nowrap;"><%= html.html_escape(file.value.mtime.value) %></TD> +		<TD style="white-space:nowrap;" width="90%"><%= html.html_escape(string.gsub(file.value.filename.value, "^.*/", "")) %></TD> +	</TR> +<% end %> + +	<% 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 " }) %> +		</TD> +		<TD> </TD><TD> </TD><TD> </TD> +	</TR> +	<% end %> + +</TABLE> + +<% if viewlibrary and viewlibrary.dispatch_component and session.permissions[page_info.controller].newfile then +	local newfileform = viewlibrary.dispatch_component("newfile", nil, true) %> +<h2>Create new Domain</h2> +<% +	newfileform.action = page_info.script .. page_info.prefix .. page_info.controller .. "/newfile" +	displayform(newfileform) +end %> diff --git a/rrdtool-model.lua b/rrdtool-model.lua index 2acc464..834cae3 100644 --- a/rrdtool-model.lua +++ b/rrdtool-model.lua @@ -47,10 +47,14 @@ local function list_files (path,search)  end  local function validfilename(path) -	local files = list_files(databases) -	for k,v in pairs(files.value) do -		if (v["value"]["filename"]["value"] == path) then -			return true, tostring(v["value"]["filename"]["value"]) +	local files = fs.find_files_as_array(nil, databases) + +	for k,v in pairs(fs.find_files_as_array(".*graph",graphpath)) do +		table.insert(files,v) +	end +	for k,v in pairs(files) do +		if (v == path) then +			return true, tostring(path)  		end  	end  	return false, "Not a valid filename!" @@ -226,3 +230,7 @@ function view_graph(self, graph_grp, graph_id)  	return settings   end + +function getgraphlist() +	return list_files(graphpath,".*graph") +end  | 
