Project

General

Profile

Feature #5490 » issue5490.patch

Sridhar P, 2012-01-04 12:18

View differences:

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' %>
(2-2/9)