diff --git a/app/models/issue.rb b/app/models/issue.rb index 4b60843..09516e8 100644 --- a/app/models/issue.rb +++ b/app/models/issue.rb @@ -1201,34 +1201,37 @@ class Issue < ActiveRecord::Base def recalculate_attributes_for(issue_id) if issue_id && p = Issue.find_by_id(issue_id) # priority = highest priority of children - if priority_position = p.children.maximum("#{IssuePriority.table_name}.position", :joins => :priority) - p.priority = IssuePriority.find_by_position(priority_position) - end + #Disabled + #if priority_position = p.children.maximum("#{IssuePriority.table_name}.position", :joins => :priority) + # p.priority = IssuePriority.find_by_position(priority_position) + #end # start/due dates = lowest/highest dates of children - p.start_date = p.children.minimum(:start_date) - p.due_date = p.children.maximum(:due_date) - if p.start_date && p.due_date && p.due_date < p.start_date - p.start_date, p.due_date = p.due_date, p.start_date - end + #p.start_date = p.children.minimum(:start_date) + #p.due_date = p.children.maximum(:due_date) + #if p.start_date && p.due_date && p.due_date < p.start_date + # p.start_date, p.due_date = p.due_date, p.start_date + #end # done ratio = weighted average ratio of leaves - unless Issue.use_status_for_done_ratio? && p.status && p.status.default_done_ratio - leaves_count = p.leaves.count - if leaves_count > 0 - average = p.leaves.average(:estimated_hours).to_f - if average == 0 - average = 1 - end - done = p.leaves.sum("COALESCE(estimated_hours, #{average}) * (CASE WHEN is_closed = #{connection.quoted_true} THEN 100 ELSE COALESCE(done_ratio, 0) END)", :joins => :status).to_f - progress = done / (average * leaves_count) - p.done_ratio = progress.round - end - end + #Disabled + #unless Issue.use_status_for_done_ratio? && p.status && p.status.default_done_ratio + # leaves_count = p.leaves.count + # if leaves_count > 0 + # average = p.leaves.average(:estimated_hours).to_f + # if average == 0 + # average = 1 + # end + # done = p.leaves.sum("COALESCE(estimated_hours, #{average}) * (CASE WHEN is_closed = #{connection.quoted_true} THEN 100 ELSE COALESCE(done_ratio, 0) END)", :joins => :status).to_f + # progress = done / (average * leaves_count) + # p.done_ratio = progress.round + # end + #end # estimate = sum of leaves estimates - p.estimated_hours = p.leaves.sum(:estimated_hours).to_f - p.estimated_hours = nil if p.estimated_hours == 0.0 + #Disabled + #p.estimated_hours = p.leaves.sum(:estimated_hours).to_f + #p.estimated_hours = nil if p.estimated_hours == 0.0 # ancestors will be recursively updated p.save(:validate => false) diff --git a/app/views/issues/_attributes.html.erb b/app/views/issues/_attributes.html.erb index 9b4c508..9cf3960 100644 --- a/app/views/issues/_attributes.html.erb +++ b/app/views/issues/_attributes.html.erb @@ -11,7 +11,7 @@ <% end %> <% if @issue.safe_attribute? 'priority_id' %> -

<%= f.select :priority_id, (@priorities.collect {|p| [p.name, p.id]}), {:required => true}, :disabled => !@issue.leaf? %>

+

<%= f.select :priority_id, (@priorities.collect {|p| [p.name, p.id]}), {:required => true}, :disabled => false %>

<% end %> <% if @issue.safe_attribute? 'assigned_to_id' %> @@ -47,18 +47,18 @@ <% end %> <% if @issue.safe_attribute? 'start_date' %> -

<%= f.text_field :start_date, :size => 10, :disabled => !@issue.leaf?, :required => @issue.required_attribute?('start_date') %><%= calendar_for('issue_start_date') if @issue.leaf? %>

+

<%= f.text_field :start_date, :size => 10, :disabled => false, :required => @issue.required_attribute?('start_date') %><%= calendar_for('issue_start_date') %>

<% end %> <% if @issue.safe_attribute? 'due_date' %> -

<%= f.text_field :due_date, :size => 10, :disabled => !@issue.leaf?, :required => @issue.required_attribute?('due_date') %><%= calendar_for('issue_due_date') if @issue.leaf? %>

+

<%= f.text_field :due_date, :size => 10, :disabled => false, :required => @issue.required_attribute?('due_date') %><%= calendar_for('issue_due_date') %>

<% end %> <% if @issue.safe_attribute? 'estimated_hours' %> -

<%= f.text_field :estimated_hours, :size => 3, :disabled => !@issue.leaf?, :required => @issue.required_attribute?('estimated_hours') %> <%= l(:field_hours) %>

+

<%= f.text_field :estimated_hours, :size => 3, :disabled => false, :required => @issue.required_attribute?('estimated_hours') %> <%= l(:field_hours) %>

<% end %> -<% if @issue.safe_attribute?('done_ratio') && @issue.leaf? && Issue.use_field_for_done_ratio? %> +<% if @issue.safe_attribute?('done_ratio') && Issue.use_field_for_done_ratio? %>

<%= f.select :done_ratio, ((0..10).to_a.collect {|r| ["#{r*10} %", r*10] }), :required => @issue.required_attribute?('done_ratio') %>

<% end %>