add templates for plugins: Google gauge and multiline charts
This commit is contained in:
@ -1,5 +1,6 @@
|
||||
class ChartsController < ApplicationController
|
||||
before_filter :require_user, :only => [:edit]
|
||||
|
||||
def edit
|
||||
# params[:id] is the windows ID
|
||||
@channel = current_user.channels.find(params[:channel_id])
|
||||
@ -22,7 +23,6 @@ class ChartsController < ApplicationController
|
||||
end
|
||||
|
||||
def index
|
||||
|
||||
set_channels_menu
|
||||
@channel = Channel.find(params[:channel_id])
|
||||
@channel_id = params[:channel_id]
|
||||
@ -35,8 +35,12 @@ class ChartsController < ApplicationController
|
||||
check_permissions(@channel)
|
||||
end
|
||||
|
||||
def show
|
||||
# show a chart with multiple series
|
||||
def multiple_series
|
||||
render :layout => false
|
||||
end
|
||||
|
||||
def show
|
||||
# allow these parameters when creating feed querystring
|
||||
feed_params = ['key', 'api_key', 'apikey', 'days','start','end','round','timescale','average','median','sum','results','location','status','timezone']
|
||||
|
||||
@ -66,7 +70,6 @@ class ChartsController < ApplicationController
|
||||
render :layout => false
|
||||
end
|
||||
|
||||
|
||||
# save chart options
|
||||
def update
|
||||
@channel = Channel.find(params[:channel_id])
|
||||
|
@ -8,13 +8,14 @@ class PluginsController < ApplicationController
|
||||
respond_with_error(:error_auth_required) and return if current_user.blank? || (@plugin.user_id != current_user.id)
|
||||
end
|
||||
|
||||
def new; ; end
|
||||
def edit; ; end
|
||||
|
||||
def index
|
||||
@plugins = current_user.plugins
|
||||
|
||||
end
|
||||
|
||||
def public_plugins
|
||||
|
||||
channel_id = params[:channel_id].to_i
|
||||
return if channel_id.nil?
|
||||
#private page should display all plugins
|
||||
@ -24,7 +25,6 @@ class PluginsController < ApplicationController
|
||||
plugins.each do |plugin|
|
||||
plugin.make_windows channel_id, api_domain #will only make the window the first time
|
||||
@plugin_windows = @plugin_windows + plugin.public_dashboard_windows(channel_id)
|
||||
|
||||
end
|
||||
|
||||
respond_to do |format|
|
||||
@ -53,9 +53,21 @@ class PluginsController < ApplicationController
|
||||
def create
|
||||
# add plugin with defaults
|
||||
@plugin = Plugin.new
|
||||
@plugin.html = read_file('app/views/plugins/default.html')
|
||||
@plugin.css = read_file('app/views/plugins/default.css')
|
||||
@plugin.js = read_file('app/views/plugins/default.js')
|
||||
|
||||
# set default template
|
||||
template = 'default'
|
||||
|
||||
# use case statement to set template, since user input is untrusted
|
||||
case params[:template]
|
||||
when 'gauge' then template = 'gauge'
|
||||
when 'chart' then template = 'chart'
|
||||
end
|
||||
|
||||
# set template dynamically
|
||||
@plugin.html = read_file("app/views/plugins/templates/#{template}.html")
|
||||
@plugin.css = read_file("app/views/plugins/templates/#{template}.css")
|
||||
@plugin.js = read_file("app/views/plugins/templates/#{template}.js")
|
||||
|
||||
@plugin.user_id = current_user.id
|
||||
@plugin.private_flag = true
|
||||
@plugin.save
|
||||
@ -82,7 +94,6 @@ class PluginsController < ApplicationController
|
||||
end
|
||||
|
||||
def show_public
|
||||
|
||||
@plugin = Plugin.find(params[:id])
|
||||
@output = @plugin.html.sub('%%PLUGIN_CSS%%', @plugin.css).sub('%%PLUGIN_JAVASCRIPT%%', @plugin.js)
|
||||
if @plugin.private?
|
||||
@ -100,9 +111,6 @@ class PluginsController < ApplicationController
|
||||
end
|
||||
end
|
||||
|
||||
def edit
|
||||
end
|
||||
|
||||
def update
|
||||
@plugin.update_attribute(:name, params[:plugin][:name])
|
||||
@plugin.update_attribute(:private_flag, params[:plugin][:private_flag])
|
||||
@ -111,11 +119,9 @@ class PluginsController < ApplicationController
|
||||
@plugin.update_attribute(:html,params[:plugin][:html])
|
||||
|
||||
if @plugin.save
|
||||
|
||||
@plugin.update_all_windows
|
||||
redirect_to plugins_path and return
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
def ajax_update
|
||||
|
Reference in New Issue
Block a user