aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLuc Donnet2017-09-21 09:38:12 +0200
committerLuc Donnet2017-09-21 09:38:12 +0200
commit7ec5867ec7bd7365bb4c97d7d4c1bdc2cf580bc2 (patch)
tree05a9a14e9acacdf4ec47f04d620aa336570fa533
parentd62e303b9cae0f4c2e1e5075e4135faa24dd4460 (diff)
parent5c63e10c3f576254d28a2bfff0b5dbbd0dd8e2d5 (diff)
downloadchouette-core-7ec5867ec7bd7365bb4c97d7d4c1bdc2cf580bc2.tar.bz2
Merge branch 'master' of github.com:AF83/stif-boiv
-rw-r--r--app/controllers/compliance_control_sets_controller.rb7
-rw-r--r--app/models/generic_attribute_pattern.rb23
-rw-r--r--app/models/generic_attribute_uniqueness.rb23
-rw-r--r--app/models/journey_pattern_control/vehicle_journey.rb13
-rw-r--r--app/models/line_control/route.rb13
-rw-r--r--app/models/route_control/journey_pattern.rb13
-rw-r--r--app/models/route_control/opposite_route_terminus.rb13
-rw-r--r--app/models/routing_constaint_zone_control/maximum_length.rb13
-rw-r--r--app/models/routing_constaint_zone_control/minimum_length.rb13
-rw-r--r--app/views/compliance_control_sets/_filters.html.slim29
-rw-r--r--app/views/compliance_control_sets/index.html.slim10
-rw-r--r--config/locales/compliance_control_sets.fr.yml5
-rw-r--r--config/locales/compliance_controls.en.yml181
-rw-r--r--config/locales/compliance_controls.fr.yml181
-rw-r--r--config/locales/import_messages.en.yml2
-rw-r--r--config/locales/import_messages.fr.yml2
-rw-r--r--config/routes.rb2
17 files changed, 363 insertions, 180 deletions
diff --git a/app/controllers/compliance_control_sets_controller.rb b/app/controllers/compliance_control_sets_controller.rb
index 1b23becaa..6edfa3fcc 100644
--- a/app/controllers/compliance_control_sets_controller.rb
+++ b/app/controllers/compliance_control_sets_controller.rb
@@ -4,8 +4,9 @@ class ComplianceControlSetsController < BreadcrumbController
def index
index! do |format|
+ @q_for_form = @compliance_control_sets.ransack(params[:q])
format.html {
- @compliance_control_sets = decorate_compliance_control_sets(@compliance_control_sets)
+ @compliance_control_sets = decorate_compliance_control_sets(@q_for_form.result)
}
end
end
@@ -23,11 +24,9 @@ class ComplianceControlSetsController < BreadcrumbController
)
end
- protected
-
private
def compliance_control_set_params
- params.require(:compliance_control_set).permit(:name)
+ params.require(:compliance_control_set).permit(:name, :id)
end
end
diff --git a/app/models/generic_attribute_pattern.rb b/app/models/generic_attribute_pattern.rb
new file mode 100644
index 000000000..0043f1563
--- /dev/null
+++ b/app/models/generic_attribute_pattern.rb
@@ -0,0 +1,23 @@
+#module ComplianceControls
+
+ class GenericAttributePattern < ComplianceControl
+
+ hstore_accessor :control_attributes, value: :string, pattern: :string
+
+ @@default_criticity = :warning
+ @@default_code = "3-Generic-3"
+
+ validate :pattern_match
+ def pattern_match
+ true
+ end
+
+ after_initialize do
+ self.name = 'GenericAttributeMinMax'
+ self.code = @@default_code
+ self.criticity = @@default_criticity
+ end
+
+ end
+
+#end \ No newline at end of file
diff --git a/app/models/generic_attribute_uniqueness.rb b/app/models/generic_attribute_uniqueness.rb
new file mode 100644
index 000000000..dcf4a16c2
--- /dev/null
+++ b/app/models/generic_attribute_uniqueness.rb
@@ -0,0 +1,23 @@
+#module ComplianceControls
+
+ class GenericAttributeUniqueness < ComplianceControl
+
+ hstore_accessor :control_attributes, name: :string
+
+ @@default_criticity = :warning
+ @@default_code = "3-Generic-3"
+
+ validate :unique_values
+ def unique_values
+ true
+ end
+
+ after_initialize do
+ self.name = 'GenericAttributeMinMax'
+ self.code = @@default_code
+ self.criticity = @@default_criticity
+ end
+
+ end
+
+#end \ No newline at end of file
diff --git a/app/models/journey_pattern_control/vehicle_journey.rb b/app/models/journey_pattern_control/vehicle_journey.rb
new file mode 100644
index 000000000..a90c16138
--- /dev/null
+++ b/app/models/journey_pattern_control/vehicle_journey.rb
@@ -0,0 +1,13 @@
+module JourneyPatternControl
+ class VehicleJourney < ComplianceControl
+
+ @@default_criticity = :warning
+ @@default_code = "3-JourneyPattern-2"
+
+ after_initialize do
+ self.name = self.class.name
+ self.code = @@default_code
+ self.criticity = @@default_criticity
+ end
+ end
+end \ No newline at end of file
diff --git a/app/models/line_control/route.rb b/app/models/line_control/route.rb
new file mode 100644
index 000000000..8ac13a080
--- /dev/null
+++ b/app/models/line_control/route.rb
@@ -0,0 +1,13 @@
+module LineControl
+ class Route < ComplianceControl
+
+ @@default_criticity = :warning
+ @@default_code = "3-Line-1"
+
+ after_initialize do
+ self.name = self.class.name
+ self.code = @@default_code
+ self.criticity = @@default_criticity
+ end
+ end
+end \ No newline at end of file
diff --git a/app/models/route_control/journey_pattern.rb b/app/models/route_control/journey_pattern.rb
new file mode 100644
index 000000000..0559fac42
--- /dev/null
+++ b/app/models/route_control/journey_pattern.rb
@@ -0,0 +1,13 @@
+module RouteControl
+ class JourneyPattern < ComplianceControl
+
+ @@default_criticity = :warning
+ @@default_code = "3-Route-3"
+
+ after_initialize do
+ self.name = self.class.name
+ self.code = @@default_code
+ self.criticity = @@default_criticity
+ end
+ end
+end \ No newline at end of file
diff --git a/app/models/route_control/opposite_route_terminus.rb b/app/models/route_control/opposite_route_terminus.rb
new file mode 100644
index 000000000..e72229ca3
--- /dev/null
+++ b/app/models/route_control/opposite_route_terminus.rb
@@ -0,0 +1,13 @@
+module RouteControl
+ class OppositeRouteTerminus < ComplianceControl
+
+ @@default_criticity = :warning
+ @@default_code = "3-Route-5"
+
+ after_initialize do
+ self.name = self.class.name
+ self.code = @@default_code
+ self.criticity = @@default_criticity
+ end
+ end
+end \ No newline at end of file
diff --git a/app/models/routing_constaint_zone_control/maximum_length.rb b/app/models/routing_constaint_zone_control/maximum_length.rb
new file mode 100644
index 000000000..fd63ffeda
--- /dev/null
+++ b/app/models/routing_constaint_zone_control/maximum_length.rb
@@ -0,0 +1,13 @@
+module RoutingConstaintZoneControl
+ class MaximumLength < ComplianceControl
+
+ @@default_criticity = :warning
+ @@default_code = "3-ITL-2"
+
+ after_initialize do
+ self.name = self.class.name
+ self.code = @@default_code
+ self.criticity = @@default_criticity
+ end
+ end
+end \ No newline at end of file
diff --git a/app/models/routing_constaint_zone_control/minimum_length.rb b/app/models/routing_constaint_zone_control/minimum_length.rb
new file mode 100644
index 000000000..c17bbc834
--- /dev/null
+++ b/app/models/routing_constaint_zone_control/minimum_length.rb
@@ -0,0 +1,13 @@
+module RoutingConstaintZoneControl
+ class MinimumLength < ComplianceControl
+
+ @@default_criticity = :warning
+ @@default_code = "3-ITL-3"
+
+ after_initialize do
+ self.name = self.class.name
+ self.code = @@default_code
+ self.criticity = @@default_criticity
+ end
+ end
+end \ No newline at end of file
diff --git a/app/views/compliance_control_sets/_filters.html.slim b/app/views/compliance_control_sets/_filters.html.slim
index 8da629e9c..7ee050636 100644
--- a/app/views/compliance_control_sets/_filters.html.slim
+++ b/app/views/compliance_control_sets/_filters.html.slim
@@ -1,33 +1,10 @@
-= search_form_for @q_for_form, url: workbench_path(@workbench.id), builder: SimpleForm::FormBuilder, class: 'form form-filter' do |f|
+= search_form_for @q_for_form, url: compliance_control_sets_path, 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('referentials.filters.name')
+ = f.search_field :name_cont, class: 'form-control', placeholder: t('compliance_control_sets.filters.name')
span.input-group-btn
button.btn.btn-default type='submit'
span.fa.fa-search
-
- .ffg-row
- .form-group
- = f.label t('activerecord.models.line.one').upcase, required: false, class: 'control-label'
- = f.input :associated_lines_id_eq, as: :select, collection: @workbench.lines.includes(:company).order(:name), input_html: { 'data-select2ed': 'true', 'data-select2ed-placeholder': t('referentials.filters.line') }, label: false, label_method: :display_name, wrapper_html: { class: 'select2ed'}
-
- .form-group.togglable
- = f.label Referential.human_attribute_name(:status), required: false, class: 'control-label'
- .form-group.checkbox_list
- = f.input :archived_at_not_null, label: ("<span>#{t('activerecord.attributes.referential.archived_at')}<span class='fa fa-archive'></span></span>").html_safe, as: :boolean, wrapper_html: { class: 'checkbox-wrapper' }
- = f.input :archived_at_null, label: ("<span>#{t('activerecord.attributes.referential.archived_at_null')}<span class='sb sb-lg sb-preparing'></span></span>").html_safe, as: :boolean, wrapper_html: { class: 'checkbox-wrapper' }
-
- .form-group.togglable
- = f.label t('activerecord.models.organisation.one'), required: false, class: 'control-label'
- = f.input :organisation_name_eq_any, collection: Organisation.order('name').pluck(:name), as: :check_boxes, label: false, label_method: lambda{|w| ("<span>#{w}</span>").html_safe}, required: false, wrapper_html: { class: 'checkbox_list' }
-
- .form-group.togglable
- = f.label Referential.human_attribute_name(:validity_period), required: false, class: 'control-label'
- .filter_menu
- = f.simple_fields_for :validity_period do |p|
- = p.input :begin_gteq, as: :date, label: t('simple_form.from'), wrapper_html: { class: 'date smart_date filter_menu-item' }, default: @begin_range, include_blank: @begin_range ? false : true
- = p.input :end_lteq, as: :date, label: t('simple_form.to'), wrapper_html: { class: 'date smart_date filter_menu-item' }, default: @end_range, include_blank: @end_range ? false : true
-
.actions
- = link_to t('actions.erase'), @workbench, class: 'btn btn-link'
+ = link_to t('actions.erase'), @compliance_control_set, class: 'btn btn-link'
= f.submit t('actions.filter'), class: 'btn btn-default', id: 'referential_filter_btn'
diff --git a/app/views/compliance_control_sets/index.html.slim b/app/views/compliance_control_sets/index.html.slim
index fa85c38f7..95833a01c 100644
--- a/app/views/compliance_control_sets/index.html.slim
+++ b/app/views/compliance_control_sets/index.html.slim
@@ -14,7 +14,7 @@
.container-fluid
.row
.col-lg-12
- /= render 'filters'
+ = render 'filters'
.row
.col-lg-12
.select_table
@@ -40,11 +40,15 @@
attribute: 'control_numbers' \
), \
TableBuilderHelper::Column.new( \
- key: :update, \
- attribute: '' \
+ key: :updated_at, \
+ attribute: Proc.new { |n| l(n.updated_at, format: :long) if n.updated_at }, \
) \
],
sortable: true,
cls: 'table has-filter has-search'
+ - unless @compliance_control_sets.any?
+ .row.mt-xs
+ .col-lg-12
+ = replacement_msg t('compliance_control_sets.search_no_results')
diff --git a/config/locales/compliance_control_sets.fr.yml b/config/locales/compliance_control_sets.fr.yml
index c230d593c..fedfeede7 100644
--- a/config/locales/compliance_control_sets.fr.yml
+++ b/config/locales/compliance_control_sets.fr.yml
@@ -9,6 +9,9 @@ fr:
edit: Editer
destroy: Supprimer
destroy_confirm: Etes vous sûr de supprimer ce jeux de contrôle ?
+ filters:
+ name: 'Indiquez un nom de jeux de contrôle...'
+ search_no_results: 'Aucun jeu de contrôle ne correspond à votre recherche'
activerecord:
models:
compliance_control_set: Calendrier
@@ -18,4 +21,4 @@ fr:
assignment: Affectation
owner_jdc: Propriétaire du jeu de contrôle
control_numbers: Nb contrôle
- update: Mis a jour \ No newline at end of file
+ updated_at: Mis a jour \ No newline at end of file
diff --git a/config/locales/compliance_controls.en.yml b/config/locales/compliance_controls.en.yml
index 4eaaf184e..bb6b94377 100644
--- a/config/locales/compliance_controls.en.yml
+++ b/config/locales/compliance_controls.en.yml
@@ -1,4 +1,14 @@
en:
+ activerecord:
+ models:
+ one: "compliance control"
+ other: "compliance controls"
+ attributes:
+ compliance_control:
+ name: "Name"
+ criticity: "Criticity"
+ comment: "Comment"
+ code: "Code"
compliance_controls:
actions:
new: "Add a new compliance control"
@@ -13,74 +23,103 @@ en:
title: "Add a new compliance control"
edit:
title: "Update compliance control"
- activerecord:
- models:
- one: "compliance control"
- other: "compliance controls"
- attributes:
- compliance_control:
- name: Name
- criticity: Criticity
- comment: Comment
- code: Code
- route:
- zdl_stop_area:
- messages:
- 3_route_1: The route with % objectid connect the stop points % % et % % which belong to the same ZDL
- description: Two stop points which belong to the same ZDL cannot follow one another in a route
- opposite_route:
- messages:
- 3_route_2: The route with % objectid references an incoherent oppposite route %
- description: |
- 'If the route has an opposite route, it must :
- - reference the opposite route
- - have an opposite route in relation with the tested route'
- duplicates:
- messages:
- 3_route_4: The route with % objectid is identical with another route %
- description: 2 routes cannot connect the same stop points with the same order and the same boarding and alighting characteristics
- minimum_length:
- messages:
- 3_route_6: The route with % objectid does not connect enough stop points (required 2 stop points)
- description: A route must have at least 2 stop points
- omnibus_journey_pattern:
- messages:
- 3_route_9: The route with % objectid does not have a journey pattern that connect all of its stop points
- description: A journey pattern of a route should connect all of a route's stop points
- unactivated_stop_point:
- messages:
- 3_route_10: L'itinéraire % référence un arrêt (ZDEp) désactivé % (%)
- description: Les arrêts d'un itinéraire ne doivent pas être désactivés
- journey_pattern:
- duplicates:
- messages:
- 3_journeypattern_1: The journey pattern with objectid % is identical with another one %
- description: Two journey patterns belonging to the same line must not connect the same stop points in the same order
- vehicle_journey:
- waiting_time:
- messages:
- 3_vehiclejourney_1: On the following vehicle journey %, the waiting time % a this stop point % (%) is greater than the threshold (%)
- description: The waiting time at a specific stop point cannot be too big
- speed:
- messages:
- 3_vehiclejourney_2_1: On the following vehicle journey %, the computed speed % between the stop points % (%) and % (%) is greater than the threshold (%)
- 3_vehiclejourney_2_2: On the following vehicle journey %, the computed speed % between the stop points % (%) and % (%) is smaller than the threshold (%)
- description: The speed between 2 stop points should be confined between two thresholds
- delta:
- messages:
- 3_vehiclejourney_3: The travel time on the vehicle journey with % objectid between the stop points % (%) and % (% is too far off % the average waiting on the journey pattern
- description: The travel time between two following stop points must be close to all the vehicle journey of a journey pattern
- time_table:
- messages:
- 3_vehiclejourney_4: The vehicle journey with % objectid does not have a timetable
- description: A vehicle journey must have at least one timetable
- vehicle_journey_at_stops:
- messages:
- 3_vehiclejourney_5_1: The vehicle journey with % objectid has an arrival time % greater than the departure time % at the stop point % (%)
- 3_vehiclejourney_5_2: The vehicle journey with % objectid has an departure time % at stop point % (%) greater than the arrival % at the next stop point
- description: The arrival time of a stop point must be smaller than the departure time of this stop point AND the departure time of the stop points must be in chronological order
- routing_constraint_zone:
- vehicle_journey_at_stops:
- messages:
- 3_itl_1: The Routing Constraint Zone % references an unactivated stop point (ZDEp) % (%)
- description: The stop points of a Routing Constraint Zone must be activated
+ route:
+ zdl_stop_area:
+ messages:
+ 3_route_1: "The route with % objectid connect the stop points % % et % % which belong to the same ZDL"
+ description: "Two stop points which belong to the same ZDL cannot follow one another in a route"
+ opposite_route:
+ messages:
+ 3_route_2: "The route with % objectid references an incoherent oppposite route %"
+ description: |
+ "If the route has an opposite route, it must :
+ - reference the opposite route
+ - have an opposite route in relation with the tested route"
+ journey_pattern:
+ messages:
+ 3_route_3: "The route with % objectid doesn't have any journey pattern"
+ description: "A route must have at least one journey pattern"
+ duplicates:
+ messages:
+ 3_route_4: "The route with % objectid is identical with another route %"
+ description: "2 routes cannot connect the same stop points with the same order and the same boarding and alighting characteristics"
+ opposite_route_terminus:
+ messages:
+ 3_route_5: "The route with % objectid has a first stop from the % ZDL whereas its oppoite route's last stop is from the ZDL %"
+ description: "Deux itinéraires en aller/retour doivent desservir les mêmes terminus"
+ minimum_length:
+ messages:
+ 3_route_6: "The route with % objectid does not connect enough stop points (required 2 stop points)"
+ description: "A route must have at least 2 stop points"
+ omnibus_journey_pattern:
+ messages:
+ 3_route_9: "The route with % objectid does not have a journey pattern that connect all of its stop points"
+ description: "A journey pattern of a route should connect all of a route's stop points"
+ unactivated_stop_point:
+ messages:
+ 3_route_10: "L'itinéraire % référence un arrêt (ZDEp) désactivé % (%)"
+ description: "Les arrêts d'un itinéraire ne doivent pas être désactivés"
+ journey_pattern:
+ duplicates:
+ messages:
+ 3_journeypattern_1: "The journey pattern with objectid % is identical with another one %"
+ description: "Two journey patterns belonging to the same line must not connect the same stop points in the same order"
+ vehicle_journey:
+ messages:
+ 3_journeypattern_2: "The journey pattern with % objectid doesn't have any vehicle journey"
+ description: "A journey pattern must have at least one vehicle journey"
+ vehicle_journey:
+ waiting_time:
+ messages:
+ 3_vehiclejourney_1: "On the following vehicle journey %, the waiting time % a this stop point % (%) is greater than the threshold (%)"
+ description: "The waiting time at a specific stop point cannot be too big"
+ speed:
+ messages:
+ 3_vehiclejourney_2_1: "On the following vehicle journey %, the computed speed % between the stop points % (%) and % (%) is greater than the threshold (%)"
+ 3_vehiclejourney_2_2: "On the following vehicle journey %, the computed speed % between the stop points % (%) and % (%) is smaller than the threshold (%)"
+ description: "The speed between 2 stop points should be confined between two thresholds"
+ delta:
+ messages:
+ 3_vehiclejourney_3: "The travel time on the vehicle journey with % objectid between the stop points % (%) and % (% is too far off % the average waiting on the journey pattern"
+ description: "The travel time between two following stop points must be close to all the vehicle journey of a journey pattern"
+ time_table:
+ messages:
+ 3_vehiclejourney_4: "The vehicle journey with % objectid does not have a timetable"
+ description: "A vehicle journey must have at least one timetable"
+ vehicle_journey_at_stops:
+ messages:
+ 3_vehiclejourney_5_1: "The vehicle journey with % objectid has an arrival time % greater than the departure time % at the stop point % (%)"
+ 3_vehiclejourney_5_2: "The vehicle journey with % objectid has an departure time % at stop point % (%) greater than the arrival % at the next stop point"
+ description: "The arrival time of a stop point must be smaller than the departure time of this stop point AND the departure time of the stop points must be in chronological order"
+ routing_constraint_zone:
+ vehicle_journey_at_stops:
+ messages:
+ 3_itl_1: "The Routing Constraint Zone % references an unactivated stop point (ZDEp) % (%)"
+ description: "The stop points of a Routing Constraint Zone must be activated"
+ maximum_length:
+ messages:
+ 3_itl_2: "The Routing Constraint Zone % covers all the stop points of its related route : % %."
+ description: "A Routing Constraint Zone cannot cover all the stop points of a route"
+ minimum_length:
+ messages:
+ 3_itl_3: "The Routing Constraint Zone % has less than 2 stop points"
+ description: "A Routing Constraint Zone must have at least 2 stop points"
+ line:
+ route:
+ messages:
+ 3_line_1: "On line : % (%), no route has an opposite route"
+ description: "The routes of a line must have an opposite route"
+ generic:
+ content:
+ messages:
+ 3_generic_1: "% : the % attribute value (%) does not respect the following pattern : %"
+ description: "The object attribute must respect a patten (regular expression)"
+ min_max:
+ messages:
+ 3_generic_2_1: "% : the % attributes's value (%) is greater than the authorized maximum value : %"
+ 3_generic_2_2: "% : the % attributes's value (%) is smaller than the authorized minimum value %"
+ description: "The numeric value of an attribute must be contained between 2 values"
+ uniqueness:
+ messages:
+ 3_generic_3: "% : the % attribute's value (%) of % is in conflict with : %"
+ description: "The attribute's value must be unique compared to the other objects ofthe same type (related to the same line)"
diff --git a/config/locales/compliance_controls.fr.yml b/config/locales/compliance_controls.fr.yml
index 78359b998..1eff5d0e6 100644
--- a/config/locales/compliance_controls.fr.yml
+++ b/config/locales/compliance_controls.fr.yml
@@ -1,4 +1,14 @@
fr:
+ activerecord:
+ models:
+ one: "jeu de controle"
+ other: "jeux de controle"
+ attributes:
+ compliance_control:
+ name: "Nom"
+ criticity: "Criticité"
+ comment: "Commentaire"
+ code: "Code"
compliance_controls:
actions:
new: "Ajouter un jeu de controle"
@@ -13,74 +23,103 @@ fr:
title: "Ajouter un jeu de controle"
edit:
title: "Editer le jeu de controle"
- activerecord:
- models:
- one: "jeu de controle"
- other: "jeux de controle"
- attributes:
- compliance_control:
- name: "Nom"
- criticity: "Criticité"
- comment: "Commentaire"
- code: "Code"
- route:
- zdl_stop_area:
- messages:
- 3_route_1: "L'itinéraire % dessert successivement les arrêts % % et % % de la même zone de lieu"
- description: "Deux arrêts d’une même ZDL ne peuvent pas se succéder dans un itinéraire"
- opposite_route:
- messages:
- 3_route_2: "L'itinéraire % référence un itinéraire retour % incohérent"
- description: |
- "Si l'itinéraire référence un itinéraire inverse, celui-ci doit :
- - référencer l'itinéraire inverse
- - avoir un sens opposé à l'itinéraire testé"
- duplicates:
- messages:
- 3_route_4: "L'itinéraire % est identique à l'itinéraire %"
- description: "2 itinéraires ne doivent pas desservir strictement les mêmes arrêts dans le même ordre avec les mêmes critères de monté/descente"
- minimum_length:
- messages:
- 3_route_6: "L'itinéraire % ne dessert pas assez d'arrêts (minimum 2 requis)"
- description: "Un itinéraire doit référencer au moins 2 arrêts"
- omnibus_journey_pattern:
- messages:
- 3_route_9: "L'itinéraire % n'a aucune mission desservant l'ensemble de ses arrêts"
- description: "Une mission de l'itinéraire devrait desservir l'ensemble des arrêts de celui-ci"
- unactivated_stop_point:
- messages:
- 3_route_10: "L'itinéraire % référence un arrêt (ZDEp) désactivé % (%)"
- description: "Les arrêts d'un itinéraire ne doivent pas être désactivés"
- journey_pattern:
- duplicates:
- messages:
- 3_journeypattern_1: "La mission % est identique à la mission %"
- description: "Deux missions de la même ligne ne doivent pas desservir les mêmes arrêts dans le même ordre"
- vehicle_journey:
- waiting_time:
- messages:
- 3_vehiclejourney_1: "Sur la course %, le temps d'attente % à l'arrêt % (%) est supérieur au seuil toléré (%)"
- description: "La durée d’attente à un arrêt ne doit pas être trop grande"
- speed:
- messages:
- 3_vehiclejourney_2_1: "Sur la course %, la vitesse calculée % entre les arrêts % (%) et % (%) est supérieur au seuil toléré (%)"
- 3_vehiclejourney_2_2: "Sur la course %, la vitesse calculée % entre les arrêts % (%) et % (%) est inférieur au seuil toléré (%)"
- description: "La vitesse entre deux arrêts doit être dans une fourchette paramétrable"
- delta:
- messages:
- 3_vehiclejourney_3: "Le temps de parcours sur la course % entre les arrêts % (%) et % (% s'écarte de % du temps moyen constaté sur la mission"
- description: "Les temps de parcours entre 2 arrêts successifs doivent être similaires pour toutes les courses d’une même mission"
- time_table:
- messages:
- 3_vehiclejourney_4: "La course % n'a pas de calendrier d'application"
- description: "Une course doit avoir au moins un calendrier d’application"
- vehicle_journey_at_stops:
- messages:
- 3_vehiclejourney_5_1: "La course % a un horaire d'arrivé % supérieur à l'horaire de départ % à l'arrêt {nomArrêt} (%)"
- 3_vehiclejourney_5_2: "La course % a un horaire de départ % à l'arrêt {nomArrêt} (%) supérieur à l'horaire d'arrivé % à l'arrêt suivant"
- description: "L'horaire d'arrivée à un arrêt doit être antérieur à l'horaire de départ de cet arrêt ET les horaires de départ aux arrêts doivent être dans l'ordre chronologique croissant."
- routing_constraint_zone:
- vehicle_journey_at_stops:
- messages:
- 3_itl_1: "L'ITL % référence un arrêt (ZDEp) désactivé % (%)"
- description: "Les arrêts d'une ITL ne doivent pas être désactivés"
+ route:
+ zdl_stop_area:
+ messages:
+ 3_route_1: "L'itinéraire % dessert successivement les arrêts % % et % % de la même zone de lieu"
+ description: "Deux arrêts d’une même ZDL ne peuvent pas se succéder dans un itinéraire"
+ opposite_route:
+ messages:
+ 3_route_2: "L'itinéraire % référence un itinéraire retour % incohérent"
+ description: |
+ "Si l'itinéraire référence un itinéraire inverse, celui-ci doit :
+ - référencer l'itinéraire inverse
+ - avoir un sens opposé à l'itinéraire testé"
+ journey_pattern:
+ messages:
+ 3_route_3: "L'itinéraire % n'a pas de mission"
+ description: "Un itinéraire doit avoir au moins une mission"
+ duplicates:
+ messages:
+ 3_route_4: "L'itinéraire % est identique à l'itinéraire %"
+ description: "2 itinéraires ne doivent pas desservir strictement les mêmes arrêts dans le même ordre avec les mêmes critères de monté/descente"
+ opposite_route_terminus:
+ messages:
+ 3_route_5: "L'itinéraire % dessert au départ un arrêt de la ZDL % alors que l'itinéraire inverse dessert à l'arrivée un arrêt de la ZDL %"
+ description: "Deux itinéraires en aller/retour doivent desservir les mêmes terminus"
+ minimum_length:
+ messages:
+ 3_route_6: "L'itinéraire % ne dessert pas assez d'arrêts (minimum 2 requis)"
+ description: "Un itinéraire doit référencer au moins 2 arrêts"
+ omnibus_journey_pattern:
+ messages:
+ 3_route_9: "L'itinéraire % n'a aucune mission desservant l'ensemble de ses arrêts"
+ description: "Une mission de l'itinéraire devrait desservir l'ensemble des arrêts de celui-ci"
+ unactivated_stop_point:
+ messages:
+ 3_route_10: "L'itinéraire % référence un arrêt (ZDEp) désactivé % (%)"
+ description: "Les arrêts d'un itinéraire ne doivent pas être désactivés"
+ journey_pattern:
+ duplicates:
+ messages:
+ 3_journeypattern_1: "La mission % est identique à la mission %"
+ description: "Deux missions de la même ligne ne doivent pas desservir les mêmes arrêts dans le même ordre"
+ vehicle_journey:
+ messages:
+ 3_journeypattern_2: "La mission % n'a pas de course"
+ description: "Une mission doit avoir au moins une course"
+ vehicle_journey:
+ waiting_time:
+ messages:
+ 3_vehiclejourney_1: "Sur la course %, le temps d'attente % à l'arrêt % (%) est supérieur au seuil toléré (%)"
+ description: "La durée d’attente à un arrêt ne doit pas être trop grande"
+ speed:
+ messages:
+ 3_vehiclejourney_2_1: "Sur la course %, la vitesse calculée % entre les arrêts % (%) et % (%) est supérieur au seuil toléré (%)"
+ 3_vehiclejourney_2_2: "Sur la course %, la vitesse calculée % entre les arrêts % (%) et % (%) est inférieur au seuil toléré (%)"
+ description: "La vitesse entre deux arrêts doit être dans une fourchette paramétrable"
+ delta:
+ messages:
+ 3_vehiclejourney_3: "Le temps de parcours sur la course % entre les arrêts % (%) et % (% s'écarte de % du temps moyen constaté sur la mission"
+ description: "Les temps de parcours entre 2 arrêts successifs doivent être similaires pour toutes les courses d’une même mission"
+ time_table:
+ messages:
+ 3_vehiclejourney_4: "La course % n'a pas de calendrier d'application"
+ description: "Une course doit avoir au moins un calendrier d’application"
+ vehicle_journey_at_stops:
+ messages:
+ 3_vehiclejourney_5_1: "La course % a un horaire d'arrivé % supérieur à l'horaire de départ % à l'arrêt {nomArrêt} (%)"
+ 3_vehiclejourney_5_2: "La course % a un horaire de départ % à l'arrêt {nomArrêt} (%) supérieur à l'horaire d'arrivé % à l'arrêt suivant"
+ description: "L'horaire d'arrivée à un arrêt doit être antérieur à l'horaire de départ de cet arrêt ET les horaires de départ aux arrêts doivent être dans l'ordre chronologique croissant."
+ routing_constraint_zone:
+ vehicle_journey_at_stops:
+ messages:
+ 3_itl_1: "L'ITL % référence un arrêt (ZDEp) désactivé % (%)"
+ description: "Les arrêts d'une ITL ne doivent pas être désactivés"
+ maximum_length:
+ messages:
+ 3_itl_2: "L'ITL % couvre tous les arrêts de l'itinéraire %."
+ description: "Une ITL ne peut pas couvrir l'ensemble des arrêts de l'itinéraire"
+ minimum_length:
+ messages:
+ 3_itl_3: "L'ITL % n'a pas suffisament d'arrêts (minimum 2 arrêts requis)"
+ description: "Une ITL doit référencer au moins 2 arrêts"
+ line:
+ route:
+ messages:
+ 3_line_1: "Sur la ligne % (%), aucun itinéraire n'a d'itinéraire inverse"
+ description: "Les itinéraires d'une ligne doivent être associés en aller/retour"
+ generic:
+ content:
+ messages:
+ 3_generic_1: "% : l'attribut % à une valeur % qui ne respecte pas le motif %"
+ description: "l'attribut de l'objet doit respecter un motif (expression régulière)"
+ min_max:
+ messages:
+ 3_generic_2_1: "% : l'attribut % à une valeur % supérieure à la valeur maximale autorisée %"
+ 3_generic_2_2: "% : l'attribut % à une valeur % inférieure à la valeur minimale autorisée %"
+ description: "La valeur numérique de l'attribut doit rester comprise entre 2 valeurs"
+ uniqueness:
+ messages:
+ 3_generic_3: "La valeur de l'attribut doit être unique au sein des objets de la ligne"
+ description: "% : l'attribut % de % à une valeur % en conflit avec %"
diff --git a/config/locales/import_messages.en.yml b/config/locales/import_messages.en.yml
index e1ef8a078..4009d7c77 100644
--- a/config/locales/import_messages.en.yml
+++ b/config/locales/import_messages.en.yml
@@ -12,7 +12,7 @@ en:
2_netexstif_3_2: "Le fichier %{source_filename} contient une frame nommée %{error_value} non acceptée"
2_netexstif_3_3: "la frame NETEX_OFFRE_LIGNE du fichier %{source_filename} ne contient pas la frame %{error_value} obligatoire"
2_netexstif_3_4: "la frame NETEX_OFFRE_LIGNE du fichier %{source_filename} contient une frame %{error_value} non acceptée"
- 2_netexstif_4: "%{source_filename}-Ligne %{source_line_number}-Colonne %{source_column_number} : l'identifiant %{source_objectid} de l'objet %{source_label} ne respecte pas la syntaxe [CODESPACE]:%{source_label}:[identifiant Technique]:LOC"
+ 2_netexstif_4: "%{source_filename}-Ligne %{source_line_number}-Colonne %{source_column_number} : l'identifiant %{source_objectid} de l'objet %{error_value} ne respecte pas la syntaxe %{reference_value}"
2_netexstif_6: "%{source_filename}-Ligne %{source_line_number}-Colonne %{source_column_number} : l'objet %{source_label} d'identifiant %{source_objectid} a un état de modification interdit : 'delete'"
2_netexstif_7: "%{source_filename}-Ligne %{source_line_number}-Colonne %{source_column_number} : l'objet %{source_label} d'identifiant %{source_objectid} définit une référence %{reference_value} de syntaxe invalide : %{error_value}"
2_netexstif_8_1: "%{source_filename}-Ligne %{source_line_number}-Colonne %{source_column_number} : l'objet %{source_label} d'identifiant %{source_objectid} définit une référence %{error_value} de type externe : référence interne attendue"
diff --git a/config/locales/import_messages.fr.yml b/config/locales/import_messages.fr.yml
index 8d6a4ee91..085299bb4 100644
--- a/config/locales/import_messages.fr.yml
+++ b/config/locales/import_messages.fr.yml
@@ -12,7 +12,7 @@ fr:
2_netexstif_3_2: "Le fichier %{source_filename} contient une frame nommée %{error_value} non acceptée"
2_netexstif_3_3: "la frame NETEX_OFFRE_LIGNE du fichier %{source_filename} ne contient pas la frame %{error_value} obligatoire"
2_netexstif_3_4: "la frame NETEX_OFFRE_LIGNE du fichier %{source_filename} contient une frame %{error_value} non acceptée"
- 2_netexstif_4: "%{source_filename}-Ligne %{source_line_number}-Colonne %{source_column_number} : l'identifiant %{source_objectid} de l'objet %{source_label} ne respecte pas la syntaxe [CODESPACE]:%{source_label}:[identifiant Technique]:LOC"
+ 2_netexstif_4: "%{source_filename}-Ligne %{source_line_number}-Colonne %{source_column_number} : l'identifiant %{source_objectid} de l'objet %{error_value} ne respecte pas la syntaxe %{reference_value}"
2_netexstif_6: "%{source_filename}-Ligne %{source_line_number}-Colonne %{source_column_number} : l'objet %{source_label} d'identifiant %{source_objectid} a un état de modification interdit : 'delete'"
2_netexstif_7: "%{source_filename}-Ligne %{source_line_number}-Colonne %{source_column_number} : l'objet %{source_label} d'identifiant %{source_objectid} définit une référence %{reference_value} de syntaxe invalide : %{error_value}"
2_netexstif_8_1: "%{source_filename}-Ligne %{source_line_number}-Colonne %{source_column_number} : l'objet %{source_label} d'identifiant %{source_objectid} définit une référence %{error_value} de type externe : référence interne attendue"
diff --git a/config/routes.rb b/config/routes.rb
index 97e0257c2..ef625db1f 100644
--- a/config/routes.rb
+++ b/config/routes.rb
@@ -12,8 +12,6 @@ ChouetteIhm::Application.routes.draw do
end
end
- resources :compliance_control_sets
-
devise_for :users, :controllers => {
:registrations => 'users/registrations', :invitations => 'users/invitations'
}