summaryrefslogtreecommitdiffstats
path: root/app/controllers/projects_controller.rb
diff options
context:
space:
mode:
authorJean-Philippe Lang <jp_lang@yahoo.fr>2008-09-10 18:26:13 +0000
committerJean-Philippe Lang <jp_lang@yahoo.fr>2008-09-10 18:26:13 +0000
commit2986afc05ed5154b059e1408f32436a97e54f272 (patch)
treea33f6df142663e7f8c4544d076d58f89ef092f5e /app/controllers/projects_controller.rb
parenta8e3ddf382fa36c1c9d5532361091af098f8bb22 (diff)
downloadredmine-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.rb63
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