diff --git a/app/controllers/deliverables_controller.rb b/app/controllers/deliverables_controller.rb index 07af21f..34bf937 100644 --- a/app/controllers/deliverables_controller.rb +++ b/app/controllers/deliverables_controller.rb @@ -31,9 +31,15 @@ class DeliverablesController < ApplicationController end def create - @deliverable = Deliverable.new(params[:deliverable]) + if params[:deliverable][:type] == FixedDeliverable.name + @deliverable = FixedDeliverable.new(params[:deliverable]) + elsif params[:deliverable][:type] == HourlyDeliverable.name + @deliverable = HourlyDeliverable.new(params[:deliverable]) + else + @deliverable = Deliverable.new(params[:deliverable]) + end + @deliverable.project = @project - respond_to do |format| if @deliverable.save @flash = l(:notice_successful_create) diff --git a/app/models/fixed_deliverable.rb b/app/models/fixed_deliverable.rb new file mode 100644 index 0000000..3d8b9d0 --- /dev/null +++ b/app/models/fixed_deliverable.rb @@ -0,0 +1,3 @@ +class FixedDeliverable < Deliverable + unloadable +end diff --git a/app/models/hourly_deliverable.rb b/app/models/hourly_deliverable.rb new file mode 100644 index 0000000..ca71da3 --- /dev/null +++ b/app/models/hourly_deliverable.rb @@ -0,0 +1,3 @@ +class HourlyDeliverable < Deliverable + unloadable +end diff --git a/app/views/deliverables/_form.html.erb b/app/views/deliverables/_form.html.erb index 43aec01..11dbded 100644 --- a/app/views/deliverables/_form.html.erb +++ b/app/views/deliverables/_form.html.erb @@ -17,8 +17,10 @@
TODO: Fixed cost
++ + <%= check_box(:deliverable, :type, {}, FixedDeliverable.name, HourlyDeliverable.name) %> +
<%= f.text_field :cost_per_hour, :size => 7 %>
<%= observe_field('deliverable_cost_per_hour', :function => "new Budget.updateAmounts();") %>