Project

General

Profile

Download (1.28 KB) Statistics
| Branch: | Tag: | Revision:
require 'ostruct'
module ReportsHelper

def report_icon(record)
if record.error? or record.no_report
img = "hosts/warning"
elsif record.changes?
img = "hosts/attention_required"
else
img = "true"
end
image_tag("#{img}.png", :size => "18x18")
end

def reported_at_column(record)
report_icon(record) + " " + link_to(time_ago_in_words(record.reported_at.getlocal) + " ago", report_path(record))
end

def reports_since builder
choices = [30,60,90].map{|i| OpenStruct.new :name => "#{i} minutes ago", :value => i.minutes.ago }
choices += (1..7).map{|i| OpenStruct.new :name => "#{pluralize(i, 'day')} ago", :value => i.days.ago }
choices += [OpenStruct.new(:name => "1 week ago", :value => 1.week.ago)]
choices += [OpenStruct.new(:name => "2 weeks ago", :value => 2.week.ago)]
choices += [OpenStruct.new(:name => "1 month ago", :value => 1.month.ago)]
choices += [OpenStruct.new(:name => "3 months ago", :value => 3.month.ago)]
choices += [OpenStruct.new(:name => "All Reports", :value => Report.first(:select => "created_at").created_at)]
builder.collection_select :reported_at_gt, choices, :value, :name, {:include_blank => "Select a period"}
end

def metric m
h(m.round_with_precision(4)) rescue "N/A"
end
end
(31-31/38)