Feature #5490 » issue5490.patch
| app/models/issue.rb (working copy) | ||
|---|---|---|
| 315 | 315 |
end |
| 316 | 316 | |
| 317 | 317 |
unless leaf? |
| 318 |
attrs.reject! {|k,v| %w(priority_id done_ratio start_date due_date estimated_hours).include?(k)}
|
|
| 318 |
#attrs.reject! {|k,v| %w(priority_id done_ratio start_date due_date estimated_hours).include?(k)}
|
|
| 319 | 319 |
end |
| 320 | 320 | |
| 321 | 321 |
if attrs['parent_issue_id'].present? |
| ... | ... | |
| 816 | 816 | |
| 817 | 817 |
def recalculate_attributes_for(issue_id) |
| 818 | 818 |
if issue_id && p = Issue.find_by_id(issue_id) |
| 819 |
# priority = highest priority of children |
|
| 820 |
if priority_position = p.children.maximum("#{IssuePriority.table_name}.position", :joins => :priority)
|
|
| 821 |
p.priority = IssuePriority.find_by_position(priority_position) |
|
| 822 |
end |
|
| 823 | ||
| 824 |
# start/due dates = lowest/highest dates of children |
|
| 825 |
p.start_date = p.children.minimum(:start_date) |
|
| 826 |
p.due_date = p.children.maximum(:due_date) |
|
| 827 |
if p.start_date && p.due_date && p.due_date < p.start_date |
|
| 828 |
p.start_date, p.due_date = p.due_date, p.start_date |
|
| 829 |
end |
|
| 830 | ||
| 831 | 819 |
# done ratio = weighted average ratio of leaves |
| 832 | 820 |
unless Issue.use_status_for_done_ratio? && p.status && p.status.default_done_ratio |
| 833 | 821 |
leaves_count = p.leaves.count |
| app/views/issues/_attributes.html.erb (working copy) | ||
|---|---|---|
| 8 | 8 |
<% end %> |
| 9 | 9 | |
| 10 | 10 |
<% if @issue.safe_attribute? 'priority_id' %> |
| 11 |
<p><%= f.select :priority_id, (@priorities.collect {|p| [p.name, p.id]}), {:required => true}, :disabled => !@issue.leaf? %></p>
|
|
| 11 |
<p><%= f.select :priority_id, (@priorities.collect {|p| [p.name, p.id]}), {:required => true} %></p>
|
|
| 12 | 12 |
<% end %> |
| 13 | 13 | |
| 14 | 14 |
<% if @issue.safe_attribute? 'assigned_to_id' %> |
| ... | ... | |
| 45 | 45 |
<% end %> |
| 46 | 46 | |
| 47 | 47 |
<% if @issue.safe_attribute? 'start_date' %> |
| 48 |
<p><%= f.text_field :start_date, :size => 10, :disabled => !@issue.leaf? %><%= calendar_for('issue_start_date') if @issue.leaf? %></p>
|
|
| 48 |
<p><%= f.text_field :start_date, :size => 10 %><%= calendar_for('issue_start_date') %></p>
|
|
| 49 | 49 |
<% end %> |
| 50 | 50 | |
| 51 | 51 |
<% if @issue.safe_attribute? 'due_date' %> |
| 52 |
<p><%= f.text_field :due_date, :size => 10, :disabled => !@issue.leaf? %><%= calendar_for('issue_due_date') if @issue.leaf? %></p>
|
|
| 52 |
<p><%= f.text_field :due_date, :size => 10 %><%= calendar_for('issue_due_date') %></p>
|
|
| 53 | 53 |
<% end %> |
| 54 | 54 | |
| 55 | 55 |
<% if @issue.safe_attribute? 'estimated_hours' %> |