Added ability to change a deliverables type

This commit is contained in:
Eric Davis
2008-06-04 16:50:19 -07:00
parent 86741878c6
commit ba8a3400ec
2 changed files with 14 additions and 1 deletions

View File

@@ -63,9 +63,12 @@ class DeliverablesController < ApplicationController
end
def update
# TODO: Handle type change
@deliverable = Deliverable.find(params[:deliverable_id])
if params[:deliverable][:type] != @deliverable.class
@deliverable = @deliverable.change_type(params[:deliverable][:type])
end
respond_to do |format|
if @deliverable.update_attributes(params[:deliverable])
@flash = l(:notice_successful_create)

View File

@@ -15,6 +15,16 @@ class Deliverable < ActiveRecord::Base
return version.fixed_issues.size
end
def change_type(to)
if [FixedDeliverable.name, HourlyDeliverable.name].include?(to)
self.type = to
self.save!
return Deliverable.find(self.id)
else
return self
end
end
def score
return self.progress - self.budget_ratio