diff options
| author | Xinhui | 2017-05-26 11:19:39 +0200 |
|---|---|---|
| committer | Robert | 2017-05-29 08:49:52 +0200 |
| commit | 4e7d8a4f986aa7092052979155cb623cbd651036 (patch) | |
| tree | 00549cbf8e48203b071d3b43a68008591079c4b2 | |
| parent | b80b15c7cfaa417c5ae26610c2c5ddb563259530 (diff) | |
| download | chouette-core-4e7d8a4f986aa7092052979155cb623cbd651036.tar.bz2 | |
Fix update calendar association from state
Refs #2913
| -rw-r--r-- | app/models/chouette/time_table.rb | 3 | ||||
| -rw-r--r-- | spec/models/chouette/time_table_spec.rb | 9 |
2 files changed, 11 insertions, 1 deletions
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 |
