diff options
| author | Xinhui | 2017-04-26 15:10:35 +0200 |
|---|---|---|
| committer | Xinhui | 2017-04-26 15:10:41 +0200 |
| commit | 489a05ee6469b711140ca6d4ad6ebe296bc2d82f (patch) | |
| tree | fb78336a9755bd8a624c77c7cb753a41f4189f26 /app | |
| parent | 6dde8056e94515f885c73ecf1a07485784eaaca6 (diff) | |
| download | chouette-core-489a05ee6469b711140ca6d4ad6ebe296bc2d82f.tar.bz2 | |
Wip TimeTables#update save day_types
Refs #2899
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 |
