#-- encoding: UTF-8 #-- copyright # ChiliProject is a project management system. # # Copyright (C) 2010-2011 the ChiliProject Team # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License # as published by the Free Software Foundation; either version 2 # of the License, or (at your option) any later version. # # See doc/COPYRIGHT.rdoc for more details. #++ module ReportsHelper def aggregate(data, criteria) a = 0 data.each { |row| match = 1 criteria.each { |k, v| match = 0 unless (row[k].to_s == v.to_s) || (k == 'closed' && row[k] == (v == 0 ? "f" : "t")) } unless criteria.nil? a = a + row["total"].to_i if match == 1 } unless data.nil? a end def aggregate_link(data, criteria, *args) a = aggregate data, criteria a > 0 ? link_to(h(a), *args) : '-' end end