aboutsummaryrefslogtreecommitdiffstats
path: root/app
diff options
context:
space:
mode:
Diffstat (limited to 'app')
-rw-r--r--app/controllers/api/v1/netex_imports_controller.rb6
-rw-r--r--app/controllers/compliance_check_sets_controller.rb31
-rw-r--r--app/controllers/compliance_checks_controller.rb2
-rw-r--r--app/controllers/compliance_control_sets_controller.rb21
-rw-r--r--app/controllers/rule_parameter_sets_controller.rb53
-rw-r--r--app/decorators/compliance_check_decorator.rb8
-rw-r--r--app/helpers/application_helper.rb2
-rw-r--r--app/helpers/compliance_check_blocks_helper.rb3
-rw-r--r--app/helpers/compliance_check_sets_helper.rb16
-rw-r--r--app/helpers/compliance_control_blocks_helper.rb2
-rw-r--r--app/helpers/referentials_helper.rb11
-rw-r--r--app/helpers/rule_parameter_sets_helper.rb28
-rw-r--r--app/helpers/transport_mode_helper.rb16
-rw-r--r--app/models/compliance_check_block.rb8
-rw-r--r--app/models/compliance_control_block.rb4
-rw-r--r--app/models/concerns/stif_transport_mode_enumerations.rb25
-rw-r--r--app/models/concerns/stif_transport_submode_enumerations.rb36
-rw-r--r--app/models/import_task.rb18
-rw-r--r--app/models/netex_import.rb31
-rw-r--r--app/models/organisation.rb8
-rw-r--r--app/models/rule_parameter_set.rb392
-rw-r--r--app/views/compliance_check_sets/executed.html.slim84
-rw-r--r--app/views/compliance_check_sets/show.html.slim12
-rw-r--r--app/views/compliance_checks/_filters.html.slim47
-rw-r--r--app/views/compliance_control_sets/show.html.slim117
-rw-r--r--app/views/compliance_controls/_filters.html.slim3
-rw-r--r--app/views/import_tasks/new.html.slim5
-rw-r--r--app/views/lines/_filters.html.slim4
-rw-r--r--app/views/organisations/show.html.slim5
-rw-r--r--app/views/rule_parameter_sets/_column_fields.html.slim13
-rw-r--r--app/views/rule_parameter_sets/_form.html.slim73
-rw-r--r--app/views/rule_parameter_sets/_mode_fields.html.slim9
-rw-r--r--app/views/rule_parameter_sets/_mode_selection.html.slim4
-rw-r--r--app/views/rule_parameter_sets/_rule_parameter_set.html.slim14
-rw-r--r--app/views/rule_parameter_sets/_transport_mode_parameter_set_fields.html.slim9
-rw-r--r--app/views/rule_parameter_sets/edit.html.slim3
-rw-r--r--app/views/rule_parameter_sets/index.html.slim7
-rw-r--r--app/views/rule_parameter_sets/mode.js.slim9
-rw-r--r--app/views/rule_parameter_sets/new.html.slim3
-rw-r--r--app/views/rule_parameter_sets/show.html.slim143
40 files changed, 366 insertions, 919 deletions
diff --git a/app/controllers/api/v1/netex_imports_controller.rb b/app/controllers/api/v1/netex_imports_controller.rb
index fc85e35dd..8e8c48986 100644
--- a/app/controllers/api/v1/netex_imports_controller.rb
+++ b/app/controllers/api/v1/netex_imports_controller.rb
@@ -30,11 +30,7 @@ module Api
def create_netex_import
attributes = netex_import_params.merge creator: "Webservice"
- if @new_referential.persisted?
- attributes = attributes.merge referential_id: @new_referential.id
- else
- attributes = attributes.merge status: "failed"
- end
+ attributes = attributes.merge referential_id: @new_referential.id
@netex_import = NetexImport.new attributes
@netex_import.save!
diff --git a/app/controllers/compliance_check_sets_controller.rb b/app/controllers/compliance_check_sets_controller.rb
index 95dcfbf05..175c22191 100644
--- a/app/controllers/compliance_check_sets_controller.rb
+++ b/app/controllers/compliance_check_sets_controller.rb
@@ -18,4 +18,35 @@ class ComplianceCheckSetsController < InheritedResources::Base
}
end
end
+
+ def executed
+ show! do |format|
+ # But now nobody is aware anymore that `format.html` passes a parameter into the block
+ format.html { executed_for_html }
+ end
+ end
+
+
+ private
+
+ # Action Implementation
+ # ---------------------
+
+ def executed_for_html
+ @q_checks_form = @compliance_check_set.compliance_checks.ransack(params[:q])
+ @compliance_check_set = @compliance_check_set.decorate
+ compliance_checks =
+ decorate_compliance_checks( @q_checks_form.result)
+ .group_by(&:compliance_check_block)
+ @direct_compliance_checks = compliance_checks.delete nil
+ @blocks_to_compliance_checks_map = compliance_checks
+ end
+
+ # Decoration
+ # ----------
+ def decorate_compliance_checks(compliance_checks)
+ ModelDecorator.decorate(
+ compliance_checks,
+ with: ComplianceCheckDecorator)
+ end
end
diff --git a/app/controllers/compliance_checks_controller.rb b/app/controllers/compliance_checks_controller.rb
index 07438cf99..81749e292 100644
--- a/app/controllers/compliance_checks_controller.rb
+++ b/app/controllers/compliance_checks_controller.rb
@@ -1,4 +1,4 @@
-class ComplianceChecksController < ChouetteController
+class ComplianceChecksController < InheritedResources::Base
end
diff --git a/app/controllers/compliance_control_sets_controller.rb b/app/controllers/compliance_control_sets_controller.rb
index 5c78d09e3..83a345c6f 100644
--- a/app/controllers/compliance_control_sets_controller.rb
+++ b/app/controllers/compliance_control_sets_controller.rb
@@ -17,17 +17,12 @@ class ComplianceControlSetsController < InheritedResources::Base
def show
show! do |format|
- format.html {
- @q_controls_form = @compliance_control_set.compliance_controls.ransack(params[:q])
- @compliance_control_set = @compliance_control_set.decorate
- @compliance_controls =
- decorate_compliance_controls( @q_controls_form.result)
- .group_by(&:compliance_control_block)
- @indirect_compliance_controls = @compliance_controls.delete nil
- }
+ # But now nobody is aware anymore that `format.html` passes a parameter into the block
+ format.html { show_for_html }
end
end
+
def clone
ComplianceControlSetCloner.new.copy(params[:id], current_organisation.id)
flash[:notice] = I18n.t("compliance_control_sets.errors.operation_in_progress")
@@ -59,4 +54,14 @@ class ComplianceControlSetsController < InheritedResources::Base
def compliance_control_set_params
params.require(:compliance_control_set).permit(:name, :id)
end
+
+ def show_for_html
+ @q_controls_form = @compliance_control_set.compliance_controls.ransack(params[:q])
+ @compliance_control_set = @compliance_control_set.decorate
+ compliance_controls =
+ decorate_compliance_controls( @q_controls_form.result)
+ .group_by(&:compliance_control_block)
+ @direct_compliance_controls = compliance_controls.delete nil
+ @blocks_to_compliance_controls_map = compliance_controls
+ end
end
diff --git a/app/controllers/rule_parameter_sets_controller.rb b/app/controllers/rule_parameter_sets_controller.rb
deleted file mode 100644
index de4863a08..000000000
--- a/app/controllers/rule_parameter_sets_controller.rb
+++ /dev/null
@@ -1,53 +0,0 @@
-class RuleParameterSetsController < InheritedResources::Base
- defaults :resource_class => RuleParameterSet
- respond_to :html
- respond_to :js, :only => [ :mode ]
-
- def new
- @rule_parameter_set = RuleParameterSet.default( current_organisation)
- new!
- end
-
- def destroy
- if current_organisation.rule_parameter_sets.count == 1
- flash[:alert] = t('rule_parameter_sets.destroy.last_rps_protected')
- redirect_to organisation_rule_parameter_sets_path
- else
- destroy! do |success, failure|
- success.html { redirect_to organisation_rule_parameter_sets_path }
- end
- end
- end
-
- def update
- update!(rule_parameter_set_params) do |success, failure|
- success.html { redirect_to organisation_rule_parameter_sets_path }
- end
- end
-
- def create
- create!(rule_parameter_set_params) do |success, failure|
- success.html { redirect_to organisation_rule_parameter_sets_path }
- end
- end
-
- protected
-
- alias_method :rule_parameter_set, :resource
-
- def collection
- @rule_parameter_sets = current_organisation.rule_parameter_sets
- end
-
- def create_resource(rule_parameter_sets)
- rule_parameter_sets.organisation = current_organisation
- super
- end
-
- private
-
- def rule_parameter_set_params
- params.require(:rule_parameter_set).permit(:organisation, :name, :inter_stop_area_distance_min, :parent_stop_area_distance_max, :stop_areas_area, :inter_access_point_distance_min, :inter_connection_link_distance_max, :walk_default_speed_max, :walk_occasional_traveller_speed_max, :walk_frequent_traveller_speed_max, :walk_mobility_restricted_traveller_speed_max, :inter_access_link_distance_max, :inter_stop_duration_max, :facility_stop_area_distance_max, :check_lines_in_groups, :check_line_routes, :check_stop_parent, :check_connection_link_on_physical, :check_allowed_transport_modes, :allowed_transport_mode_coach, :inter_stop_area_distance_min_mode_coach, :inter_stop_area_distance_max_mode_coach, :speed_max_mode_coach, :speed_min_mode_coach, :inter_stop_duration_variation_max_mode_coach, :allowed_transport_mode_air, :inter_stop_area_distance_min_mode_air, :inter_stop_area_distance_max_mode_air, :speed_max_mode_air, :speed_min_mode_air, :inter_stop_duration_variation_max_mode_air, :allowed_transport_mode_waterborne, :inter_stop_area_distance_min_mode_waterborne, :inter_stop_area_distance_max_mode_waterborne, :speed_max_mode_waterborne, :speed_min_mode_waterborne, :inter_stop_duration_variation_max_mode_waterborne, :allowed_transport_mode_bus, :inter_stop_area_distance_min_mode_bus, :inter_stop_area_distance_max_mode_bus, :speed_max_mode_bus, :speed_min_mode_bus, :inter_stop_duration_variation_max_mode_bus, :allowed_transport_mode_ferry, :inter_stop_area_distance_min_mode_ferry, :inter_stop_area_distance_max_mode_ferry, :speed_max_mode_ferry, :speed_min_mode_ferry, :inter_stop_duration_variation_max_mode_ferry, :allowed_transport_mode_walk, :inter_stop_area_distance_min_mode_walk, :inter_stop_area_distance_max_mode_walk, :speed_max_mode_walk, :speed_min_mode_walk, :inter_stop_duration_variation_max_mode_walk, :allowed_transport_mode_metro, :inter_stop_area_distance_min_mode_metro, :inter_stop_area_distance_max_mode_metro, :speed_max_mode_metro, :speed_min_mode_metro, :inter_stop_duration_variation_max_mode_metro, :allowed_transport_mode_shuttle, :inter_stop_area_distance_min_mode_shuttle, :inter_stop_area_distance_max_mode_shuttle, :speed_max_mode_shuttle, :speed_min_mode_shuttle, :inter_stop_duration_variation_max_mode_shuttle, :allowed_transport_mode_rapid_transit, :inter_stop_area_distance_min_mode_rapid_transit, :inter_stop_area_distance_max_mode_rapid_transit, :speed_max_mode_rapid_transit, :speed_min_mode_rapid_transit, :inter_stop_duration_variation_max_mode_rapid_transit, :allowed_transport_mode_taxi, :inter_stop_area_distance_min_mode_taxi, :inter_stop_area_distance_max_mode_taxi, :speed_max_mode_taxi, :speed_min_mode_taxi, :inter_stop_duration_variation_max_mode_taxi, :allowed_transport_mode_local_train, :inter_stop_area_distance_min_mode_local_train, :inter_stop_area_distance_max_mode_local_train, :speed_max_mode_local_train, :speed_min_mode_local_train, :inter_stop_duration_variation_max_mode_local_train, :allowed_transport_mode_train, :inter_stop_area_distance_min_mode_train, :inter_stop_area_distance_max_mode_train, :speed_max_mode_train, :speed_min_mode_train, :inter_stop_duration_variation_max_mode_train, :allowed_transport_mode_long_distance_train, :inter_stop_area_distance_min_mode_long_distance_train, :inter_stop_area_distance_max_mode_long_distance_train, :speed_max_mode_long_distance_train, :speed_min_mode_long_distance_train, :inter_stop_duration_variation_max_mode_long_distance_train, :allowed_transport_mode_tramway, :inter_stop_area_distance_min_mode_tramway, :inter_stop_area_distance_max_mode_tramway, :speed_max_mode_tramway, :speed_min_mode_tramway, :inter_stop_duration_variation_max_mode_tramway, :allowed_transport_mode_trolleybus, :inter_stop_area_distance_min_mode_trolleybus, :inter_stop_area_distance_max_mode_trolleybus, :speed_max_mode_trolleybus, :speed_min_mode_trolleybus, :inter_stop_duration_variation_max_mode_trolleybus, :allowed_transport_mode_private_vehicle, :inter_stop_area_distance_min_mode_private_vehicle, :inter_stop_area_distance_max_mode_private_vehicle, :speed_max_mode_private_vehicle, :speed_min_mode_private_vehicle, :inter_stop_duration_variation_max_mode_private_vehicle, :allowed_transport_mode_bicycle, :inter_stop_area_distance_min_mode_bicycle, :inter_stop_area_distance_max_mode_bicycle, :speed_max_mode_bicycle, :speed_min_mode_bicycle, :inter_stop_duration_variation_max_mode_bicycle, :allowed_transport_mode_other, :inter_stop_area_distance_min_mode_other, :inter_stop_area_distance_max_mode_other, :speed_max_mode_other, :speed_min_mode_other, :inter_stop_duration_variation_max_mode_other, :check_network, :unique_column_objectid_object_network, :pattern_column_objectid_object_network, :min_size_column_objectid_object_network, :max_size_column_objectid_object_network, :unique_column_name_object_network, :pattern_column_name_object_network, :min_size_column_name_object_network, :max_size_column_name_object_network, :unique_column_registration_number_object_network, :pattern_column_registration_number_object_network, :min_size_column_registration_number_object_network, :max_size_column_registration_number_object_network, :check_company, :unique_column_objectid_object_company, :pattern_column_objectid_object_company, :min_size_column_objectid_object_company, :max_size_column_objectid_object_company, :unique_column_name_object_company, :pattern_column_name_object_company, :min_size_column_name_object_company, :max_size_column_name_object_company, :unique_column_registration_number_object_company, :pattern_column_registration_number_object_company, :min_size_column_registration_number_object_company, :max_size_column_registration_number_object_company, :check_group_of_line, :unique_column_objectid_object_group_of_line, :pattern_column_objectid_object_group_of_line, :min_size_column_objectid_object_group_of_line, :max_size_column_objectid_object_group_of_line, :unique_column_name_object_group_of_line, :pattern_column_name_object_group_of_line, :min_size_column_name_object_group_of_line, :max_size_column_name_object_group_of_line, :unique_column_registration_number_object_group_of_line, :pattern_column_registration_number_object_group_of_line, :min_size_column_registration_number_object_group_of_line, :max_size_column_registration_number_object_group_of_line, :check_stop_area, :unique_column_objectid_object_stop_area, :pattern_column_objectid_object_stop_area, :min_size_column_objectid_object_stop_area, :max_size_column_objectid_object_stop_area, :unique_column_name_object_stop_area, :pattern_column_name_object_stop_area, :min_size_column_name_object_stop_area, :max_size_column_name_object_stop_area, :unique_column_registration_number_object_stop_area, :pattern_column_registration_number_object_stop_area, :min_size_column_registration_number_object_stop_area, :max_size_column_registration_number_object_stop_area, :unique_column_city_name_object_stop_area, :pattern_column_city_name_object_stop_area, :min_size_column_city_name_object_stop_area, :max_size_column_city_name_object_stop_area, :unique_column_country_code_object_stop_area, :pattern_column_country_code_object_stop_area, :min_size_column_country_code_object_stop_area, :max_size_column_country_code_object_stop_area, :unique_column_zip_code_object_stop_area, :pattern_column_zip_code_object_stop_area, :min_size_column_zip_code_object_stop_area, :max_size_column_zip_code_object_stop_area, :check_access_point, :unique_column_objectid_object_access_point, :pattern_column_objectid_object_access_point, :min_size_column_objectid_object_access_point, :max_size_column_objectid_object_access_point, :unique_column_name_object_access_point, :pattern_column_name_object_access_point, :min_size_column_name_object_access_point, :max_size_column_name_object_access_point, :unique_column_city_name_object_access_point, :pattern_column_city_name_object_access_point, :min_size_column_city_name_object_access_point, :max_size_column_city_name_object_access_point, :unique_column_country_code_object_access_point, :pattern_column_country_code_object_access_point, :min_size_column_country_code_object_access_point, :max_size_column_country_code_object_access_point, :unique_column_zip_code_object_access_point, :pattern_column_zip_code_object_access_point, :min_size_column_zip_code_object_access_point, :max_size_column_zip_code_object_access_point, :check_access_link, :unique_column_objectid_object_access_link, :pattern_column_objectid_object_access_link, :min_size_column_objectid_object_access_link, :max_size_column_objectid_object_access_link, :unique_column_name_object_access_link, :pattern_column_name_object_access_link, :min_size_column_name_object_access_link, :max_size_column_name_object_access_link, :unique_column_link_distance_object_access_link, :min_size_column_link_distance_object_access_link, :max_size_column_link_distance_object_access_link, :unique_column_default_duration_object_access_link, :min_size_column_default_duration_object_access_link, :max_size_column_default_duration_object_access_link, :check_connection_link, :unique_column_objectid_object_connection_link, :pattern_column_objectid_object_connection_link, :min_size_column_objectid_object_connection_link, :max_size_column_objectid_object_connection_link, :unique_column_name_object_connection_link, :pattern_column_name_object_connection_link, :min_size_column_name_object_connection_link, :max_size_column_name_object_connection_link, :unique_column_link_distance_object_connection_link, :min_size_column_link_distance_object_connection_link, :max_size_column_link_distance_object_connection_link, :unique_column_default_duration_object_connection_link, :min_size_column_default_duration_object_connection_link, :max_size_column_default_duration_object_connection_link, :check_time_table, :unique_column_objectid_object_time_table, :pattern_column_objectid_object_time_table, :min_size_column_objectid_object_time_table, :max_size_column_objectid_object_time_table, :unique_column_comment_object_time_table, :pattern_column_comment_object_time_table, :min_size_column_comment_object_time_table, :max_size_column_comment_object_time_table, :unique_column_version_object_time_table, :pattern_column_version_object_time_table, :min_size_column_version_object_time_table, :max_size_column_version_object_time_table, :check_line, :unique_column_objectid_object_line, :pattern_column_objectid_object_line, :min_size_column_objectid_object_line, :max_size_column_objectid_object_line, :unique_column_name_object_line, :pattern_column_name_object_line, :min_size_column_name_object_line, :max_size_column_name_object_line, :unique_column_registration_number_object_line, :pattern_column_registration_number_object_line, :min_size_column_registration_number_object_line, :max_size_column_registration_number_object_line, :unique_column_number_object_line, :pattern_column_number_object_line, :min_size_column_number_object_line, :max_size_column_number_object_line, :unique_column_published_name_object_line, :pattern_column_published_name_object_line, :min_size_column_published_name_object_line, :max_size_column_published_name_object_line, :check_route, :unique_column_objectid_object_route, :pattern_column_objectid_object_route, :min_size_column_objectid_object_route, :max_size_column_objectid_object_route, :unique_column_name_object_route, :pattern_column_name_object_route, :min_size_column_name_object_route, :max_size_column_name_object_route, :unique_column_number_object_route, :pattern_column_number_object_route, :min_size_column_number_object_route, :max_size_column_number_object_route, :unique_column_published_name_object_route, :pattern_column_published_name_object_route, :min_size_column_published_name_object_route, :max_size_column_published_name_object_route, :check_journey_pattern, :unique_column_objectid_object_journey_pattern, :pattern_column_objectid_object_journey_pattern, :min_size_column_objectid_object_journey_pattern, :max_size_column_objectid_object_journey_pattern, :unique_column_name_object_journey_pattern, :pattern_column_name_object_journey_pattern, :min_size_column_name_object_journey_pattern, :max_size_column_name_object_journey_pattern, :unique_column_registration_number_object_journey_pattern, :pattern_column_registration_number_object_journey_pattern, :min_size_column_registration_number_object_journey_pattern, :max_size_column_registration_number_object_journey_pattern, :unique_column_published_name_object_journey_pattern, :pattern_column_published_name_object_journey_pattern, :min_size_column_published_name_object_journey_pattern, :max_size_column_published_name_object_journey_pattern, :check_vehicle_journey, :unique_column_objectid_object_vehicle_journey, :pattern_column_objectid_object_vehicle_journey, :min_size_column_objectid_object_vehicle_journey, :max_size_column_objectid_object_vehicle_journey, :unique_column_published_journey_name_object_vehicle_journey, :pattern_column_published_journey_name_object_vehicle_journey, :min_size_column_published_journey_name_object_vehicle_journey, :max_size_column_published_journey_name_object_vehicle_journey, :unique_column_published_journey_identifier_object_vehicle_journey, :pattern_column_published_journey_identifier_object_vehicle_journey, :min_size_column_published_journey_identifier_object_vehicle_journey, :max_size_column_published_journey_identifier_object_vehicle_journey, :unique_column_number_object_vehicle_journey, :min_size_column_number_object_vehicle_journey, :max_size_column_number_object_vehicle_journey)
- end
-end
-
diff --git a/app/decorators/compliance_check_decorator.rb b/app/decorators/compliance_check_decorator.rb
new file mode 100644
index 000000000..5431f5796
--- /dev/null
+++ b/app/decorators/compliance_check_decorator.rb
@@ -0,0 +1,8 @@
+class ComplianceCheckDecorator < Draper::Decorator
+ delegate_all
+
+ def action_links
+ []
+ end
+
+end
diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb
index 9f2e2765f..0a7b0fb75 100644
--- a/app/helpers/application_helper.rb
+++ b/app/helpers/application_helper.rb
@@ -73,8 +73,6 @@ module ApplicationHelper
"time_tables"
when path.include?("/timebands")
"timebands"
- when path.include?("/rule_parameter_set")
- "parametersets"
when path.include?("/import_tasks")
"imports"
when path.include?("/exports")
diff --git a/app/helpers/compliance_check_blocks_helper.rb b/app/helpers/compliance_check_blocks_helper.rb
new file mode 100644
index 000000000..b4d858b07
--- /dev/null
+++ b/app/helpers/compliance_check_blocks_helper.rb
@@ -0,0 +1,3 @@
+module ComplianceCheckBlocksHelper
+ include TransportModeHelper
+end
diff --git a/app/helpers/compliance_check_sets_helper.rb b/app/helpers/compliance_check_sets_helper.rb
new file mode 100644
index 000000000..fc7165fed
--- /dev/null
+++ b/app/helpers/compliance_check_sets_helper.rb
@@ -0,0 +1,16 @@
+module ComplianceCheckSetsHelper
+ def compliance_check_set_path(compliance_check_set)
+ workbench_compliance_check_set_path(compliance_check_set.workbench, compliance_check_set)
+ end
+
+ def executed_compliance_check_set_path(compliance_check_set)
+ executed_workbench_compliance_check_set_path(compliance_check_set.workbench, compliance_check_set)
+ end
+
+ def compliance_check_path(compliance_check)
+ workbench_compliance_check_set_compliance_check_path(
+ compliance_check.compliance_check_set.workbench,
+ compliance_check.compliance_check_set,
+ compliance_check)
+ end
+end
diff --git a/app/helpers/compliance_control_blocks_helper.rb b/app/helpers/compliance_control_blocks_helper.rb
index 311e6fb46..b53ac17ae 100644
--- a/app/helpers/compliance_control_blocks_helper.rb
+++ b/app/helpers/compliance_control_blocks_helper.rb
@@ -1,5 +1,5 @@
module ComplianceControlBlocksHelper
- def transport_mode(transport_mode, transport_submode)
+ def compliance_transport_mode(transport_mode, transport_submode)
return "[Tous les modes de transport]" if transport_mode == ""
if transport_submode == ""
"[" + t("enumerize.transport_mode.#{transport_mode}") + "]"
diff --git a/app/helpers/referentials_helper.rb b/app/helpers/referentials_helper.rb
index f3c18d9f8..01e5a5879 100644
--- a/app/helpers/referentials_helper.rb
+++ b/app/helpers/referentials_helper.rb
@@ -1,12 +1,13 @@
module ReferentialsHelper
- # Line statuses helper
+ # Outputs a green check icon and the text "Oui" or a red exclamation mark
+ # icon and the text "Non" based on `status`
def line_status(status)
if status
- cls = 'danger'
- content_tag :span, status ? " #{t('false')} " : " #{t('true')}", class: "fa fa-exclamation-circle fa-lg text-#{cls}"
+ content_tag(:span, nil, class: 'fa fa-exclamation-circle fa-lg text-danger') +
+ t('false')
else
- cls = 'success'
- content_tag :span, status ? " #{t('false')} " : " #{t('true')}", class: "fa fa-check-circle fa-lg text-#{cls}"
+ content_tag(:span, nil, class: 'fa fa-check-circle fa-lg text-success') +
+ t('true')
end
end
end
diff --git a/app/helpers/rule_parameter_sets_helper.rb b/app/helpers/rule_parameter_sets_helper.rb
deleted file mode 100644
index bb210d9cd..000000000
--- a/app/helpers/rule_parameter_sets_helper.rb
+++ /dev/null
@@ -1,28 +0,0 @@
-module RuleParameterSetsHelper
-
- def unique( value)
- return t("true") if value == "1"
- t "false"
- end
-
- def pattern(value)
- return t("rule_parameter_sets.labels.free_char") if value == "0"
- return t("rule_parameter_sets.labels.num_char") if value == "1"
- return t("rule_parameter_sets.labels.alpha_char") if value == "2"
- return t("rule_parameter_sets.labels.upper_char") if value == "3"
- return t("rule_parameter_sets.labels.lower_char") if value == "4"
- end
-
- def boolean_value(value)
- return t("true") if value == "1"
- t "false"
- end
-
- def transport_mode_label_pairs
- Chouette::TransportMode
- .all
- .zip_map { |mode| t("transport_modes.label.#{mode}") }
- end
-end
-
-
diff --git a/app/helpers/transport_mode_helper.rb b/app/helpers/transport_mode_helper.rb
new file mode 100644
index 000000000..7a486fc2d
--- /dev/null
+++ b/app/helpers/transport_mode_helper.rb
@@ -0,0 +1,16 @@
+module TransportModeHelper
+ def transport_mode_text(transport_modable=nil)
+ mode = transport_modable.try(:transport_mode)
+ return "[Tous les modes de transport]" if mode.blank?
+
+ submode = transport_modable.try(:transport_submode)
+ [translated_mode_name(:mode, mode), translated_mode_name(:submode, submode)].join
+ end
+
+ private
+ def translated_mode_name mode_type, value
+ return "" if value.blank?
+ "[#{I18n.t("enumerize.transport_#{mode_type}.#{value}")}]"
+ end
+
+end
diff --git a/app/models/compliance_check_block.rb b/app/models/compliance_check_block.rb
index ee60a8bb1..05240b428 100644
--- a/app/models/compliance_check_block.rb
+++ b/app/models/compliance_check_block.rb
@@ -1,5 +1,13 @@
class ComplianceCheckBlock < ActiveRecord::Base
+ include StifTransportModeEnumerations
+ include StifTransportSubmodeEnumerations
+
belongs_to :compliance_check_set
has_many :compliance_checks
+
+ hstore_accessor :condition_attributes,
+ transport_mode: :string,
+ transport_submode: :string
+
end
diff --git a/app/models/compliance_control_block.rb b/app/models/compliance_control_block.rb
index 5721c00f4..cfcdfd1a6 100644
--- a/app/models/compliance_control_block.rb
+++ b/app/models/compliance_control_block.rb
@@ -1,6 +1,6 @@
class ComplianceControlBlock < ActiveRecord::Base
- extend StifTransportModeEnumerations
- extend StifTransportSubmodeEnumerations
+ include StifTransportModeEnumerations
+ include StifTransportSubmodeEnumerations
belongs_to :compliance_control_set
has_many :compliance_controls, dependent: :destroy
diff --git a/app/models/concerns/stif_transport_mode_enumerations.rb b/app/models/concerns/stif_transport_mode_enumerations.rb
index c2d38c2c6..74621dfc5 100644
--- a/app/models/concerns/stif_transport_mode_enumerations.rb
+++ b/app/models/concerns/stif_transport_mode_enumerations.rb
@@ -1,19 +1,18 @@
module StifTransportModeEnumerations
extend ActiveSupport::Concern
- extend Enumerize
- extend self
- enumerize :transport_mode, in: %w(bus
- metro
- rail
- tram
- funicular)
-
- def transport_modes
- StifTransportModeEnumerations.transport_mode.values
+ class << self
+ def transport_modes
+ %w(bus metro rail tram funicular)
+ end
+ def sorted_transport_modes
+ transport_modes.sort_by{|m| I18n.t("enumerize.transport_mode.#{m}").parameterize }
+ end
end
-
- def sorted_transport_modes
- self.transport_modes.sort_by{|m| I18n.t("enumerize.transport_mode.#{m}").parameterize }
+
+ included do
+ extend Enumerize
+ enumerize :transport_mode, in: StifTransportModeEnumerations.transport_modes
end
+
end
diff --git a/app/models/concerns/stif_transport_submode_enumerations.rb b/app/models/concerns/stif_transport_submode_enumerations.rb
index cf314badd..eb3e56eac 100644
--- a/app/models/concerns/stif_transport_submode_enumerations.rb
+++ b/app/models/concerns/stif_transport_submode_enumerations.rb
@@ -1,24 +1,28 @@
module StifTransportSubmodeEnumerations
extend ActiveSupport::Concern
- extend Enumerize
- extend self
- enumerize :transport_submode, in: %w(demandAndResponseBus
- nightBus
- airportLinkBus
- highFrequencyBus
- expressBus
- railShuttle
- suburbanRailway
- regionalRail
- interregionalRail
-)
+ class << self
+ def transport_submodes
+ %w(
+ demandAndResponseBus
+ nightBus
+ airportLinkBus
+ highFrequencyBus
+ expressBus
+ railShuttle
+ suburbanRailway
+ regionalRail
+ interregionalRail)
+ end
- def transport_submodes
- StifTransportSubmodeEnumerations.transport_submode.values
+ def sorted_transport_submodes
+ transport_submodes.sort_by{|m| I18n.t("enumerize.transport_submode.#{m}").parameterize }
+ end
end
- def sorted_transport_submodes
- self.transport_submodes.sort_by{|m| I18n.t("enumerize.transport_submode.#{m}").parameterize }
+ included do
+ extend Enumerize
+ enumerize :transport_submode, in: StifTransportSubmodeEnumerations.transport_submodes
end
+
end
diff --git a/app/models/import_task.rb b/app/models/import_task.rb
index 0e1ab65be..7dfa2c644 100644
--- a/app/models/import_task.rb
+++ b/app/models/import_task.rb
@@ -12,7 +12,7 @@ class ImportTask
cattr_accessor :root
enumerize :data_format, in: %w( neptune netex gtfs )
- attr_accessor :rule_parameter_set_id, :referential_id, :user_id, :user_name, :data_format, :resources, :name, :no_save
+ attr_accessor :referential_id, :user_id, :user_name, :data_format, :resources, :name, :no_save
validates_presence_of :referential_id
validates_presence_of :resources
@@ -34,10 +34,6 @@ class ImportTask
referential.organisation
end
- def rule_parameter_set
- organisation.rule_parameter_sets.find(rule_parameter_set_id) if rule_parameter_set_id.present?
- end
-
def save
if valid?
# Save resources
@@ -68,20 +64,10 @@ class ImportTask
def params
{}.tap do |h|
- h["parameters"] = validation_params ? action_params.merge(validation_params) : action_params
+ h["parameters"] = {}
end
end
- def action_params
- {}
- end
-
- def validation_params
- {
- "validation" => rule_parameter_set.parameters
- } if rule_parameter_set.present?
- end
-
def self.data_formats
self.data_format.values
end
diff --git a/app/models/netex_import.rb b/app/models/netex_import.rb
index 32939a741..a7a5bb9b8 100644
--- a/app/models/netex_import.rb
+++ b/app/models/netex_import.rb
@@ -1,19 +1,36 @@
require 'net/http'
class NetexImport < Import
+ before_destroy :destroy_non_ready_referential
+
after_commit :launch_java_import, on: :create
+ before_save def abort_unless_referential
+ self.status = 'aborted' unless referential
+ end
validates_presence_of :parent
def launch_java_import
return if self.class.finished_statuses.include?(status)
+ threaded_call_boiv_iev
+ end
- Thread.new do
- begin
- Net::HTTP.get(URI("#{Rails.configuration.iev_url}/boiv_iev/referentials/importer/new?id=#{id}"))
- rescue Exception => e
- logger.error "IEV server error : #{e.message}"
- logger.error e.backtrace.inspect
- end
+ private
+
+ def destroy_non_ready_referential
+ if referential && !referential.ready
+ referential.destroy
end
end
+
+ def threaded_call_boiv_iev
+ Thread.new(&method(:call_boiv_iev))
+ end
+
+ def call_boiv_iev
+ Net::HTTP.get(URI("#{Rails.configuration.iev_url}/boiv_iev/referentials/importer/new?id=#{id}"))
+ rescue Exception => e
+ logger.error "IEV server error : #{e.message}"
+ logger.error e.backtrace.inspect
+ end
+
end
diff --git a/app/models/organisation.rb b/app/models/organisation.rb
index 6104b4431..f6fba2d67 100644
--- a/app/models/organisation.rb
+++ b/app/models/organisation.rb
@@ -3,7 +3,6 @@ class Organisation < ActiveRecord::Base
has_many :users, :dependent => :destroy
has_many :referentials, :dependent => :destroy
- # has_many :rule_parameter_sets, :dependent => :destroy
has_many :compliance_control_sets, :dependent => :destroy
has_many :stop_area_referential_memberships
@@ -19,12 +18,6 @@ class Organisation < ActiveRecord::Base
validates_presence_of :name
validates_uniqueness_of :code
- # after_create :add_rule_parameter_set
-
- # def add_rule_parameter_set
- # RuleParameterSet.default_for_all_modes( self).save
- # end
-
def self.portail_api_request
conf = Rails.application.config.try(:stif_portail_api)
raise 'Rails.application.config.stif_portail_api configuration is not defined' unless conf
@@ -62,6 +55,7 @@ class Organisation < ActiveRecord::Base
organisation_referential = referentials.find_by id: referential_id
return organisation_referential if organisation_referential
+ # TODO: Replace each with find
workbenches.each do |workbench|
workbench_referential = workbench.all_referentials.find_by id: referential_id
return workbench_referential if workbench_referential
diff --git a/app/models/rule_parameter_set.rb b/app/models/rule_parameter_set.rb
deleted file mode 100644
index 91e575822..000000000
--- a/app/models/rule_parameter_set.rb
+++ /dev/null
@@ -1,392 +0,0 @@
-class RuleParameterSet < ActiveRecord::Base
- belongs_to :organisation
-
- #validates_presence_of :referential
- validates_presence_of :name
-
- # Access to parent object
- attr_accessor :import, :compliance_check
-
- serialize :parameters, JSON
-
- def self.mode_attribute_prefixes
- %w( allowed_transport inter_stop_area_distance_min inter_stop_area_distance_max speed_max speed_min inter_stop_duration_variation_max)
- end
- def self.general_attributes
- %w( inter_stop_area_distance_min parent_stop_area_distance_max stop_areas_area inter_access_point_distance_min
- inter_connection_link_distance_max walk_default_speed_max
- walk_occasional_traveller_speed_max walk_frequent_traveller_speed_max walk_mobility_restricted_traveller_speed_max
- inter_access_link_distance_max inter_stop_duration_max facility_stop_area_distance_max
- check_allowed_transport_modes check_lines_in_groups check_line_routes
- check_stop_parent check_connection_link_on_physical)
- end
-
- def self.validable_objects
- [Chouette::Network,Chouette::Company,Chouette::GroupOfLine,
- Chouette::StopArea,Chouette::AccessPoint,Chouette::AccessLink,Chouette::ConnectionLink,
- Chouette::TimeTable,Chouette::Line,Chouette::Route,
- Chouette::JourneyPattern,Chouette::VehicleJourney]
- end
-
- def self.validable_object_names
- %w( network company group_of_line stop_area access_point access_link connection_link time_table line route
- journey_pattern vehicle_journey )
- end
-
- def self.validable_columns
- { 'network' => ['objectid','name','registration_number'],
- 'company' => ['objectid','name','registration_number'],
- 'group_of_line' => ['objectid','name','registration_number'],
- 'stop_area' => ['objectid','name','registration_number','city_name','country_code','zip_code'],
- 'access_point' => ['objectid','name','city_name','country_code','zip_code'],
- 'access_link' => ['objectid','name','link_distance','default_duration'],
- 'connection_link' => ['objectid','name','link_distance','default_duration'],
- 'time_table' => ['objectid','comment','version'],
- 'line' => ['objectid','name','registration_number','number','published_name'],
- 'route' => ['objectid','name','number','published_name'],
- 'journey_pattern' => ['objectid','name','registration_number','published_name'],
- 'vehicle_journey' => ['objectid','published_journey_name','published_journey_identifier','number'] }
- end
-
- @@objects_by_name = Hash[[validable_object_names, validable_objects].transpose].freeze
-
- def self.validable_object_class(object_name)
- @@objects_by_name[object_name]
- end
-
- def self.validable_column_type(object_name, column)
- if object_class = validable_object_class(object_name)
- object_class.columns_hash[column].try(:type)
- end
- end
-
- def self.column_attribute_prefixes
- %w( unique pattern min_size max_size )
- end
-
- def self.all_modes
- ["interchange",
- "unknown",
- "coach",
- "air",
- "waterborne",
- "bus",
- "ferry",
- "walk",
- "metro",
- "shuttle",
- "rapid_transit",
- "taxi",
- "local_train",
- "train",
- "long_distance_train",
- "tramway",
- "trolleybus",
- "private_vehicle",
- "bicycle",
- "other"]
- end
-
- def self.mode_attribute?( method_name )
- pattern = /(\w+)_mode_(\w+)/
- return false unless method_name.match( pattern)
-
- mode_attribute_prefixes.include?( $1) && self.class.all_modes.include?( $2)
- end
-
- def self.column_attribute?( method_name )
- pattern = /(\w+)_column_(\w+)_object_(\w+)/
- return false unless method_name.match( pattern)
- return false unless validable_object_names.include?($3)
- column_attribute_prefixes.include?( $1) && validable_columns[$3].include?( $2)
- end
-
- def self.mode_of_mode_attribute( method_name )
- method_name.match( /(\w+)_mode_(\w+)/)
- $2
- end
- def self.attribute_of_mode_attribute( method_name )
- method_name.match( /(\w+)_mode_(\w+)/)
- $1
- end
-
- def self.object_of_column_attribute( method_name )
- method_name.match( /(\w+)_column_(\w+)_object_(\w+)/)
- $3
- end
- def self.column_of_column_attribute( method_name )
- method_name.match( /(\w+)_column_(\w+)_object_(\w+)/)
- $2
- end
- def self.attribute_of_column_attribute( method_name )
- method_name.match( /(\w+)_column_(\w+)_object_(\w+)/)
- $1
- end
-
-
- def self.mode_parameter(name)
- name = name.to_s
- #attr_accessible name
-
- define_method(name) do
- attribute_name, mode = RuleParameterSet.attribute_of_mode_attribute( name), RuleParameterSet.mode_of_mode_attribute( name)
- self.parameters and self.parameters["mode_#{mode}"] and
- self.parameters["mode_#{mode}"][attribute_name]
- end
-
- define_method("#{name}=") do |prefix|
- attribute_name, mode = RuleParameterSet.attribute_of_mode_attribute( name), RuleParameterSet.mode_of_mode_attribute( name)
- ((self.parameters ||= {})["mode_#{mode}"] ||= {})[attribute_name] = prefix
- end
- end
-
- def self.column_parameter(obj,column,prefix)
- name = "#{prefix}_column_#{column}_object_#{obj}"
- #attr_accessible name
- define_method(name) do
- attribute_name, column, obj = prefix, column, obj
- self.parameters and self.parameters[obj] and
- self.parameters[obj][column] and self.parameters[obj][column][attribute_name]
- end
-
- define_method("#{name}=") do |key|
- attribute_name, column, obj = prefix, column, obj
- (((self.parameters ||= {})[obj] ||= {})[column]||= {})[attribute_name] = key
- end
-
- end
-
- def self.object_parameter(clazz)
- name = clazz.table_name.singularize
- #attr_accessible name
-
- parameter "check_#{clazz.table_name.singularize}"
- validable_columns[name].each do |column|
- column_attribute_prefixes.each do |prefix|
- column_parameter name,column,prefix
- end
-
- end
-
- end
-
- def self.parameter(name)
- name = name.to_s
- #attr_accessible name
-
- define_method(name) do
- self.parameters and self.parameters[name]
- end
-
- define_method("#{name}=") do |prefix|
- (self.parameters ||= {})[name] = prefix
- end
- end
-
- def self.default_params(mode=nil)
- base = { :inter_stop_area_distance_min => 20,
- :parent_stop_area_distance_max => 300,
- :inter_access_point_distance_min => 20,
- :inter_connection_link_distance_max => 400,
- :walk_default_speed_max => 4,
- :walk_occasional_traveller_speed_max => 2,
- :walk_frequent_traveller_speed_max => 5,
- :walk_mobility_restricted_traveller_speed_max => 1,
- :inter_access_link_distance_max => 300,
- :inter_stop_duration_max => 40,
- :facility_stop_area_distance_max => 300,
- :check_allowed_transport_modes => false,
- :check_lines_in_groups => false,
- :check_line_routes => false,
- :check_stop_parent => false,
- :check_connection_link_on_physical => false
- }
- if mode && self.mode_default_params[ mode.to_sym]
- base.merge!( self.mode_default_params[ mode.to_sym])
- end
- base
- end
- def self.mode_default_params
- {
- :coach => {
- :allowed_transport_mode_coach => false,
- :inter_stop_area_distance_min_mode_coach => 500,
- :inter_stop_area_distance_max_mode_coach => 10000,
- :speed_max_mode_coach => 90,
- :speed_min_mode_coach => 40,
- :inter_stop_duration_variation_max_mode_coach => 20},
- :air => {
- :allowed_transport_mode_air => false,
- :inter_stop_area_distance_min_mode_air => 200,
- :inter_stop_area_distance_max_mode_air => 10000,
- :speed_max_mode_air => 800,
- :speed_min_mode_air => 700,
- :inter_stop_duration_variation_max_mode_air => 60},
- :waterborne => {
- :allowed_transport_mode_waterborne => false,
- :inter_stop_area_distance_min_mode_waterborne => 200,
- :inter_stop_area_distance_max_mode_waterborne => 10000,
- :speed_max_mode_waterborne => 40,
- :speed_min_mode_waterborne => 5,
- :inter_stop_duration_variation_max_mode_waterborne => 60},
- :bus => {
- :allowed_transport_mode_bus => false,
- :inter_stop_area_distance_min_mode_bus => 100,
- :inter_stop_area_distance_max_mode_bus => 10000,
- :speed_max_mode_bus => 60,
- :speed_min_mode_bus => 10,
- :inter_stop_duration_variation_max_mode_bus => 15},
- :ferry => {
- :allowed_transport_mode_ferry => false,
- :inter_stop_area_distance_min_mode_ferry => 200,
- :inter_stop_area_distance_max_mode_ferry => 10000,
- :speed_max_mode_ferry => 40,
- :speed_min_mode_ferry => 5,
- :inter_stop_duration_variation_max_mode_ferry => 60},
- :walk => {
- :allowed_transport_mode_walk => false,
- :inter_stop_area_distance_min_mode_walk => 1,
- :inter_stop_area_distance_max_mode_walk => 10000,
- :speed_max_mode_walk => 6,
- :speed_min_mode_walk => 1,
- :inter_stop_duration_variation_max_mode_walk => 10},
- :metro => {
- :allowed_transport_mode_metro => false,
- :inter_stop_area_distance_min_mode_metro => 300,
- :inter_stop_area_distance_max_mode_metro => 2000,
- :speed_max_mode_metro => 60,
- :speed_min_mode_metro => 30,
- :inter_stop_duration_variation_max_mode_metro => 30},
- :shuttle => {
- :allowed_transport_mode_shuttle => false,
- :inter_stop_area_distance_min_mode_shuttle => 500,
- :inter_stop_area_distance_max_mode_shuttle => 10000,
- :speed_max_mode_shuttle => 80,
- :speed_min_mode_shuttle => 20,
- :inter_stop_duration_variation_max_mode_shuttle => 10},
- :rapid_transit => {
- :allowed_transport_mode_rapid_transit => false,
- :inter_stop_area_distance_min_mode_rapid_transit => 2000,
- :inter_stop_area_distance_max_mode_rapid_transit => 500000,
- :speed_max_mode_rapid_transit => 300,
- :speed_min_mode_rapid_transit => 20,
- :inter_stop_duration_variation_max_mode_rapid_transit => 60},
- :taxi => {
- :allowed_transport_mode_taxi => false,
- :inter_stop_area_distance_min_mode_taxi => 500,
- :inter_stop_area_distance_max_mode_taxi => 300000,
- :speed_max_mode_taxi => 130,
- :speed_min_mode_taxi => 20,
- :inter_stop_duration_variation_max_mode_taxi => 60},
- :local_train => {
- :allowed_transport_mode_local_train => false,
- :inter_stop_area_distance_min_mode_local_train => 2000,
- :inter_stop_area_distance_max_mode_local_train => 500000,
- :speed_max_mode_local_train => 300,
- :speed_min_mode_local_train => 20,
- :inter_stop_duration_variation_max_mode_local_train => 60},
- :train => {
- :allowed_transport_mode_train => false,
- :inter_stop_area_distance_min_mode_train => 2000,
- :inter_stop_area_distance_max_mode_train => 500000,
- :speed_max_mode_train => 300,
- :speed_min_mode_train => 20,
- :inter_stop_duration_variation_max_mode_train => 60},
- :long_distance_train => {
- :allowed_transport_mode_long_distance_train => false,
- :inter_stop_area_distance_min_mode_long_distance_train => 2000,
- :inter_stop_area_distance_max_mode_long_distance_train => 500000,
- :speed_max_mode_long_distance_train => 300,
- :speed_min_mode_long_distance_train => 20,
- :inter_stop_duration_variation_max_mode_long_distance_train => 60},
- :tramway => {
- :allowed_transport_mode_tramway => false,
- :inter_stop_area_distance_min_mode_tramway => 300,
- :inter_stop_area_distance_max_mode_tramway => 2000,
- :speed_max_mode_tramway => 50,
- :speed_min_mode_tramway => 20,
- :inter_stop_duration_variation_max_mode_tramway => 30},
- :trolleybus => {
- :allowed_transport_mode_trolleybus => false,
- :inter_stop_area_distance_min_mode_trolleybus => 300,
- :inter_stop_area_distance_max_mode_trolleybus => 2000,
- :speed_max_mode_trolleybus => 50,
- :speed_min_mode_trolleybus => 20,
- :inter_stop_duration_variation_max_mode_trolleybus => 30},
- :private_vehicle => {
- :allowed_transport_mode_private_vehicle => false,
- :inter_stop_area_distance_min_mode_private_vehicle => 500,
- :inter_stop_area_distance_max_mode_private_vehicle => 300000,
- :speed_max_mode_private_vehicle => 130,
- :speed_min_mode_private_vehicle => 20,
- :inter_stop_duration_variation_max_mode_private_vehicle => 60},
- :bicycle => {
- :allowed_transport_mode_bicycle => false,
- :inter_stop_area_distance_min_mode_bicycle => 300,
- :inter_stop_area_distance_max_mode_bicycle => 30000,
- :speed_max_mode_bicycle => 40,
- :speed_min_mode_bicycle => 10,
- :inter_stop_duration_variation_max_mode_bicycle => 10},
- :other => {
- :allowed_transport_mode_other => false,
- :inter_stop_area_distance_min_mode_other => 300,
- :inter_stop_area_distance_max_mode_other => 30000,
- :speed_max_mode_other => 40,
- :speed_min_mode_other => 10,
- :inter_stop_duration_variation_max_mode_other => 10},
- }
- # :waterborne, :bus, :ferry, :walk, :metro, :shuttle, :rapidtransit, :taxi, :localtrain, :train, :longdistancetrain, :tramway, :trolleybus, :privatevehicle, :bicycle, :other
- end
- def self.default(organisation)
- self.default_for_all_modes(organisation).tap do |rps|
- rps.name = ""
- end
- end
- def self.default_for_all_modes(organisation)
- mode_attributes = mode_default_params.values.inject(self.default_params){|memo, obj| memo.merge! obj}
- self.new(
- { :organisation_id => organisation.id,
- :name => "valeurs par defaut"
- }.merge(mode_attributes))
- end
-
- def allowed(mode)
- return true unless self.check_allowed_transport_modes == "1"
- # puts "#{mode} = "+self.send("allowed_transport_mode_#{mode}").to_s
- return self.send("allowed_transport_mode_#{mode}") == "1"
- end
-
- def selected(object)
- # puts "#{mode} = "+self.send("allowed_transport_mode_#{mode}").to_s
- return self.send("check_#{object}") == "1"
- end
-
- def selected_column(object,column)
- # puts "#{mode} = "+self.send("allowed_transport_mode_#{mode}").to_s
- return self.send("unique_column_#{column}_object_#{object}") == "1" ||
- self.send("pattern_column_#{column}_object_#{object}") != "0" ||
- !self.send("min_size_column_#{column}_object_#{object}").empty? ||
- !self.send("max_size_column_#{column}_object_#{object}").empty?
- end
-
-
- all_modes.each do |mode|
- mode_attribute_prefixes.each do |prefix|
- mode_parameter "#{prefix}_mode_#{mode}".to_sym
- end
- end
-
- general_attributes.each do |attribute|
- parameter attribute.to_sym
- unless attribute == "stop_areas_area" || attribute == "check_allowed_transport_modes"
- validates attribute.to_sym, :numericality => true, :allow_nil => true, :allow_blank => true
- end
- end
-
-
- validable_objects.each do |obj|
- object_parameter obj
- end
-
-
-end
diff --git a/app/views/compliance_check_sets/executed.html.slim b/app/views/compliance_check_sets/executed.html.slim
new file mode 100644
index 000000000..bb055272d
--- /dev/null
+++ b/app/views/compliance_check_sets/executed.html.slim
@@ -0,0 +1,84 @@
+- breadcrumb :compliance_check_set, @workbench, @compliance_check_set
+/ PageHeader
+= pageheader 'jeux-de-donnees',
+ t('compliance_check_sets.executed.title', name: @compliance_check_set.name)
+/ PageContent
+.page_content
+ .container-fluid
+ .row
+ .col-lg-6.col-md-6.col-sm-12.col-xs-12
+ = definition_list t('metadatas'),
+ ComplianceCheckSet.human_attribute_name(:name) => @compliance_check_set.name
+
+ - if params[:q].present? || @blocks_to_compliance_checks_map.any? || @direct_compliance_checks
+ .row
+ .col-lg-12
+ = render '/compliance_checks/filters'
+
+ - if @direct_compliance_checks.try(:any?)
+ .row
+ .col-lg-12
+ h2
+ = transport_mode_text()
+ .row
+ .col-lg-12
+ = table_builder_2 @direct_compliance_checks,
+ [ \
+ TableBuilderHelper::Column.new( \
+ key: :code, \
+ attribute: 'code' \
+ ), \
+ TableBuilderHelper::Column.new( \
+ key: :name, \
+ attribute: 'name', \
+ link_to: lambda do |compliance_check| \
+ compliance_check_path(compliance_check) \
+ end \
+ ), \
+ TableBuilderHelper::Column.new( \
+ key: :criticity, \
+ attribute: 'criticity' \
+ ), \
+ TableBuilderHelper::Column.new( \
+ key: :comment, \
+ attribute: 'comment' \
+ ), \
+ ],
+ sortable: true,
+ cls: 'table has-filter has-search',
+ model: ComplianceCheck
+
+ - @blocks_to_compliance_checks_map.each do |block, compliance_checks|
+
+ - if compliance_checks.try(:any?)
+ .row
+ .col-lg-12
+ h2
+ = transport_mode_text(block)
+ .row
+ .col-lg-12
+ = table_builder_2 compliance_checks,
+ [ \
+ TableBuilderHelper::Column.new( \
+ key: :code, \
+ attribute: 'code' \
+ ), \
+ TableBuilderHelper::Column.new( \
+ key: :name, \
+ attribute: 'name', \
+ link_to: lambda do |compliance_check| \
+ compliance_check_path(compliance_check) \
+ end \
+ ), \
+ TableBuilderHelper::Column.new( \
+ key: :criticity, \
+ attribute: 'criticity' \
+ ), \
+ TableBuilderHelper::Column.new( \
+ key: :comment, \
+ attribute: 'comment' \
+ ), \
+ ],
+ sortable: true,
+ cls: 'table has-filter has-search',
+ model: ComplianceCheck
diff --git a/app/views/compliance_check_sets/show.html.slim b/app/views/compliance_check_sets/show.html.slim
deleted file mode 100644
index eefa5363f..000000000
--- a/app/views/compliance_check_sets/show.html.slim
+++ /dev/null
@@ -1,12 +0,0 @@
-- breadcrumb :compliance_check_set, @workbench, @compliance_check_set
-/ PageHeader
-= pageheader 'jeux-de-donnees',
- @compliance_check_set.referential.name
-/ PageContent
-.page_content
- .container-fluid
- .row
- .col-lg-6.col-md-6.col-sm-12.col-xs-12
- = definition_list t('metadatas'),
- ComplianceCheckSet.human_attribute_name(:id) => @compliance_check_set.referential.id,
- ComplianceCheckSet.human_attribute_name(:name) => @compliance_check_set.referential.name
diff --git a/app/views/compliance_checks/_filters.html.slim b/app/views/compliance_checks/_filters.html.slim
new file mode 100644
index 000000000..0d747da27
--- /dev/null
+++ b/app/views/compliance_checks/_filters.html.slim
@@ -0,0 +1,47 @@
+/ Compliance Check Filter
+= search_form_for @q_checks_form,
+ url: executed_compliance_check_set_path(@compliance_check_set),
+ builder: SimpleForm::FormBuilder,
+ class: 'form form-filter' do |f|
+
+ .ffg-row
+ .input-group.search_bar
+ = f.search_field :name_cont,
+ class: 'form-control',
+ placeholder: t('compliance_checks.filters.name')
+ span.input-group-btn
+ button.btn.btn-default type='submit'
+ span.fa.fa-search
+
+ .ffg-row
+ .form-group.togglable#compliance_check_block-filter
+ = f.label t('activerecord.models.compliance_check_block.one'), required: false, class: 'control-label'
+ = f.input :compliance_check_block_id_eq_any,
+ collection: @compliance_check_set.compliance_check_blocks,
+ as: :check_boxes,
+ label: false,
+ label_method: lambda {|w| ("<span>#{transport_mode_text(w)}</span>").html_safe},
+ required: false,
+ wrapper_html: {class: 'checkbox_list'}
+ .form-group.togglable#subclass-filter
+ = f.label t('compliance_checks.filters.subclass'), required: false, class: 'control-label'
+ = f.input :origin_code_cont_any,
+ collection: subclass_selection_list,
+ as: :check_boxes,
+ label: false,
+ label_method: lambda {|w| ("<span>#{w.first}</span>").html_safe},
+ required: false,
+ wrapper_html: {class: 'checkbox_list'}
+ .form-group.togglable#severity-filter
+ = f.label t('compliance_checks.filters.criticity'), required: false, class: 'control-label'
+ = f.input :criticity_eq_any,
+ collection: ComplianceControl.criticities,
+ as: :check_boxes,
+ label: false,
+ label_method: lambda {|w| ("<span>#{w}</span>").html_safe},
+ required: false,
+ wrapper_html: {class: 'checkbox_list'}
+
+ .actions
+ = link_to t('actions.erase'), executed_compliance_check_set_path(@compliance_check_set), class: 'btn btn-link'
+ = f.submit t('actions.filter'), class: 'btn btn-default', id: 'compliance_check_set_compliance_checks_filter_btn'
diff --git a/app/views/compliance_control_sets/show.html.slim b/app/views/compliance_control_sets/show.html.slim
index 2bd663578..71b71f842 100644
--- a/app/views/compliance_control_sets/show.html.slim
+++ b/app/views/compliance_control_sets/show.html.slim
@@ -1,8 +1,7 @@
- breadcrumb :compliance_control_set, @compliance_control_set
/ PageHeader
= pageheader 'jeux-de-controle',
- t('compliance_control_sets.show.title', name: @compliance_control_set.name),
- 'Lorem ipsum dolor sit amet'
+ t('compliance_control_sets.show.title', name: @compliance_control_set.name)
/ Below is secondary actions & optional contents (filters, ...)
.row.mb-sm
@@ -25,21 +24,65 @@
= definition_list t('metadatas'),
ComplianceControlSet.human_attribute_name(:name) => @compliance_control_set.name,
I18n.t('activerecord.attributes.compliance_control_set.owner_jdc') => @compliance_control_set.organisation.name
- - if params[:q].present? or @compliance_controls.any?
+
+ - if params[:q].present? || @blocks_to_compliance_controls_map.any? || @direct_compliance_controls
.row
.col-lg-12
= render '/compliance_controls/filters'
- .row
- .col-lg-12
- h2
- = transport_mode("", "")
- - if @indirect_compliance_controls.try(:any?)
+ - if @direct_compliance_controls.try(:any?)
+ .row
+ .col-lg-12
+ h2
+ = transport_mode_text()
+ .row
+ .col-lg-12
+ .select_table
+ = table_builder_2 @direct_compliance_controls,
+ [ \
+ TableBuilderHelper::Column.new( \
+ key: :code, \
+ attribute: 'code' \
+ ), \
+ TableBuilderHelper::Column.new( \
+ key: :name, \
+ attribute: 'name', \
+ link_to: lambda do |compliance_control| \
+ compliance_control_set_compliance_control_path(@compliance_control_set, compliance_control) \
+ end \
+ ), \
+ TableBuilderHelper::Column.new( \
+ key: :criticity, \
+ attribute: 'criticity' \
+ ), \
+ TableBuilderHelper::Column.new( \
+ key: :comment, \
+ attribute: 'comment' \
+ ), \
+ ],
+ sortable: true,
+ cls: 'table has-filter has-search',
+ model: ComplianceControl
+
+ - @blocks_to_compliance_controls_map.each do |block, compliance_controls|
+
+ - if compliance_controls.try(:any?)
+ .row
+ .col-lg-12
+ h2
+ = transport_mode_text(block)
+ .btn-group
+ .btn.dropdown-toggle{ data-toggle="dropdown" }
+ .span.fa.fa-cog
+ ul.dropdown-menu
+ li
+ = link_to t('compliance_control_sets.actions.edit'), edit_compliance_control_set_compliance_control_block_path(@compliance_control_set.id, block.id)
+ = link_to t('compliance_control_sets.actions.destroy'), compliance_control_set_compliance_control_block_path(@compliance_control_set.id, block.id), :method => :delete, :data => {:confirm => t('compliance_control_sets.actions.destroy_confirm')}
.row
.col-lg-12
.select_table
- = table_builder_2 @indirect_compliance_controls,
+ = table_builder_2 compliance_controls,
[ \
TableBuilderHelper::Column.new( \
key: :code, \
@@ -65,47 +108,15 @@
cls: 'table has-filter has-search',
model: ComplianceControl
- - @compliance_controls.each do |block, compliance_controls|
-
- - if compliance_controls.try(:any?)
- .row
- .col-lg-12
- h2
- = transport_mode(block.transport_mode, block.transport_submode)
- .btn-group
- .btn.dropdown-toggle{ data-toggle="dropdown" }
- .span.fa.fa-cog
- ul.dropdown-menu
- li
- = link_to t('compliance_control_sets.actions.edit'), edit_compliance_control_set_compliance_control_block_path(@compliance_control_set.id, block.id) if policy(ComplianceControlBlock).update? if policy(ComplianceControlBlock).update?
- = link_to t('compliance_control_sets.actions.destroy'), compliance_control_set_compliance_control_block_path(@compliance_control_set.id, block.id), :method => :delete, :data => {:confirm => t('compliance_control_sets.actions.destroy_confirm')} if policy(ComplianceControlBlock).destroy?
- .row
- .col-lg-12
- .select_table
- = table_builder_2 compliance_controls,
- [ \
- TableBuilderHelper::Column.new( \
- key: :code, \
- attribute: 'code' \
- ), \
- TableBuilderHelper::Column.new( \
- key: :name, \
- attribute: 'name', \
- link_to: lambda do |compliance_control| \
- compliance_control_set_compliance_control_path(@compliance_control_set, compliance_control) \
- end \
- ), \
- TableBuilderHelper::Column.new( \
- key: :criticity, \
- attribute: 'criticity' \
- ), \
- TableBuilderHelper::Column.new( \
- key: :comment, \
- attribute: 'comment' \
- ), \
- ],
- sortable: true,
- cls: 'table has-filter has-search',
- model: ComplianceControl
-
- = flotted_links(@compliance_control_set.id) \ No newline at end of file
+ .select_toolbox
+ ul
+ li.st_action.with_text
+ = link_to select_type_compliance_control_set_compliance_controls_path(@compliance_control_set.id)
+ span.fa.fa-plus
+ span
+ = t('compliance_control_sets.actions.add_compliance_control')
+ li.st_action.with_text
+ = link_to new_compliance_control_set_compliance_control_block_path(@compliance_control_set.id)
+ span.fa.fa-plus
+ span
+ = t('compliance_control_sets.actions.add_compliance_control_block')
diff --git a/app/views/compliance_controls/_filters.html.slim b/app/views/compliance_controls/_filters.html.slim
index c729190a0..d38da5d2d 100644
--- a/app/views/compliance_controls/_filters.html.slim
+++ b/app/views/compliance_controls/_filters.html.slim
@@ -1,3 +1,4 @@
+/ Compliance Control Filter
= search_form_for @q_controls_form,
url: compliance_control_set_path(@compliance_control_set),
builder: SimpleForm::FormBuilder,
@@ -19,7 +20,7 @@
collection: @compliance_control_set.compliance_control_blocks,
as: :check_boxes,
label: false,
- label_method: lambda {|w| ("<span>#{transport_mode(w.transport_mode, w.transport_submode)}</span>").html_safe},
+ label_method: lambda {|w| ("<span>#{transport_mode_text(w)}</span>").html_safe},
required: false,
wrapper_html: {class: 'checkbox_list'}
.form-group.togglable#subclass-filter
diff --git a/app/views/import_tasks/new.html.slim b/app/views/import_tasks/new.html.slim
index b4b77d344..dad004759 100644
--- a/app/views/import_tasks/new.html.slim
+++ b/app/views/import_tasks/new.html.slim
@@ -16,13 +16,12 @@ ul.nav.nav-pills
= form.input :referential_id, as: :hidden, :input_html => { :value => @referential.id }
= form.input :name
= form.input :no_save, as: :boolean
- = form.input :rule_parameter_set_id, as: :select, :collection => @referential.organisation.rule_parameter_sets.map { |rps| [ rps.name, rps.id ] }, :include_blank => true
= form.input :resources, as: :file
= render partial: "fields_#{import_task.data_format}_import", :locals => { :form => form }
-
+
= form.actions do
= form.action :submit, as: :button , :label => t( 'formtastic.import' )
= form.action :cancel, as: :link
-= javascript_include_tag new_referential_import_task_path(@referential, :format => :js) \ No newline at end of file
+= javascript_include_tag new_referential_import_task_path(@referential, :format => :js)
diff --git a/app/views/lines/_filters.html.slim b/app/views/lines/_filters.html.slim
index 7662c41b5..58f8f2431 100644
--- a/app/views/lines/_filters.html.slim
+++ b/app/views/lines/_filters.html.slim
@@ -17,11 +17,11 @@
.form-group.togglable
= f.label Chouette::Line.human_attribute_name(:transport_mode), required: false, class: 'control-label'
- = f.input :transport_mode_eq_any, collection: Chouette::Line.sorted_transport_modes, as: :check_boxes, label: false, label_method: lambda{|l| ("<span>" + t("enumerize.transport_mode.#{l}") + "</span>").html_safe}, required: false, wrapper_html: { class: 'checkbox_list'}
+ = f.input :transport_mode_eq_any, collection: StifTransportModeEnumerations.sorted_transport_modes, as: :check_boxes, label: false, label_method: lambda{|l| ("<span>" + t("enumerize.transport_mode.#{l}") + "</span>").html_safe}, required: false, wrapper_html: { class: 'checkbox_list'}
.form-group.togglable
= f.label Chouette::Line.human_attribute_name(:transport_submode), required: false, class: 'control-label'
- = f.input :transport_submode_eq_any, collection: Chouette::Line.sorted_transport_submodes, as: :check_boxes, label: false, label_method: lambda{|l| ("<span>" + t("enumerize.transport_submode.#{l}") + "</span>").html_safe}, required: false, wrapper_html: { class: 'checkbox_list'}
+ = f.input :transport_submode_eq_any, collection: StifTransportSubmodeEnumerations.sorted_transport_submodes, as: :check_boxes, label: false, label_method: lambda{|l| ("<span>" + t("enumerize.transport_submode.#{l}") + "</span>").html_safe}, required: false, wrapper_html: { class: 'checkbox_list'}
.actions
= link_to 'Effacer', @workbench, class: 'btn btn-link'
diff --git a/app/views/organisations/show.html.slim b/app/views/organisations/show.html.slim
index 89e3b2870..e7ab18dd3 100644
--- a/app/views/organisations/show.html.slim
+++ b/app/views/organisations/show.html.slim
@@ -27,8 +27,3 @@
= link_to t('organisations.actions.edit'), edit_organisation_path, class: 'edit'
li
= link_to t('users.actions.new'), new_organisation_user_path, class: 'add'
-
- / FIXME ref #2007
- - if false
- li
- = link_to t('rule_parameter_sets.actions.new'), new_organisation_rule_parameter_set_path, class: 'add'
diff --git a/app/views/rule_parameter_sets/_column_fields.html.slim b/app/views/rule_parameter_sets/_column_fields.html.slim
deleted file mode 100644
index 176318765..000000000
--- a/app/views/rule_parameter_sets/_column_fields.html.slim
+++ /dev/null
@@ -1,13 +0,0 @@
-td
-td = t("activerecord.attributes.#{object_name}.#{column}")
-- suffix = "column_#{column}_object_#{object_name}"
-td = f.check_box "unique_#{suffix}".to_sym, class: 'special'
-
-- if RuleParameterSet.validable_column_type(object_name, column) == :string
- td
- = f.select "pattern_#{suffix}".to_sym, options_for_select([[t("rule_parameter_sets.labels.free_char"), "0"], [t("rule_parameter_sets.labels.num_char"), "1"], [t("rule_parameter_sets.labels.alpha_char"), "2"], [t("rule_parameter_sets.labels.upper_char"), "3"], [t("rule_parameter_sets.labels.lower_char"), "4"]])
-- else
- td = t('rule_parameter_sets.labels.num_char')
-
-td = f.number_field "min_size_#{suffix}".to_sym, class: 'special'
-td = f.number_field "max_size_#{suffix}".to_sym, class: 'special'
diff --git a/app/views/rule_parameter_sets/_form.html.slim b/app/views/rule_parameter_sets/_form.html.slim
deleted file mode 100644
index b93caae58..000000000
--- a/app/views/rule_parameter_sets/_form.html.slim
+++ /dev/null
@@ -1,73 +0,0 @@
-= semantic_form_for [ :organisation, @rule_parameter_set] do |form|
- = form.inputs do
- = form.input :name
- = form.input :inter_stop_area_distance_min, as: :number
- = form.input :parent_stop_area_distance_max, as: :number
- = form.input :stop_areas_area
- = form.input :inter_access_point_distance_min, as: :number
- = form.input :inter_connection_link_distance_max, as: :number
- = form.input :walk_default_speed_max, as: :number
- = form.input :walk_occasional_traveller_speed_max, as: :number
- = form.input :walk_frequent_traveller_speed_max, as: :number
- = form.input :walk_mobility_restricted_traveller_speed_max, as: :number
-
- = form.input :inter_access_link_distance_max, as: :number
- = form.input :inter_stop_duration_max, as: :number
- = form.input :facility_stop_area_distance_max, as: :number
-
- = form.input :check_lines_in_groups, as: :boolean
- = form.input :check_line_routes, as: :boolean
- = form.input :check_stop_parent, as: :boolean
- = form.input :check_connection_link_on_physical, as: :boolean
- = form.input :check_allowed_transport_modes, as: :boolean
-
- table.table.table-striped.table-condensed
- thead
- tr
- th = t("transport_modes.name")
-
- - RuleParameterSet.mode_attribute_prefixes.each do |prefix|
- - if prefix == "allowed_transport"
- - hidden = (@rule_parameter_set.check_allowed_transport_modes == "1") ? "" : 'display:none;'
- th.allowed style="#{hidden}"
- = RuleParameterSet.human_attribute_name(prefix)
- - else
- th = RuleParameterSet.human_attribute_name(prefix)
-
- tbody
- / To be removed, see #1936
- - Chouette::Line.transport_mode.values.each do |mode|
- tr
- == render partial: "mode_fields", :locals => { f: form, mode: mode }
-
- = t("rule_parameter_sets.labels.columns_restrictions")
-
- table.table.table-bordered.table-condensed
- - RuleParameterSet.validable_object_names.each do |object_name|
- thead
- tr
- th
- = form.check_box "check_#{object_name}".to_sym, class: 'special'
- = t("activerecord.models.#{object_name}.one")
-
- th = RuleParameterSet.human_attribute_name("attribute")
- th = RuleParameterSet.human_attribute_name("unique")
- th = RuleParameterSet.human_attribute_name("string_type")
- th = RuleParameterSet.human_attribute_name("min_size")
- th = RuleParameterSet.human_attribute_name("max_size")
-
- tbody
- - RuleParameterSet.validable_columns[object_name].each do |col|
- tr class="columns_for_#{object_name.pluralize}"
- == render partial: "column_fields", :locals => { f: form, object_name: object_name, column: col }
-
- = form.actions do
- = form.action :submit, as: :button
- = form.action :cancel, as: :link
-
-javascript:
- $(function() {
- $( "#rule_parameter_set_check_allowed_transport_modes").change( function() {
- $(".allowed").toggle();
- });
- });
diff --git a/app/views/rule_parameter_sets/_mode_fields.html.slim b/app/views/rule_parameter_sets/_mode_fields.html.slim
deleted file mode 100644
index 848e065f3..000000000
--- a/app/views/rule_parameter_sets/_mode_fields.html.slim
+++ /dev/null
@@ -1,9 +0,0 @@
-td = t("transport_modes.label.#{mode}")
-
-- RuleParameterSet.mode_attribute_prefixes.each do |prefix|
- - if prefix == "allowed_transport"
- - hidden = (@rule_parameter_set.check_allowed_transport_modes == "1") ? "" : 'display: none;'
- td.allowed style="#{hidden}"
- = f.check_box "#{prefix}_mode_#{mode}".to_sym, class: 'special'
- - else
- td = f.number_field "#{prefix}_mode_#{mode}".to_sym, class: 'special' \ No newline at end of file
diff --git a/app/views/rule_parameter_sets/_mode_selection.html.slim b/app/views/rule_parameter_sets/_mode_selection.html.slim
deleted file mode 100644
index b9afd10b6..000000000
--- a/app/views/rule_parameter_sets/_mode_selection.html.slim
+++ /dev/null
@@ -1,4 +0,0 @@
-/ select.undescribed_modes
-/ - Chouette::TransportMode.all.map { |m| m.name.downcase}.each do |mode|
-/ option value="#{mode}"
-/ = t("transport_modes.label.#{mode}") \ No newline at end of file
diff --git a/app/views/rule_parameter_sets/_rule_parameter_set.html.slim b/app/views/rule_parameter_sets/_rule_parameter_set.html.slim
deleted file mode 100644
index 5603d2b80..000000000
--- a/app/views/rule_parameter_sets/_rule_parameter_set.html.slim
+++ /dev/null
@@ -1,14 +0,0 @@
-#index_item.panel.panel-default.rule_parameter_set
- .panel-heading
- .panel-title.clearfix
- span.pull-right
- = link_to edit_organisation_rule_parameter_set_path( rule_parameter_set), class: 'btn btn-default btn-sm' do
- span.fa.fa-pencil
-
- - if rule_parameter_set.organisation.rule_parameter_sets.size > 1
- = link_to organisation_rule_parameter_set_path( rule_parameter_set), method: :delete, data: { confirm: t('rule_parameter_sets.actions.destroy_confirm') }, class: 'btn btn-danger btn-sm' do
- span.fa.fa-trash-o
-
- h5
- = link_to( organisation_rule_parameter_set_path( rule_parameter_set), class: 'preview', title: "#{RuleParameterSet.model_name.human.capitalize} #{rule_parameter_set.name}") do
- span.name = truncate(rule_parameter_set.name, length: 20) \ No newline at end of file
diff --git a/app/views/rule_parameter_sets/_transport_mode_parameter_set_fields.html.slim b/app/views/rule_parameter_sets/_transport_mode_parameter_set_fields.html.slim
deleted file mode 100644
index ede7e2b75..000000000
--- a/app/views/rule_parameter_sets/_transport_mode_parameter_set_fields.html.slim
+++ /dev/null
@@ -1,9 +0,0 @@
-= f.inputs class: 'transport_mode_parameter_sets nested-fields' do
- = f.input :transport_mode, as: :select, collection: transport_mode_label_pairs, include_blank: false, label: "transport_mode", wrapper_html: { class: 'fl1' }
- = f.input :inter_stop_area_distance_min, as: :number, label: "inter_stop_area_distance_min", wrapper_html: { class: 'fl1' }
- = f.input :inter_stop_area_distance_max, as: :number, label: "inter_stop_area_distance_max", wrapper_html: { class: 'fl2' }
- = f.input :speed_min, as: :number, label: "speed_min", wrapper_html: { class: 'fl2' }
- = f.input :speed_max, as: :number, label: "speed_max", wrapper_html: { class: 'fl2' }
- = f.input :inter_stop_duration_variation_max, as: :number, label: "inter_stop_duration_variation_max", wrapper_html: { class: 'fl2' }
-
- = link_to_remove_association t('actions.destroy'), f
diff --git a/app/views/rule_parameter_sets/edit.html.slim b/app/views/rule_parameter_sets/edit.html.slim
deleted file mode 100644
index b49b02cf6..000000000
--- a/app/views/rule_parameter_sets/edit.html.slim
+++ /dev/null
@@ -1,3 +0,0 @@
-= title_tag t('rule_parameter_sets.edit.title', rule_parameter_set: @rule_parameter_set.name )
-
-== render 'form' \ No newline at end of file
diff --git a/app/views/rule_parameter_sets/index.html.slim b/app/views/rule_parameter_sets/index.html.slim
deleted file mode 100644
index 6be57d68e..000000000
--- a/app/views/rule_parameter_sets/index.html.slim
+++ /dev/null
@@ -1,7 +0,0 @@
-= title_tag t('rule_parameter_sets.index.title')
-
-= paginated_content(@rule_parameter_sets)
-
-- content_for :sidebar do
- ul.actions
- li = link_to t('rule_parameter_sets.actions.new'), new_organisation_rule_parameter_set_path, class: 'add' \ No newline at end of file
diff --git a/app/views/rule_parameter_sets/mode.js.slim b/app/views/rule_parameter_sets/mode.js.slim
deleted file mode 100644
index 392446a7c..000000000
--- a/app/views/rule_parameter_sets/mode.js.slim
+++ /dev/null
@@ -1,9 +0,0 @@
-| if ( $("#specific_parameters_#{@mode}").length == 0 ) {
-| - form_content = ""
-| - semantic_form_for [@referential, @rule_parameter_set] do |form|
-| - form_content += render(partial: 'mode_fields', locals: { mode: @mode, f: form })
-| $('#added_mode_parameter_set').before("#{escape_javascript(form_content).html_safe}");
-| } else {
-| $("#_destroy_mode_#{@mode}").attr( "value", false);
-| $("#specific_parameters_#{@mode}").toggle();
-| } \ No newline at end of file
diff --git a/app/views/rule_parameter_sets/new.html.slim b/app/views/rule_parameter_sets/new.html.slim
deleted file mode 100644
index c4e4c5b4d..000000000
--- a/app/views/rule_parameter_sets/new.html.slim
+++ /dev/null
@@ -1,3 +0,0 @@
-= title_tag t('rule_parameter_sets.new.title')
-
-== render 'form' \ No newline at end of file
diff --git a/app/views/rule_parameter_sets/show.html.slim b/app/views/rule_parameter_sets/show.html.slim
deleted file mode 100644
index 6adfeab89..000000000
--- a/app/views/rule_parameter_sets/show.html.slim
+++ /dev/null
@@ -1,143 +0,0 @@
-= title_tag t('rule_parameter_sets.show.title', :rule_parameter_set => @rule_parameter_set.name )
-
-.rule_parameter_set_show
- .summary
- p
- label = "#{RuleParameterSet.human_attribute_name('stop_areas_area')} : "
- = @rule_parameter_set.stop_areas_area
-
- .attributes_group
- span.title = t(".min_distance")
-
- .columns
- .two_columns
- label = "#{t('.inter_stop_area_distance_min')} : "
- span.value = @rule_parameter_set.inter_stop_area_distance_min
-
- .two_columns
- label = "#{t('.inter_access_point_distance_min')} : "
- span.value = @rule_parameter_set.inter_access_point_distance_min
-
- .attributes_group
- span.title = t(".max_distance")
-
- .columns
- .two_columns
- label = "#{t('.parent_stop_area_distance_max')} : "
- span.value = @rule_parameter_set.parent_stop_area_distance_max
-
- .two_columns
- label = "#{t('.inter_connection_link_distance_max')} : "
- span.value = @rule_parameter_set.inter_connection_link_distance_max
-
- .columns
- .two_columns
- label = "#{t('.inter_access_link_distance_max')} : "
- span.value = @rule_parameter_set.inter_access_link_distance_max
-
- .two_columns
- label = "#{t('.facility_stop_area_distance_max')} : "
- span.value = @rule_parameter_set.facility_stop_area_distance_max
-
- .attributes_group
- span.title = t(".walk_speed")
-
- .columns
- .four_columns
- label = "#{t('.walk_default_speed_max')} : "
- span.value = @rule_parameter_set.walk_default_speed_max
-
- .four_columns
- label = "#{t('.walk_occasional_traveller_speed_max')} : "
- span.value = @rule_parameter_set.walk_occasional_traveller_speed_max
-
- .four_columns
- label = "#{t('.walk_frequent_traveller_speed_max')} : "
- span.value = @rule_parameter_set.walk_frequent_traveller_speed_max
-
- .four_columns
- label = "#{t('.walk_mobility_restricted_traveller_speed_max')} : "
- span.value = @rule_parameter_set.walk_mobility_restricted_traveller_speed_max
-
- p
- label = "#{t('.inter_stop_duration_max')} :"
- = @rule_parameter_set.inter_stop_duration_max
-
- p
- label = "#{RuleParameterSet.human_attribute_name('check_lines_in_groups')} : "
- = boolean_value(@rule_parameter_set.check_lines_in_groups)
-
- p
- label = "#{RuleParameterSet.human_attribute_name('check_line_routes')} : "
- = boolean_value(@rule_parameter_set.check_line_routes)
-
- p
- label = "#{RuleParameterSet.human_attribute_name('check_stop_parent')} : "
- = boolean_value(@rule_parameter_set.check_stop_parent)
-
- p
- label = "#{RuleParameterSet.human_attribute_name('check_connection_link_on_physical')} : "
- = boolean_value(@rule_parameter_set.check_connection_link_on_physical)
-
- p
- label = "#{RuleParameterSet.human_attribute_name('check_allowed_transport_modes')} : "
- = boolean_value(@rule_parameter_set.check_allowed_transport_modes)
-
- .rule_parameter_by_mode
- label
- = t(".rule_parameter_by_mode")
- = t(".modes_allowed") if @rule_parameter_set.check_allowed_transport_modes == "1"
-
- table.table.table-striped.table-condensed
- tr
- th = t("transport_modes.name")
-
- - RuleParameterSet.mode_attribute_prefixes.each do |prefix|
- - unless prefix == "allowed_transport"
- th = RuleParameterSet.human_attribute_name(prefix)
- / To be removed, see #1936
- - Chouette::Line.transport_mode.values.each do |mode|
- - if @rule_parameter_set.allowed(mode)
- tr
- td = t("transport_modes.label.#{mode}")
-
- - RuleParameterSet.mode_attribute_prefixes.each do |prefix|
- - unless prefix == "allowed_transport"
- td = @rule_parameter_set.send "#{prefix}_mode_#{mode}"
-
- .rule_parameter_by_object
- label = t("rule_parameter_sets.labels.columns_restrictions")
-
- table.table.table-bordered.table-condensed
- - RuleParameterSet.validable_object_names.each do |object_name|
- - if @rule_parameter_set.selected(object_name)
- thead
- tr
- th = t("activerecord.models.#{object_name}.one")
- th = RuleParameterSet.human_attribute_name("attribute")
- th = RuleParameterSet.human_attribute_name("unique")
- th = RuleParameterSet.human_attribute_name("string_type")
- th = RuleParameterSet.human_attribute_name("min_size")
- th = RuleParameterSet.human_attribute_name("max_size")
-
- tbody
- - RuleParameterSet.validable_columns[object_name].each do |col|
- - if @rule_parameter_set.selected_column(object_name,col)
- tr
- td
- td = t("activerecord.attributes.#{object_name}.#{col}")
- - suffix = "column_#{col}_object_#{object_name}"
- td = unique(@rule_parameter_set.send "unique_#{suffix}".to_sym)
- td = pattern(@rule_parameter_set.send "pattern_#{suffix}".to_sym)
- td = @rule_parameter_set.send "min_size_#{suffix}".to_sym
- td = @rule_parameter_set.send "max_size_#{suffix}".to_sym
-
-- content_for :sidebar do
- ul.actions
- li = link_to t('rule_parameter_sets.actions.new'), new_organisation_rule_parameter_set_path, class: 'add'
-
- - if @rule_parameter_set.persisted?
- li = link_to t('rule_parameter_sets.actions.edit'), edit_organisation_rule_parameter_set_path( @rule_parameter_set), class: 'edit'
-
- - if current_organisation.rule_parameter_sets.size > 1
- li = link_to t('rule_parameter_sets.actions.destroy'), organisation_rule_parameter_set_path( @rule_parameter_set), method: :delete, data: { confirm: t('rule_parameter_sets.actions.destroy_confirm') }, class: 'remove'