From ef71edd3311e76e6bb308283407ea068aa62b6ce Mon Sep 17 00:00:00 2001 From: Jean-Philippe Lang Date: Sat, 7 Apr 2007 12:16:09 +0000 Subject: [PATCH] Added versions due dates on calendar. git-svn-id: http://redmine.rubyforge.org/svn/trunk@429 e93f8b46-1217-0410-a6f0-8f06a7374b81 --- app/controllers/projects_controller.rb | 9 +++++---- app/views/projects/calendar.rhtml | 6 +++++- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/app/controllers/projects_controller.rb b/app/controllers/projects_controller.rb index 0cbc6b5a..4d3c3d97 100644 --- a/app/controllers/projects_controller.rb +++ b/app/controllers/projects_controller.rb @@ -556,16 +556,17 @@ class ProjectsController < ApplicationController # finish on sunday @date_to = @date_to + (7-@date_to.cwday) + @events = [] @project.issues_with_subprojects(params[:with_subprojects]) do - @issues = Issue.find(:all, + @events += Issue.find(:all, :include => [:tracker, :status, :assigned_to, :priority], :conditions => ["((start_date>=? and start_date<=?) or (due_date>=? and due_date<=?)) and #{Issue.table_name}.tracker_id in (#{@selected_tracker_ids.join(',')})", @date_from, @date_to, @date_from, @date_to] ) unless @selected_tracker_ids.empty? end - @issues ||=[] + @events += @project.versions.find(:all, :conditions => ["effective_date BETWEEN ? AND ?", @date_from, @date_to]) - @ending_issues_by_days = @issues.group_by {|issue| issue.due_date} - @starting_issues_by_days = @issues.group_by {|issue| issue.start_date} + @ending_events_by_days = @events.group_by {|event| event.due_date} + @starting_events_by_days = @events.group_by {|event| event.start_date} render :layout => false if request.xhr? end diff --git a/app/views/projects/calendar.rhtml b/app/views/projects/calendar.rhtml index cb83a36b..5f5659a9 100644 --- a/app/views/projects/calendar.rhtml +++ b/app/views/projects/calendar.rhtml @@ -57,7 +57,8 @@ while day <= @date_to <% end %> " style="width:14%; <%= Date.today == day ? 'background:#FDFED0;' : '' %>">

<%= day==Date.today ? "#{day.day}" : day.day %>

- <% ((@ending_issues_by_days[day] || []) + (@starting_issues_by_days[day] || [])).uniq.each do |i| %> + <% ((@ending_events_by_days[day] || []) + (@starting_events_by_days[day] || [])).uniq.each do |i| %> + <% if i.is_a? Issue %>
<%= if day == i.start_date and day == i.due_date image_tag('arrow_bw.png') @@ -71,6 +72,9 @@ while day <= @date_to <%= render :partial => "issues/tooltip", :locals => { :issue => i }%>
+ <% else %> + <%= image_tag('milestone.png') %> <%= "#{l(:label_version)}: #{i.name}" %> + <% end %> <% end %> <%= '' if day.cwday >= 7 and day!=@date_to %> -- 2.11.0