2011-10-29 14:19:11 +02:00
#-- encoding: UTF-8
2011-05-29 13:11:52 -07:00
#-- copyright
# ChiliProject is a project management system.
2011-05-30 20:52:25 +02:00
#
2012-01-03 20:36:40 +01:00
# Copyright (C) 2010-2012 the ChiliProject Team
2011-05-30 20:52:25 +02:00
#
2011-05-29 13:11:52 -07:00
# 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.
2011-05-30 20:52:25 +02:00
#
2011-05-29 13:11:52 -07:00
# See doc/COPYRIGHT.rdoc for more details.
#++
2010-05-03 16:02:37 +00:00
class CalendarsController < ApplicationController
2010-11-07 22:38:10 +00:00
menu_item :calendar
2010-05-03 16:02:37 +00:00
before_filter :find_optional_project
rescue_from Query :: StatementInvalid , :with = > :query_statement_invalid
include QueriesHelper
2010-10-10 21:17:10 +00:00
include SortHelper
2010-05-03 16:02:37 +00:00
def show
if params [ :year ] and params [ :year ] . to_i > 1900
@year = params [ :year ] . to_i
if params [ :month ] and params [ :month ] . to_i > 0 and params [ :month ] . to_i < 13
@month = params [ :month ] . to_i
2011-05-30 20:52:25 +02:00
end
2010-05-03 16:02:37 +00:00
end
@year || = Date . today . year
@month || = Date . today . month
2011-05-30 20:52:25 +02:00
2010-05-03 16:02:37 +00:00
@calendar = Redmine :: Helpers :: Calendar . new ( Date . civil ( @year , @month , 1 ) , current_language , :month )
retrieve_query
@query . group_by = nil
if @query . valid?
events = [ ]
events += @query . issues ( :include = > [ :tracker , :assigned_to , :priority ] ,
2011-08-23 14:37:51 -07:00
:conditions = > [ " (( #{ Issue . table_name } .start_date BETWEEN ? AND ?) OR ( #{ Issue . table_name } .due_date BETWEEN ? AND ?)) " , @calendar . startdt , @calendar . enddt , @calendar . startdt , @calendar . enddt ]
2010-05-03 16:02:37 +00:00
)
2011-08-23 14:37:51 -07:00
events += @query . versions ( :conditions = > [ " #{ Version . table_name } .effective_date BETWEEN ? AND ? " , @calendar . startdt , @calendar . enddt ] )
2011-05-30 20:52:25 +02:00
2010-05-03 16:02:37 +00:00
@calendar . events = events
end
2011-05-30 20:52:25 +02:00
2010-08-26 16:36:59 +00:00
render :action = > 'show' , :layout = > false if request . xhr?
2010-05-03 16:02:37 +00:00
end
2011-05-30 20:52:25 +02:00
2010-08-26 16:36:59 +00:00
def update
show
end
2010-05-03 16:02:37 +00:00
end