diff --git a/app/controllers/admin/budgets_controller.rb b/app/controllers/admin/budgets_controller.rb index e7e462fc8..0b373c0bd 100644 --- a/app/controllers/admin/budgets_controller.rb +++ b/app/controllers/admin/budgets_controller.rb @@ -40,7 +40,9 @@ class Admin::BudgetsController < Admin::BaseController private def budget_params - params.require(:budget).permit(:name, :description, :phase, :currency_symbol) + descriptions = Budget::PHASES.map{|p| "description_#{p}"}.map(&:to_sym) + valid_attributes = [:name, :phase, :currency_symbol] + descriptions + params.require(:budget).permit(*valid_attributes) end end diff --git a/app/models/budget.rb b/app/models/budget.rb index 186a1aa4e..e2acf1de8 100644 --- a/app/models/budget.rb +++ b/app/models/budget.rb @@ -31,6 +31,10 @@ class Budget < ActiveRecord::Base self.send("description_#{self.phase}").try(:html_safe) end + def self.description_max_length + 2000 + end + def accepting? phase == "accepting" end diff --git a/app/views/admin/budgets/_form.html.erb b/app/views/admin/budgets/_form.html.erb index 03507afa0..ff61aed54 100644 --- a/app/views/admin/budgets/_form.html.erb +++ b/app/views/admin/budgets/_form.html.erb @@ -2,7 +2,9 @@ <%= f.text_field :name, maxlength: Budget.title_max_length %> - <%= f.cktext_area :description, maxlength: Budget.description_max_length, ckeditor: { language: I18n.locale } %> + <% Budget::PHASES.each do |phase| %> + <%= f.cktext_area "description_#{phase}", maxlength: Budget.description_max_length, ckeditor: { language: I18n.locale } %> + <% end %>