39 lines
889 B
Ruby
39 lines
889 B
Ruby
module StatsHelper
|
|
|
|
def chart_tag(opt = {})
|
|
opt[:data] ||= {}
|
|
opt[:data][:graph] = admin_api_stats_path(chart_data(opt))
|
|
content_tag :div, "", opt
|
|
end
|
|
|
|
def chart_data(opt = {})
|
|
data = nil
|
|
if opt[:id].present?
|
|
data = { opt[:id] => true }
|
|
elsif opt[:event].present?
|
|
data = { event: opt[:event] }
|
|
end
|
|
data
|
|
end
|
|
|
|
def graph_link_text(event)
|
|
text = t("admin.stats.graph.#{event}")
|
|
if text.to_s.match(/translation missing/)
|
|
text = event
|
|
end
|
|
text
|
|
end
|
|
|
|
def budget_investments_chart_tag(opt = {})
|
|
events = events.join(",") if events.is_a? Array
|
|
opt[:data] ||= {}
|
|
opt[:data][:graph] = admin_api_stats_path(budget_investments: true)
|
|
content_tag :div, "", opt
|
|
end
|
|
|
|
def calculate_percentage(fraction, total)
|
|
percent = fraction / total.to_f
|
|
percent.nan? ? 0.0 : (percent * 100).round(3)
|
|
end
|
|
end
|