From 4e7d8a4f986aa7092052979155cb623cbd651036 Mon Sep 17 00:00:00 2001 From: Xinhui Date: Fri, 26 May 2017 11:19:39 +0200 Subject: Fix update calendar association from state Refs #2913 --- app/models/chouette/time_table.rb | 3 ++- spec/models/chouette/time_table_spec.rb | 9 +++++++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/app/models/chouette/time_table.rb b/app/models/chouette/time_table.rb index eacc5c827..42879c6d5 100644 --- a/app/models/chouette/time_table.rb +++ b/app/models/chouette/time_table.rb @@ -64,7 +64,8 @@ class Chouette::TimeTable < Chouette::TridentActiveRecord def state_update state update_attributes(self.class.state_permited_attributes(state)) - self.tag_list = state['tags'].collect{|t| t['name']}.join(', ') + self.tag_list = state['tags'].collect{|t| t['name']}.join(', ') + self.calendar_id = nil unless state['calendar'] days = state['day_types'].split(',') Date::DAYNAMES.map(&:underscore).each do |name| diff --git a/spec/models/chouette/time_table_spec.rb b/spec/models/chouette/time_table_spec.rb index 505ca12be..3d45bd346 100644 --- a/spec/models/chouette/time_table_spec.rb +++ b/spec/models/chouette/time_table_spec.rb @@ -51,6 +51,15 @@ describe Chouette::TimeTable, :type => :model do }.to change {subject.periods.count}.by(-1) end + it 'should update caldendar association' do + subject.calendar = create(:calendar) + subject.save + state['calendar'] = nil + + subject.state_update state + expect(subject.reload.calendar).to eq(nil) + end + it 'should update color' do state['color'] = '#FFA070' subject.state_update state -- cgit v1.2.3