Mercurial > hg > soundsoftware-site
diff lib/redmine/helpers/calendar.rb @ 909:cbb26bc654de redmine-1.3
Update to Redmine 1.3-stable branch (Redmine SVN rev 8964)
author | Chris Cannam |
---|---|
date | Fri, 24 Feb 2012 19:09:32 +0000 |
parents | cbce1fd3b1b7 |
children | 433d4f72a19b |
line wrap: on
line diff
--- a/lib/redmine/helpers/calendar.rb Fri Feb 24 18:36:29 2012 +0000 +++ b/lib/redmine/helpers/calendar.rb Fri Feb 24 19:09:32 2012 +0000 @@ -1,34 +1,34 @@ -# redMine - project management software -# Copyright (C) 2006-2007 Jean-Philippe Lang +# Redmine - project management software +# Copyright (C) 2006-2011 Jean-Philippe Lang # # 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. -# +# # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. -# +# # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. module Redmine module Helpers - + # Simple class to compute the start and end dates of a calendar class Calendar include Redmine::I18n attr_reader :startdt, :enddt - + def initialize(date, lang = current_language, period = :month) @date = date @events = [] @ending_events_by_days = {} @starting_events_by_days = {} - set_language_if_valid lang + set_language_if_valid lang case period when :month @startdt = Date.civil(date.year, date.month, 1) @@ -44,24 +44,24 @@ raise 'Invalid period' end end - + # Sets calendar events def events=(events) @events = events @ending_events_by_days = @events.group_by {|event| event.due_date} @starting_events_by_days = @events.group_by {|event| event.start_date} end - + # Returns events for the given day def events_on(day) ((@ending_events_by_days[day] || []) + (@starting_events_by_days[day] || [])).uniq end - + # Calendar current month def month @date.month end - + # Return the first day of week # 1 = Monday ... 7 = Sunday def first_wday @@ -76,10 +76,10 @@ @first_dow ||= (l(:general_first_day_of_week).to_i - 1)%7 + 1 end end - + def last_wday @last_dow ||= (first_wday + 5)%7 + 1 end - end + end end end