annotate app/controllers/calendars_controller.rb @ 8:0c83d98252d9 yuya

* Add custom repo prefix and proper auth realm, remove auth cache (seems like an unwise feature), pass DB handle around, various other bits of tidying
author Chris Cannam
date Thu, 12 Aug 2010 15:31:37 +0100
parents 513646585e45
children 1d32c0a0efbf
rev   line source
Chris@0 1 class CalendarsController < ApplicationController
Chris@0 2 before_filter :find_optional_project
Chris@0 3
Chris@0 4 rescue_from Query::StatementInvalid, :with => :query_statement_invalid
Chris@0 5
Chris@0 6 helper :issues
Chris@0 7 helper :projects
Chris@0 8 helper :queries
Chris@0 9 include QueriesHelper
Chris@0 10
Chris@0 11 def show
Chris@0 12 if params[:year] and params[:year].to_i > 1900
Chris@0 13 @year = params[:year].to_i
Chris@0 14 if params[:month] and params[:month].to_i > 0 and params[:month].to_i < 13
Chris@0 15 @month = params[:month].to_i
Chris@0 16 end
Chris@0 17 end
Chris@0 18 @year ||= Date.today.year
Chris@0 19 @month ||= Date.today.month
Chris@0 20
Chris@0 21 @calendar = Redmine::Helpers::Calendar.new(Date.civil(@year, @month, 1), current_language, :month)
Chris@0 22 retrieve_query
Chris@0 23 @query.group_by = nil
Chris@0 24 if @query.valid?
Chris@0 25 events = []
Chris@0 26 events += @query.issues(:include => [:tracker, :assigned_to, :priority],
Chris@0 27 :conditions => ["((start_date BETWEEN ? AND ?) OR (due_date BETWEEN ? AND ?))", @calendar.startdt, @calendar.enddt, @calendar.startdt, @calendar.enddt]
Chris@0 28 )
Chris@0 29 events += @query.versions(:conditions => ["effective_date BETWEEN ? AND ?", @calendar.startdt, @calendar.enddt])
Chris@0 30
Chris@0 31 @calendar.events = events
Chris@0 32 end
Chris@0 33
Chris@0 34 render :layout => false if request.xhr?
Chris@0 35 end
Chris@0 36
Chris@0 37
Chris@0 38 end