diff options
Diffstat (limited to 'app')
| -rw-r--r-- | app/controllers/time_tables_controller.rb | 1 | ||||
| -rw-r--r-- | app/models/chouette/time_table.rb | 15 |
2 files changed, 15 insertions, 1 deletions
diff --git a/app/controllers/time_tables_controller.rb b/app/controllers/time_tables_controller.rb index 2775316e0..487c14e9f 100644 --- a/app/controllers/time_tables_controller.rb +++ b/app/controllers/time_tables_controller.rb @@ -58,7 +58,6 @@ class TimeTablesController < ChouetteController def update state = JSON.parse request.raw_post - respond_to do |format| format.json { render json: state, status: state['errors'] ? :unprocessable_entity : :ok } end diff --git a/app/models/chouette/time_table.rb b/app/models/chouette/time_table.rb index 086e6fa77..acce96681 100644 --- a/app/models/chouette/time_table.rb +++ b/app/models/chouette/time_table.rb @@ -32,6 +32,21 @@ class Chouette::TimeTable < Chouette::TridentActiveRecord validates_associated :dates validates_associated :periods + def state_update state + update_attributes(self.class.state_permited_attributes(state)) + + days = state['day_types'].split(',') + Date::DAYNAMES.map(&:underscore).each do |name| + prefix = human_attribute_name(name).first(2) + send("#{name}=", days.include?(prefix)) + end + self.save + end + + def self.state_permited_attributes item + item.slice('comment').to_hash + end + def presenter @presenter ||= ::TimeTablePresenter.new( self) end |
