diff --git a/app/models/deliverable.rb b/app/models/deliverable.rb
index d7386b6..9a74526 100644
--- a/app/models/deliverable.rb
+++ b/app/models/deliverable.rb
@@ -13,7 +13,7 @@ class Deliverable < ActiveRecord::Base
accepts_nested_attributes_for :labor_budgets, :allow_destroy => true
accepts_nested_attributes_for :overhead_budgets, :allow_destroy => true
- accepts_nested_attributes_for :fixed_budgets
+ accepts_nested_attributes_for :fixed_budgets, :allow_destroy => true
# Validations
validates_presence_of :title
diff --git a/app/views/deliverables/_finance_form.html.erb b/app/views/deliverables/_finance_form.html.erb
index 8d0fad2..f006a5e 100644
--- a/app/views/deliverables/_finance_form.html.erb
+++ b/app/views/deliverables/_finance_form.html.erb
@@ -10,6 +10,12 @@
<% end %>
+
+
<% form.inputs :name => label, :class => "deliverable-finances #{fieldset_class}" do %>
@@ -44,6 +50,7 @@
<% form.fields_for :fixed_budgets, fixed_budgets.sort_by(&:id) do |fixed_budget| %>
<%= render :partial => 'fixed_budget_form', :locals => {:fixed_budget => fixed_budget} %>
+ <%= wikitoolbar_for "fixed-description#{fixed_budget.object.object_id}" %>
<% end %>
diff --git a/app/views/deliverables/_fixed_budget_form.html.erb b/app/views/deliverables/_fixed_budget_form.html.erb
index 54a7a6d..c65f85d 100644
--- a/app/views/deliverables/_fixed_budget_form.html.erb
+++ b/app/views/deliverables/_fixed_budget_form.html.erb
@@ -1,3 +1,5 @@
+
diff --git a/assets/javascripts/contracts.js b/assets/javascripts/contracts.js
index 991b12b..86df8e3 100644
--- a/assets/javascripts/contracts.js
+++ b/assets/javascripts/contracts.js
@@ -83,29 +83,43 @@ jQuery(function($) {
} else {
overheadLinks.hide().last().show();
}
+ var fixedLinks = $('#deliverable-fixed .fixed-budget-form .add-fixed a.add')
+ if (fixedLinks.length == 0) {
+ // No link, add a blank form
+ addNewDeliverableFixedItem();
+ } else {
+ fixedLinks.hide().last().show();
+ }
},
addNewDeliverableLaborItem = function() {
addNewDeliverableFinance('#labor-budget-template',
'#deliverable-labor tbody',
$("tr.labor-budget-form").size(),
- 'labor-budget-form');
+ '');
},
addNewDeliverableOverheadItem = function() {
addNewDeliverableFinance('#overhead-budget-template',
'#deliverable-overhead tbody',
$("tr.overhead-budget-form").size(),
- 'overhead-budget-form');
+ '
');
},
- addNewDeliverableFinance = function(templateSelector, appendTemplateTo, countOfExisting, rowClass) {
+ addNewDeliverableFixedItem = function() {
+ addNewDeliverableFinance('#fixed-budget-template',
+ '#deliverable-fixed.fixed-item-form',
+ $("div.fixed-budget-form").size(),
+ '');
+ },
+
+ addNewDeliverableFinance = function(templateSelector, appendTemplateTo, countOfExisting, wrapperElement) {
var t = $(templateSelector).tmpl({});
if (t.length > 0) {
var recordLocation = countOfExisting + 1; // increments the Rails [n] placeholder
var newContent = t.html().replace(/\[0\]/g, "[" + recordLocation + "]");
- $("
" + newContent + '
').appendTo(appendTemplateTo);
+ $(wrapperElement).html(newContent).appendTo(appendTemplateTo);
showDeliverableAddButtons();
}
},
diff --git a/assets/stylesheets/redmine_contracts.css b/assets/stylesheets/redmine_contracts.css
index 37d3bbe..e6e7717 100644
--- a/assets/stylesheets/redmine_contracts.css
+++ b/assets/stylesheets/redmine_contracts.css
@@ -522,3 +522,5 @@ input.financial{
#edit_contract_1 li#contract_billable_rate_input div{
margin-bottom: 10px;
}
+
+div.fixed-budget-form {padding: 5px 0;}