diff options
Diffstat (limited to 'app/helpers')
| -rw-r--r-- | app/helpers/application_helper.rb | 4 | ||||
| -rw-r--r-- | app/helpers/breadcrumb_helper.rb | 16 | ||||
| -rw-r--r-- | app/helpers/timebands_helper.rb | 2 | ||||
| -rw-r--r-- | app/helpers/vehicle_journey_frequencies_helper.rb | 9 | ||||
| -rw-r--r-- | app/helpers/vehicle_journeys_helper.rb | 29 |
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) |
