diff options
| author | Marc Florisson | 2014-12-23 12:21:39 +0100 | 
|---|---|---|
| committer | Marc Florisson | 2014-12-23 12:21:39 +0100 | 
| commit | ec8d4b5d7941ba39a6d918e56a56418cf817aeed (patch) | |
| tree | 64d2625c75d8bd9f69a06ddb575349d85a950dfb /app | |
| parent | af05b9d9832ab3b74b1a810246ea7d499010d5c9 (diff) | |
| download | chouette-core-ec8d4b5d7941ba39a6d918e56a56418cf817aeed.tar.bz2 | |
isolation of calendar autocomplete, add presenters. Mantis 31068
Diffstat (limited to 'app')
| -rw-r--r-- | app/presenters/time_table_presenter.rb | 52 | ||||
| -rw-r--r-- | app/presenters/vehicle_journey_presenter.rb | 11 | 
2 files changed, 63 insertions, 0 deletions
| diff --git a/app/presenters/time_table_presenter.rb b/app/presenters/time_table_presenter.rb new file mode 100644 index 000000000..140087c4f --- /dev/null +++ b/app/presenters/time_table_presenter.rb @@ -0,0 +1,52 @@ +class TimeTablePresenter + +  def initialize(time_table) +    @time_table = time_table +  end + +  def time_table_state_code +    if @time_table.validity_out_from_on?(Date.today) +      "validity_out" +    elsif @time_table.validity_out_between?(Date.today,Date.today+7.day) +      "validity_out_soon" +    else +      "validity_regular" +    end +  end + +  def tag_list_shortened +    @time_table.tags.join(', ').truncate(30, separator: ',') +  end + +  def time_table_bounding +    return I18n.t('time_tables.time_table.empty') if @time_table.bounding_dates.empty? +    "#{I18n.l(@time_table.bounding_dates.min)} #{I18n.l(@time_table.bounding_dates.max)}" +  end + +  def time_tables_shortest_info +    return I18n.t('time_tables.time_table.empty') if @time_table.bounding_dates.empty? +    "#{I18n.l(@time_table.bounding_dates.min)} #{I18n.l(@time_table.bounding_dates.max)}" +  end + +  def composition_info +    return if @time_table.bounding_dates.empty? +    if @time_table.dates.empty? +      I18n.t('time_tables.time_table.periods_count', :count => @time_table.periods.count) +    elsif @time_table.periods.empty? +      I18n.t('time_tables.time_table.dates_count', :count => @time_table.dates.count) +    else +      I18n.t('time_tables.time_table.periods_dates_count', +        :dates_count => @time_table.dates.count, +        :periods_count => @time_table.periods.count) +    end +  end + +private +  def bounding_info +    return I18n.t('time_tables.time_table.empty') if @time_table.bounding_dates.empty? +    I18n.t('time_tables.time_table.bounding', +        :start => l(@time_table.bounding_dates.min), +        :end => l(@time_table.bounding_dates.max)) +  end + +end diff --git a/app/presenters/vehicle_journey_presenter.rb b/app/presenters/vehicle_journey_presenter.rb new file mode 100644 index 000000000..b244946db --- /dev/null +++ b/app/presenters/vehicle_journey_presenter.rb @@ -0,0 +1,11 @@ +class VehicleJourneyPresenter + +  def initialize(vehicle_journey) +    @vehicle_journey = vehicle_journey +  end + +  def time_tables_shortest_info +    return I18n.t('time_tables.time_table.empty') if @vehicle_journey.bounding_dates.empty? +    "#{I18n.l(@vehicle_journey.bounding_dates.min)} #{I18n.l(@vehicle_journey.bounding_dates.max)}" +  end +end | 
