diff options
Diffstat (limited to 'app/controllers')
| -rw-r--r-- | app/controllers/application_controller.rb | 12 | ||||
| -rw-r--r-- | app/controllers/compliance_control_blocks_controller.rb | 8 | ||||
| -rw-r--r-- | app/controllers/concerns/metadata_controller_support.rb | 2 | ||||
| -rw-r--r-- | app/controllers/journey_patterns_collections_controller.rb | 2 | ||||
| -rw-r--r-- | app/controllers/line_referentials_controller.rb | 6 | ||||
| -rw-r--r-- | app/controllers/lines_controller.rb | 4 | ||||
| -rw-r--r-- | app/controllers/merges_controller.rb | 2 | ||||
| -rw-r--r-- | app/controllers/stop_area_referentials_controller.rb | 7 | ||||
| -rw-r--r-- | app/controllers/stop_areas_controller.rb | 13 | ||||
| -rw-r--r-- | app/controllers/time_tables_controller.rb | 14 | ||||
| -rw-r--r-- | app/controllers/vehicle_journeys_controller.rb | 1 | 
11 files changed, 54 insertions, 17 deletions
| diff --git a/app/controllers/application_controller.rb b/app/controllers/application_controller.rb index 8b66e6097..7f071a6a4 100644 --- a/app/controllers/application_controller.rb +++ b/app/controllers/application_controller.rb @@ -12,6 +12,7 @@ class ApplicationController < ActionController::Base    # Load helpers in rails engine    helper LanguageEngine::Engine.helpers +  layout :layout_by_resource    def set_locale      # I18n.locale = session[:language] || I18n.default_locale @@ -56,4 +57,15 @@ class ApplicationController < ActionController::Base    def after_sign_out_path_for(resource_or_scope)      new_user_session_path    end + +  private + +  def layout_by_resource +    if devise_controller? +      "devise" +    else +      "application" +    end +  end +  end diff --git a/app/controllers/compliance_control_blocks_controller.rb b/app/controllers/compliance_control_blocks_controller.rb index 1173a548a..0851e2800 100644 --- a/app/controllers/compliance_control_blocks_controller.rb +++ b/app/controllers/compliance_control_blocks_controller.rb @@ -4,14 +4,6 @@ class ComplianceControlBlocksController < ChouetteController    belongs_to :compliance_control_set    actions :all, :except => [:show, :index] -  after_action :display_errors, only: [:create, :update] - -  def display_errors -    unless @compliance_control_block.errors[:condition_attributes].empty? -      flash[:error] = @compliance_control_block.errors[:condition_attributes].join(', ') -    end -  end -    private    def compliance_control_block_params diff --git a/app/controllers/concerns/metadata_controller_support.rb b/app/controllers/concerns/metadata_controller_support.rb index db83e79ae..4dcbfe5d0 100644 --- a/app/controllers/concerns/metadata_controller_support.rb +++ b/app/controllers/concerns/metadata_controller_support.rb @@ -20,7 +20,7 @@ module MetadataControllerSupport    def set_modifier_metadata      _resource = @resources || [resource]      _resource.flatten.each do |r| -      r.try :set_metadata!, :modifier_username, user_for_metadata +      r.try(:set_metadata!, :modifier_username, user_for_metadata) if r.valid?      end    end  end diff --git a/app/controllers/journey_patterns_collections_controller.rb b/app/controllers/journey_patterns_collections_controller.rb index db92d48f3..c1a307464 100644 --- a/app/controllers/journey_patterns_collections_controller.rb +++ b/app/controllers/journey_patterns_collections_controller.rb @@ -25,6 +25,8 @@ class JourneyPatternsCollectionsController < ChouetteController      @q = @q.includes(:stop_points)      @ppage = 10      @journey_patterns ||= @q.paginate(page: params[:page], per_page: @ppage).order(:name) +    @custom_fields = Chouette::JourneyPattern.custom_fields_definitions(referential.workgroup) +      respond_to do |format|        format.json do          @journey_patterns = @journey_patterns.includes(stop_points: {stop_area: :stop_area_referential}) diff --git a/app/controllers/line_referentials_controller.rb b/app/controllers/line_referentials_controller.rb index 03dab3f8f..e661fbb04 100644 --- a/app/controllers/line_referentials_controller.rb +++ b/app/controllers/line_referentials_controller.rb @@ -2,6 +2,12 @@ class LineReferentialsController < ChouetteController    defaults :resource_class => LineReferential +  def show +    show! do +      @line_referential = LineReferentialDecorator.decorate(@line_referential) +    end +  end +    def sync      authorize resource, :synchronize?      @sync = resource.line_referential_syncs.build diff --git a/app/controllers/lines_controller.rb b/app/controllers/lines_controller.rb index ae8c9ed0c..cd8091252 100644 --- a/app/controllers/lines_controller.rb +++ b/app/controllers/lines_controller.rb @@ -122,7 +122,7 @@ class LinesController < ChouetteController    end    def line_params -    params.require(:line).permit( +    out = params.require(:line).permit(        :transport_mode,        :network_id,        :company_id, @@ -148,6 +148,8 @@ class LinesController < ChouetteController        :secondary_company_ids => [],        footnotes_attributes: [:code, :label, :_destroy, :id]      ) +    out[:secondary_company_ids] = (out[:secondary_company_ids] || []).select(&:present?) +    out    end     # Fake ransack filter diff --git a/app/controllers/merges_controller.rb b/app/controllers/merges_controller.rb index 1ce64ed58..663b6e750 100644 --- a/app/controllers/merges_controller.rb +++ b/app/controllers/merges_controller.rb @@ -1,5 +1,5 @@  class MergesController < ChouetteController -  # include PolicyChecker +  include PolicyChecker    defaults resource_class: Merge    belongs_to :workbench diff --git a/app/controllers/stop_area_referentials_controller.rb b/app/controllers/stop_area_referentials_controller.rb index f2d375e49..0e6a54b49 100644 --- a/app/controllers/stop_area_referentials_controller.rb +++ b/app/controllers/stop_area_referentials_controller.rb @@ -1,6 +1,13 @@  class StopAreaReferentialsController < ChouetteController    defaults :resource_class => StopAreaReferential + +  def show +    show! do +      @stop_area_referential = StopAreaReferentialDecorator.decorate(@stop_area_referential) +    end +  end +    def sync      authorize resource, :synchronize?      @sync = resource.stop_area_referential_syncs.build diff --git a/app/controllers/stop_areas_controller.rb b/app/controllers/stop_areas_controller.rb index b2634467d..76732afd7 100644 --- a/app/controllers/stop_areas_controller.rb +++ b/app/controllers/stop_areas_controller.rb @@ -126,7 +126,18 @@ class StopAreasController < ChouetteController      if sort_column && sort_direction        @stop_areas ||=          begin -          stop_areas = @q.result.order(sort_column + ' ' + sort_direction) +          if sort_column == "area_type" +            sorted_area_type_labels = Chouette::AreaType.options(:all, I18n.locale).sort.transpose.last +            sorted_area_type_labels = sorted_area_type_labels.reverse if sort_direction != 'asc' +            order_by = ["CASE"] +            sorted_area_type_labels.each_with_index do |area_type, index| +              order_by << "WHEN area_type='#{area_type}' THEN #{index}" +            end +            order_by << "END" +            stop_areas = @q.result.order(order_by.join(" ")) +          else +            stop_areas = @q.result.order(sort_column + ' ' + sort_direction) +          end            stop_areas = stop_areas.paginate(:page => params[:page], :per_page => @per_page) if @per_page.present?            stop_areas          end diff --git a/app/controllers/time_tables_controller.rb b/app/controllers/time_tables_controller.rb index 2ac8532e0..4ca2293f0 100644 --- a/app/controllers/time_tables_controller.rb +++ b/app/controllers/time_tables_controller.rb @@ -77,7 +77,7 @@ class TimeTablesController < ChouetteController    end    def index -    request.format.kml? ? @per_page = nil : @per_page = 12 +    # request.format.kml? ? @per_page = nil : @per_page = 12      index! do |format|        format.html { @@ -130,6 +130,7 @@ class TimeTablesController < ChouetteController      @time_tables ||= begin        time_tables = @q.result(:distinct => true) +      sort_column        if sort_column == "bounding_dates"          time_tables = @q.result(:distinct => false).paginate(page: params[:page], per_page: 10)          ids = time_tables.pluck(:id).uniq @@ -186,10 +187,13 @@ class TimeTablesController < ChouetteController    private    def sort_column -    valid_cols = referential.time_tables.column_names -    valid_cols << "bounding_dates" -    valid_cols << "vehicle_journeys_count" -    valid_cols.include?(params[:sort]) ? params[:sort] : 'comment' +    @@valid_cols ||= begin +      valid_cols = %w(id color comment) +      valid_cols << "bounding_dates" +      valid_cols << "vehicle_journeys_count" +      valid_cols +    end +    @@valid_cols.include?(params[:sort]) ? params[:sort] : 'comment'    end    def sort_direction      %w[asc desc].include?(params[:direction]) ?  params[:direction] : 'asc' diff --git a/app/controllers/vehicle_journeys_controller.rb b/app/controllers/vehicle_journeys_controller.rb index 220f2d29e..921a2cf7f 100644 --- a/app/controllers/vehicle_journeys_controller.rb +++ b/app/controllers/vehicle_journeys_controller.rb @@ -208,6 +208,7 @@ class VehicleJourneysController < ChouetteController            short_id: item.get_objectid.short_id,            full_schedule: item.full_schedule?,            costs: item.costs, +          journey_length: item.journey_length,            stop_area_short_descriptions: item.stop_areas.map do |stop|              {                stop_area_short_description: { | 
