aboutsummaryrefslogtreecommitdiffstats
path: root/app/helpers
diff options
context:
space:
mode:
Diffstat (limited to 'app/helpers')
-rw-r--r--app/helpers/application_helper.rb4
-rw-r--r--app/helpers/breadcrumb_helper.rb16
-rw-r--r--app/helpers/timebands_helper.rb2
-rw-r--r--app/helpers/vehicle_journey_frequencies_helper.rb9
-rw-r--r--app/helpers/vehicle_journeys_helper.rb29
5 files changed, 51 insertions, 9 deletions
diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb
index d3e9655b9..37b9d7a63 100644
--- a/app/helpers/application_helper.rb
+++ b/app/helpers/application_helper.rb
@@ -51,6 +51,8 @@ module ApplicationHelper
"group_of_lines"
when path.include?("/vehicle_journeys")
"vehicle_journeys"
+ when path.include?("/vehicle_journey_frequencies")
+ "vehicle_journeys"
when path.include?("/journey_patterns")
"journey_patterns"
when path.include?("/routes")
@@ -67,6 +69,8 @@ module ApplicationHelper
"connection_links"
when path.include?("/time_tables")
"time_tables"
+ when path.include?("/timebands")
+ "timebands"
when path.include?("/rule_parameter_set")
"parametersets"
when path.include?("/import_tasks")
diff --git a/app/helpers/breadcrumb_helper.rb b/app/helpers/breadcrumb_helper.rb
index c98691b72..52da8b887 100644
--- a/app/helpers/breadcrumb_helper.rb
+++ b/app/helpers/breadcrumb_helper.rb
@@ -16,6 +16,8 @@ module BreadcrumbHelper
journey_pattern_breadcrumb action
when "Chouette::VehicleJourney"
vehicle_journey_breadcrumb action
+ when "Chouette::VehicleJourneyFrequency"
+ vehicle_journey_frequency_breadcrumb action
when "VehicleJourneyImport"
vehicle_journey_import_breadcrumb action
when "Chouette::StopArea"
@@ -28,6 +30,8 @@ module BreadcrumbHelper
connection_link_breadcrumb action
when "Chouette::TimeTable"
time_table_breadcrumb action
+ when "Chouette::Timeband"
+ timeband_breadcrumb action
when "StopAreaCopy"
stop_area_copy_breadcrumb action
when "Import"
@@ -102,6 +106,12 @@ module BreadcrumbHelper
add_breadcrumb breadcrumb_label(@time_table), referential_time_table_path(@referential, @time_table),:title => breadcrumb_tooltip(@time_table) if action == :edit
end
+ def timeband_breadcrumb(action)
+ referential_breadcrumb
+ add_breadcrumb Chouette::Timeband.model_name.human(:count => 2), referential_timebands_path(@referential) unless action == :index
+ add_breadcrumb breadcrumb_label(@timeband), referential_timeband_path(@referential, @timeband),:title => breadcrumb_tooltip(@timeband) if action == :edit
+ end
+
def line_breadcrumb(action)
referential_breadcrumb
add_breadcrumb Chouette::Line.model_name.human(:count => 2), referential_lines_path(@referential) unless action == :index
@@ -124,6 +134,12 @@ module BreadcrumbHelper
add_breadcrumb breadcrumb_label(@vehicle_journey), referential_line_route_vehicle_journey_path(@referential, @line,@route,@vehicle_journey),:title => breadcrumb_tooltip(@vehicle_journey) if action == :edit
end
+ def vehicle_journey_frequency_breadcrumb(action)
+ route_breadcrumb :edit
+ add_breadcrumb I18n.t("breadcrumbs.vehicle_journey_frequencies"), referential_line_route_vehicle_journey_frequencies_path(@referential, @line, @route) unless action == :index
+ add_breadcrumb breadcrumb_label(@vehicle_journey_frequency), referential_line_route_vehicle_journey_frequency_path(@referential, @line,@route, @vehicle_journey_frequency),:title => breadcrumb_tooltip(@vehicle_journey_frequency) if action == :edit
+ end
+
def vehicle_journey_import_breadcrumb (action)
route_breadcrumb :edit
end
diff --git a/app/helpers/timebands_helper.rb b/app/helpers/timebands_helper.rb
new file mode 100644
index 000000000..51251e46f
--- /dev/null
+++ b/app/helpers/timebands_helper.rb
@@ -0,0 +1,2 @@
+module TimebandsHelper
+end
diff --git a/app/helpers/vehicle_journey_frequencies_helper.rb b/app/helpers/vehicle_journey_frequencies_helper.rb
new file mode 100644
index 000000000..1c603e4b1
--- /dev/null
+++ b/app/helpers/vehicle_journey_frequencies_helper.rb
@@ -0,0 +1,9 @@
+module VehicleJourneyFrequenciesHelper
+ def journey_frequency_percent(journey_frequency)
+ base = 100.0 / 2359.0
+ left = base * journey_frequency.first_departure_time.strftime("%H%M").to_i
+ right = base * journey_frequency.last_departure_time.strftime("%H%M").to_i
+ width = (right < left ? 100 - left : right - left)
+ [left.round(2), width.round(2)]
+ end
+end
diff --git a/app/helpers/vehicle_journeys_helper.rb b/app/helpers/vehicle_journeys_helper.rb
index 95741f441..c5f3242be 100644
--- a/app/helpers/vehicle_journeys_helper.rb
+++ b/app/helpers/vehicle_journeys_helper.rb
@@ -16,18 +16,29 @@ module VehicleJourneysHelper
return "missing" if (is_present && is_present.departure_time.nil?)
end
- def vehicle_departure(vehicle)
- first_vjas = vehicle.vehicle_journey_at_stops.first
- return "" unless first_vjas.departure_time
- l(first_vjas.departure_time, :format => :hour).gsub( / /, ' ')
+ def vehicle_departure(vehicle, departure_time=nil)
+ unless departure_time
+ first_vjas = vehicle.vehicle_journey_at_stops.first
+ return '' unless first_vjas.departure_time
+ departure_time = first_vjas.departure_time
+ end
+ l(departure_time, :format => :hour).gsub( / /, ' ')
end
- def vehicle_title( vehicle)
- return t('vehicle_journeys.vehicle_journey.title_stopless', :name => vehicle_name( vehicle)) if vehicle.vehicle_journey_at_stops.empty?
+ def vehicle_title(vehicle, journey_frequency=nil)
+ return t("vehicle_journeys.vehicle_journey#{'_frequency' if vehicle.frequency?}.title_stopless", :name => vehicle_name( vehicle)) if vehicle.vehicle_journey_at_stops.empty?
first_vjas = vehicle.vehicle_journey_at_stops.first
- t('vehicle_journeys.vehicle_journey.title',
- :stop => first_vjas.stop_point.stop_area.name,
- :time => vehicle_departure(vehicle))
+ if vehicle.frequency? && journey_frequency
+ t("vehicle_journeys.vehicle_journey_frequency.title_frequency",
+ :interval => l(journey_frequency.scheduled_headway_interval, format: :hour),
+ :stop => first_vjas.stop_point.stop_area.name,
+ :time_first => vehicle_departure(nil, journey_frequency.first_departure_time),
+ :time_last => vehicle_departure(nil, journey_frequency.last_departure_time))
+ else
+ t("vehicle_journeys.vehicle_journey#{'_frequency' if vehicle.frequency?}.title",
+ :stop => first_vjas.stop_point.stop_area.name,
+ :time => vehicle_departure(vehicle, (journey_frequency ? journey_frequency.first_departure_time : nil )))
+ end
end
def edit_vehicle_title( vehicle)