Mercurial > hg > soundsoftware-site
annotate app/controllers/calendars_controller.rb @ 333:9e5fc43c12a6 live
Merge
author | Chris Cannam <chris.cannam@soundsoftware.ac.uk> |
---|---|
date | Tue, 29 Mar 2011 18:06:56 +0100 |
parents | 94944d00e43c |
children | cbce1fd3b1b7 |
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@37 | 11 helper :sort |
chris@37 | 12 include SortHelper |
Chris@0 | 13 |
Chris@0 | 14 def show |
Chris@0 | 15 if params[:year] and params[:year].to_i > 1900 |
Chris@0 | 16 @year = params[:year].to_i |
Chris@0 | 17 if params[:month] and params[:month].to_i > 0 and params[:month].to_i < 13 |
Chris@0 | 18 @month = params[:month].to_i |
Chris@0 | 19 end |
Chris@0 | 20 end |
Chris@0 | 21 @year ||= Date.today.year |
Chris@0 | 22 @month ||= Date.today.month |
Chris@0 | 23 |
Chris@0 | 24 @calendar = Redmine::Helpers::Calendar.new(Date.civil(@year, @month, 1), current_language, :month) |
Chris@0 | 25 retrieve_query |
Chris@0 | 26 @query.group_by = nil |
Chris@0 | 27 if @query.valid? |
Chris@0 | 28 events = [] |
Chris@0 | 29 events += @query.issues(:include => [:tracker, :assigned_to, :priority], |
Chris@0 | 30 :conditions => ["((start_date BETWEEN ? AND ?) OR (due_date BETWEEN ? AND ?))", @calendar.startdt, @calendar.enddt, @calendar.startdt, @calendar.enddt] |
Chris@0 | 31 ) |
Chris@0 | 32 events += @query.versions(:conditions => ["effective_date BETWEEN ? AND ?", @calendar.startdt, @calendar.enddt]) |
Chris@0 | 33 |
Chris@0 | 34 @calendar.events = events |
Chris@0 | 35 end |
Chris@0 | 36 |
chris@22 | 37 render :action => 'show', :layout => false if request.xhr? |
Chris@0 | 38 end |
Chris@0 | 39 |
chris@22 | 40 def update |
chris@22 | 41 show |
chris@22 | 42 end |
Chris@0 | 43 |
Chris@0 | 44 end |