Chris@0: class CalendarsController < ApplicationController Chris@14: menu_item :calendar Chris@0: before_filter :find_optional_project Chris@0: Chris@0: rescue_from Query::StatementInvalid, :with => :query_statement_invalid Chris@0: Chris@0: helper :issues Chris@0: helper :projects Chris@0: helper :queries Chris@0: include QueriesHelper chris@37: helper :sort chris@37: include SortHelper Chris@0: Chris@0: def show Chris@0: if params[:year] and params[:year].to_i > 1900 Chris@0: @year = params[:year].to_i Chris@0: if params[:month] and params[:month].to_i > 0 and params[:month].to_i < 13 Chris@0: @month = params[:month].to_i Chris@0: end Chris@0: end Chris@0: @year ||= Date.today.year Chris@0: @month ||= Date.today.month Chris@0: Chris@0: @calendar = Redmine::Helpers::Calendar.new(Date.civil(@year, @month, 1), current_language, :month) Chris@0: retrieve_query Chris@0: @query.group_by = nil Chris@0: if @query.valid? Chris@0: events = [] Chris@0: events += @query.issues(:include => [:tracker, :assigned_to, :priority], Chris@0: :conditions => ["((start_date BETWEEN ? AND ?) OR (due_date BETWEEN ? AND ?))", @calendar.startdt, @calendar.enddt, @calendar.startdt, @calendar.enddt] Chris@0: ) Chris@0: events += @query.versions(:conditions => ["effective_date BETWEEN ? AND ?", @calendar.startdt, @calendar.enddt]) Chris@0: Chris@0: @calendar.events = events Chris@0: end Chris@0: chris@22: render :action => 'show', :layout => false if request.xhr? Chris@0: end Chris@0: chris@22: def update chris@22: show chris@22: end Chris@0: Chris@0: end