* luci/statistics: fix dispatcher again: drop redirect; use first available instance if no instance requested; breaks menu highlight but lets statistics work in every context (at least for now)
This commit is contained in:
parent
788cbb2633
commit
e9cbb96685
1 changed files with 11 additions and 20 deletions
|
@ -151,29 +151,20 @@ function statistics_render()
|
||||||
local span = vars.timespan or uci:get( "luci_statistics", "rrdtool", "default_timespan" ) or spans[1]
|
local span = vars.timespan or uci:get( "luci_statistics", "rrdtool", "default_timespan" ) or spans[1]
|
||||||
local graph = luci.statistics.rrdtool.Graph( luci.util.parse_units( span ) )
|
local graph = luci.statistics.rrdtool.Graph( luci.util.parse_units( span ) )
|
||||||
|
|
||||||
local plugin = path[4]
|
local plugin, instances
|
||||||
local instances = { path[5] }
|
local images = { }
|
||||||
local images = { }
|
|
||||||
|
-- find requested plugin and instance
|
||||||
|
for i, p in ipairs( luci.dispatcher.dispatched.path ) do
|
||||||
|
if luci.dispatcher.dispatched.path[i] == "graph" then
|
||||||
|
plugin = luci.dispatcher.dispatched.path[i+1]
|
||||||
|
instances = { luci.dispatcher.dispatched.path[i+2] }
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
-- no instance requested, find all instances
|
-- no instance requested, find all instances
|
||||||
if #instances == 0 then
|
if #instances == 0 then
|
||||||
|
instances = { graph.tree:plugin_instances( plugin )[1] }
|
||||||
instances = graph.tree:plugin_instances( plugin )
|
|
||||||
|
|
||||||
-- more than one available instance
|
|
||||||
if #instances > 1 then
|
|
||||||
|
|
||||||
-- redirect to first instance and return
|
|
||||||
local r = luci.dispatcher.request
|
|
||||||
local i = instances[1]
|
|
||||||
if i:len() == 0 then i = "-" end
|
|
||||||
|
|
||||||
luci.http.redirect( luci.dispatcher.build_url(
|
|
||||||
req[1], req[2], req[3], req[4], i
|
|
||||||
) )
|
|
||||||
|
|
||||||
return
|
|
||||||
end
|
|
||||||
|
|
||||||
-- index instance requested
|
-- index instance requested
|
||||||
elseif instances[1] == "-" then
|
elseif instances[1] == "-" then
|
||||||
|
|
Loading…
Reference in a new issue