From 4e4c9a51af7a8a24a29b221905f5261f3b18c68f Mon Sep 17 00:00:00 2001 From: Reinier Balt Date: Wed, 19 Jun 2013 16:41:44 +0200 Subject: [PATCH] fix #1406. fix #1431. set recurring_period first before setting other attributes --- app/controllers/recurring_todos_controller.rb | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/app/controllers/recurring_todos_controller.rb b/app/controllers/recurring_todos_controller.rb index 0ec4edd7..a12d2f37 100644 --- a/app/controllers/recurring_todos_controller.rb +++ b/app/controllers/recurring_todos_controller.rb @@ -101,7 +101,10 @@ class RecurringTodosController < ApplicationController p.attributes['end_date']=parse_date_per_user_prefs(p.attributes['end_date']) p.attributes['start_from']=parse_date_per_user_prefs(p.attributes['start_from']) - @recurring_todo = current_user.recurring_todos.build(p.selector_attributes) + # make sure we set :recurring_period first, since other setters depend on it being set + # TODO: move logic into model + @recurring_todo = current_user.recurring_todos.build(:recurring_period => params[:recurring_period]) + @recurring_todo.assign_attributes(p.selector_attributes) @recurring_todo.update_attributes(p.attributes) if p.project_specified_by_name?