2011-10-29 16:19:11 +04:00
#-- encoding: UTF-8
2011-05-30 00:11:52 +04:00
#-- copyright
# ChiliProject is a project management system.
2011-05-30 22:52:25 +04:00
#
2011-05-30 00:11:52 +04:00
# Copyright (C) 2010-2011 the ChiliProject Team
2011-05-30 22:52:25 +04:00
#
2011-05-30 00:11:52 +04: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 22:52:25 +04:00
#
2011-05-30 00:11:52 +04:00
# See doc/COPYRIGHT.rdoc for more details.
#++
2010-05-03 20:02:37 +04:00
class CalendarsController < ApplicationController
2010-11-08 01:38:10 +03:00
menu_item :calendar
2010-05-03 20:02:37 +04:00
before_filter :find_optional_project
rescue_from Query :: StatementInvalid , :with = > :query_statement_invalid
include QueriesHelper
2010-10-11 01:17:10 +04:00
include SortHelper
2010-05-03 20:02:37 +04: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 22:52:25 +04:00
end
2010-05-03 20:02:37 +04:00
end
@year || = Date . today . year
@month || = Date . today . month
2011-05-30 22:52:25 +04:00
2010-05-03 20:02:37 +04: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-24 01:37:51 +04: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 20:02:37 +04:00
)
2011-08-24 01:37:51 +04:00
events += @query . versions ( :conditions = > [ " #{ Version . table_name } .effective_date BETWEEN ? AND ? " , @calendar . startdt , @calendar . enddt ] )
2011-05-30 22:52:25 +04:00
2010-05-03 20:02:37 +04:00
@calendar . events = events
end
2011-05-30 22:52:25 +04:00
2010-08-26 20:36:59 +04:00
render :action = > 'show' , :layout = > false if request . xhr?
2010-05-03 20:02:37 +04:00
end
2011-05-30 22:52:25 +04:00
2010-08-26 20:36:59 +04:00
def update
show
end
2010-05-03 20:02:37 +04:00
end