diff options
author | Jean-Philippe Lang <jp_lang@yahoo.fr> | 2008-09-10 18:26:13 +0000 |
---|---|---|
committer | Jean-Philippe Lang <jp_lang@yahoo.fr> | 2008-09-10 18:26:13 +0000 |
commit | 2986afc05ed5154b059e1408f32436a97e54f272 (patch) | |
tree | a33f6df142663e7f8c4544d076d58f89ef092f5e /app/controllers/projects_controller.rb | |
parent | a8e3ddf382fa36c1c9d5532361091af098f8bb22 (diff) | |
download | redmine-2986afc05ed5154b059e1408f32436a97e54f272.tar.gz redmine-2986afc05ed5154b059e1408f32436a97e54f272.zip |
Adds support for free ticket filtering and custom queries on Gantt chart.
ProjectsController#gantt moved to IssuesController.
git-svn-id: http://redmine.rubyforge.org/svn/trunk@1797 e93f8b46-1217-0410-a6f0-8f06a7374b81
Diffstat (limited to 'app/controllers/projects_controller.rb')
-rw-r--r-- | app/controllers/projects_controller.rb | 63 |
1 files changed, 0 insertions, 63 deletions
diff --git a/app/controllers/projects_controller.rb b/app/controllers/projects_controller.rb index 0d83d81b3..9e1df29a2 100644 --- a/app/controllers/projects_controller.rb +++ b/app/controllers/projects_controller.rb @@ -272,69 +272,6 @@ class ProjectsController < ApplicationController @calendar.events = events render :layout => false if request.xhr? - end - - def gantt - @trackers = @project.rolled_up_trackers - retrieve_selected_tracker_ids(@trackers) - - if params[:year] and params[:year].to_i >0 - @year_from = params[:year].to_i - if params[:month] and params[:month].to_i >=1 and params[:month].to_i <= 12 - @month_from = params[:month].to_i - else - @month_from = 1 - end - else - @month_from ||= Date.today.month - @year_from ||= Date.today.year - end - - zoom = (params[:zoom] || User.current.pref[:gantt_zoom]).to_i - @zoom = (zoom > 0 && zoom < 5) ? zoom : 2 - months = (params[:months] || User.current.pref[:gantt_months]).to_i - @months = (months > 0 && months < 25) ? months : 6 - - # Save gantt paramters as user preference (zoom and months count) - if (User.current.logged? && (@zoom != User.current.pref[:gantt_zoom] || @months != User.current.pref[:gantt_months])) - User.current.pref[:gantt_zoom], User.current.pref[:gantt_months] = @zoom, @months - User.current.preference.save - end - - @date_from = Date.civil(@year_from, @month_from, 1) - @date_to = (@date_from >> @months) - 1 - @with_subprojects = params[:with_subprojects].nil? ? Setting.display_subprojects_issues? : (params[:with_subprojects] == '1') - - @events = [] - @project.issues_with_subprojects(@with_subprojects) do - # Issues that have start and due dates - @events += Issue.find(:all, - :order => "start_date, due_date", - :include => [:tracker, :status, :assigned_to, :priority, :project], - :conditions => ["(((start_date>=? and start_date<=?) or (due_date>=? and due_date<=?) or (start_date<? and due_date>?)) and start_date is not null and due_date is not null and #{Issue.table_name}.tracker_id in (#{@selected_tracker_ids.join(',')}))", @date_from, @date_to, @date_from, @date_to, @date_from, @date_to] - ) unless @selected_tracker_ids.empty? - # Issues that don't have a due date but that are assigned to a version with a date - @events += Issue.find(:all, - :order => "start_date, effective_date", - :include => [:tracker, :status, :assigned_to, :priority, :project, :fixed_version], - :conditions => ["(((start_date>=? and start_date<=?) or (effective_date>=? and effective_date<=?) or (start_date<? and effective_date>?)) and start_date is not null and due_date is null and effective_date is not null and #{Issue.table_name}.tracker_id in (#{@selected_tracker_ids.join(',')}))", @date_from, @date_to, @date_from, @date_to, @date_from, @date_to] - ) unless @selected_tracker_ids.empty? - @events += Version.find(:all, :include => :project, - :conditions => ["effective_date BETWEEN ? AND ?", @date_from, @date_to]) - end - @events.sort! {|x,y| x.start_date <=> y.start_date } - - if params[:format]=='pdf' - @options_for_rfpdf ||= {} - @options_for_rfpdf[:file_name] = "#{@project.identifier}-gantt.pdf" - render :template => "projects/gantt.rfpdf", :layout => false - elsif params[:format]=='png' && respond_to?('gantt_image') - image = gantt_image(@events, @date_from, @months, @zoom) - image.format = 'PNG' - send_data(image.to_blob, :disposition => 'inline', :type => 'image/png', :filename => "#{@project.identifier}-gantt.png") - else - render :template => "projects/gantt.rhtml" - end end private |