Mercurial > hg > soundsoftware-site
annotate app/controllers/calendars_controller.rb @ 21:d0cd1f6335a5 cannam
* Create branch "cannam"
author | Chris Cannam <chris.cannam@soundsoftware.ac.uk> |
---|---|
date | Thu, 23 Sep 2010 16:19:06 +0100 |
parents | 1d32c0a0efbf |
children | 40f7cfd4df19 |
rev | line source |
---|---|
Chris@0 | 1 class CalendarsController < ApplicationController |
Chris@14 | 2 menu_item :calendar |
Chris@0 | 3 before_filter :find_optional_project |
Chris@0 | 4 |
Chris@0 | 5 rescue_from Query::StatementInvalid, :with => :query_statement_invalid |
Chris@0 | 6 |
Chris@0 | 7 helper :issues |
Chris@0 | 8 helper :projects |
Chris@0 | 9 helper :queries |
Chris@0 | 10 include QueriesHelper |
Chris@0 | 11 |
Chris@0 | 12 def show |
Chris@0 | 13 if params[:year] and params[:year].to_i > 1900 |
Chris@0 | 14 @year = params[:year].to_i |
Chris@0 | 15 if params[:month] and params[:month].to_i > 0 and params[:month].to_i < 13 |
Chris@0 | 16 @month = params[:month].to_i |
Chris@0 | 17 end |
Chris@0 | 18 end |
Chris@0 | 19 @year ||= Date.today.year |
Chris@0 | 20 @month ||= Date.today.month |
Chris@0 | 21 |
Chris@0 | 22 @calendar = Redmine::Helpers::Calendar.new(Date.civil(@year, @month, 1), current_language, :month) |
Chris@0 | 23 retrieve_query |
Chris@0 | 24 @query.group_by = nil |
Chris@0 | 25 if @query.valid? |
Chris@0 | 26 events = [] |
Chris@0 | 27 events += @query.issues(:include => [:tracker, :assigned_to, :priority], |
Chris@0 | 28 :conditions => ["((start_date BETWEEN ? AND ?) OR (due_date BETWEEN ? AND ?))", @calendar.startdt, @calendar.enddt, @calendar.startdt, @calendar.enddt] |
Chris@0 | 29 ) |
Chris@0 | 30 events += @query.versions(:conditions => ["effective_date BETWEEN ? AND ?", @calendar.startdt, @calendar.enddt]) |
Chris@0 | 31 |
Chris@0 | 32 @calendar.events = events |
Chris@0 | 33 end |
Chris@0 | 34 |
Chris@0 | 35 render :layout => false if request.xhr? |
Chris@0 | 36 end |
Chris@0 | 37 |
Chris@0 | 38 |
Chris@0 | 39 end |