aboutsummaryrefslogtreecommitdiffstats
path: root/app
diff options
context:
space:
mode:
authorXinhui2017-04-26 15:10:35 +0200
committerXinhui2017-04-26 15:10:41 +0200
commit489a05ee6469b711140ca6d4ad6ebe296bc2d82f (patch)
treefb78336a9755bd8a624c77c7cb753a41f4189f26 /app
parent6dde8056e94515f885c73ecf1a07485784eaaca6 (diff)
downloadchouette-core-489a05ee6469b711140ca6d4ad6ebe296bc2d82f.tar.bz2
Wip TimeTables#update save day_types
Refs #2899
Diffstat (limited to 'app')
-rw-r--r--app/controllers/time_tables_controller.rb1
-rw-r--r--app/models/chouette/time_table.rb15
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