aboutsummaryrefslogtreecommitdiffstats
path: root/app/controllers
diff options
context:
space:
mode:
Diffstat (limited to 'app/controllers')
-rw-r--r--app/controllers/application_controller.rb12
-rw-r--r--app/controllers/compliance_control_blocks_controller.rb8
-rw-r--r--app/controllers/concerns/metadata_controller_support.rb2
-rw-r--r--app/controllers/journey_patterns_collections_controller.rb2
-rw-r--r--app/controllers/line_referentials_controller.rb6
-rw-r--r--app/controllers/lines_controller.rb4
-rw-r--r--app/controllers/merges_controller.rb2
-rw-r--r--app/controllers/stop_area_referentials_controller.rb7
-rw-r--r--app/controllers/stop_areas_controller.rb13
-rw-r--r--app/controllers/time_tables_controller.rb14
-rw-r--r--app/controllers/vehicle_journeys_controller.rb1
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: {