Include subprojects versions on calendar and gantt (#1116).
git-svn-id: http://redmine.rubyforge.org/svn/trunk@1364 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
parent
ffbdc6b25b
commit
6a3236daea
@ -341,8 +341,9 @@ class ProjectsController < ApplicationController
|
|||||||
:include => [:tracker, :status, :assigned_to, :priority, :project],
|
:include => [:tracker, :status, :assigned_to, :priority, :project],
|
||||||
:conditions => ["((start_date BETWEEN ? AND ?) OR (due_date BETWEEN ? AND ?)) AND #{Issue.table_name}.tracker_id IN (#{@selected_tracker_ids.join(',')})", @calendar.startdt, @calendar.enddt, @calendar.startdt, @calendar.enddt]
|
:conditions => ["((start_date BETWEEN ? AND ?) OR (due_date BETWEEN ? AND ?)) AND #{Issue.table_name}.tracker_id IN (#{@selected_tracker_ids.join(',')})", @calendar.startdt, @calendar.enddt, @calendar.startdt, @calendar.enddt]
|
||||||
) unless @selected_tracker_ids.empty?
|
) unless @selected_tracker_ids.empty?
|
||||||
|
events += Version.find(:all, :include => :project,
|
||||||
|
:conditions => ["effective_date BETWEEN ? AND ?", @calendar.startdt, @calendar.enddt])
|
||||||
end
|
end
|
||||||
events += @project.versions.find(:all, :conditions => ["effective_date BETWEEN ? AND ?", @calendar.startdt, @calendar.enddt])
|
|
||||||
@calendar.events = events
|
@calendar.events = events
|
||||||
|
|
||||||
render :layout => false if request.xhr?
|
render :layout => false if request.xhr?
|
||||||
@ -386,8 +387,9 @@ class ProjectsController < ApplicationController
|
|||||||
:include => [:tracker, :status, :assigned_to, :priority, :project],
|
: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]
|
: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?
|
) unless @selected_tracker_ids.empty?
|
||||||
|
@events += Version.find(:all, :include => :project,
|
||||||
|
:conditions => ["effective_date BETWEEN ? AND ?", @date_from, @date_to])
|
||||||
end
|
end
|
||||||
@events += @project.versions.find(:all, :conditions => ["effective_date BETWEEN ? AND ?", @date_from, @date_to])
|
|
||||||
@events.sort! {|x,y| x.start_date <=> y.start_date }
|
@events.sort! {|x,y| x.start_date <=> y.start_date }
|
||||||
|
|
||||||
if params[:format]=='pdf'
|
if params[:format]=='pdf'
|
||||||
|
@ -75,12 +75,14 @@ class Project < ActiveRecord::Base
|
|||||||
conditions = nil
|
conditions = nil
|
||||||
if include_subprojects && !active_children.empty?
|
if include_subprojects && !active_children.empty?
|
||||||
ids = [id] + active_children.collect {|c| c.id}
|
ids = [id] + active_children.collect {|c| c.id}
|
||||||
conditions = ["#{Issue.table_name}.project_id IN (#{ids.join(',')})"]
|
conditions = ["#{Project.table_name}.id IN (#{ids.join(',')})"]
|
||||||
end
|
end
|
||||||
conditions ||= ["#{Issue.table_name}.project_id = ?", id]
|
conditions ||= ["#{Project.table_name}.id = ?", id]
|
||||||
# Quick and dirty fix for Rails 2 compatibility
|
# Quick and dirty fix for Rails 2 compatibility
|
||||||
Issue.send(:with_scope, :find => { :conditions => conditions }) do
|
Issue.send(:with_scope, :find => { :conditions => conditions }) do
|
||||||
yield
|
Version.send(:with_scope, :find => { :conditions => conditions }) do
|
||||||
|
yield
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -19,12 +19,15 @@ while day <= calendar.enddt %>
|
|||||||
elsif day == i.due_date
|
elsif day == i.due_date
|
||||||
image_tag('arrow_to.png')
|
image_tag('arrow_to.png')
|
||||||
end %>
|
end %>
|
||||||
<%= h("#{i.project.name} -") unless @project && @project == i.project %>
|
<%= h("#{i.project} -") unless @project && @project == i.project %>
|
||||||
<%= link_to_issue i %>: <%= h(truncate(i.subject, 30)) %>
|
<%= link_to_issue i %>: <%= h(truncate(i.subject, 30)) %>
|
||||||
<span class="tip"><%= render_issue_tooltip i %></span>
|
<span class="tip"><%= render_issue_tooltip i %></span>
|
||||||
</div>
|
</div>
|
||||||
<% else %>
|
<% else %>
|
||||||
<%= link_to_version i, :class => "icon icon-package" %>
|
<span class="icon icon-package">
|
||||||
|
<%= h("#{i.project} -") unless @project && @project == i.project %>
|
||||||
|
<%= link_to_version i%>
|
||||||
|
</span>
|
||||||
<% end %>
|
<% end %>
|
||||||
<% end %>
|
<% end %>
|
||||||
</td>
|
</td>
|
||||||
|
@ -70,10 +70,13 @@ top = headers_height + 8
|
|||||||
@events.each do |i| %>
|
@events.each do |i| %>
|
||||||
<div style="position: absolute;line-height:1.2em;height:16px;top:<%= top %>px;left:4px;overflow:hidden;"><small>
|
<div style="position: absolute;line-height:1.2em;height:16px;top:<%= top %>px;left:4px;overflow:hidden;"><small>
|
||||||
<% if i.is_a? Issue %>
|
<% if i.is_a? Issue %>
|
||||||
<%= h("#{i.project.name} -") unless @project && @project == i.project %>
|
<%= h("#{i.project} -") unless @project && @project == i.project %>
|
||||||
<%= link_to_issue i %>: <%=h i.subject %>
|
<%= link_to_issue i %>: <%=h i.subject %>
|
||||||
<% else %>
|
<% else %>
|
||||||
<%= link_to_version i, :class => "icon icon-package" %>
|
<span class="icon icon-package">
|
||||||
|
<%= h("#{i.project} -") unless @project && @project == i.project %>
|
||||||
|
<%= link_to_version i %>
|
||||||
|
</span>
|
||||||
<% end %>
|
<% end %>
|
||||||
</small></div>
|
</small></div>
|
||||||
<% top = top + 20
|
<% top = top + 20
|
||||||
@ -197,7 +200,8 @@ top = headers_height + 10
|
|||||||
%>
|
%>
|
||||||
<div style="top:<%= top %>px;left:<%= i_left %>px;width:15px;" class="task milestone"> </div>
|
<div style="top:<%= top %>px;left:<%= i_left %>px;width:15px;" class="task milestone"> </div>
|
||||||
<div style="top:<%= top %>px;left:<%= i_left + 12 %>px;background:#fff;" class="task">
|
<div style="top:<%= top %>px;left:<%= i_left + 12 %>px;background:#fff;" class="task">
|
||||||
<strong><%= i.name %></strong>
|
<%= h("#{i.project} -") unless @project && @project == i.project %>
|
||||||
|
<strong><%=h i %></strong>
|
||||||
</div>
|
</div>
|
||||||
<% end %>
|
<% end %>
|
||||||
<% top = top + 20
|
<% top = top + 20
|
||||||
|
Loading…
x
Reference in New Issue
Block a user