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 | 
