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/presenters | |
| parent | af05b9d9832ab3b74b1a810246ea7d499010d5c9 (diff) | |
| download | chouette-core-ec8d4b5d7941ba39a6d918e56a56418cf817aeed.tar.bz2 | |
isolation of calendar autocomplete, add presenters. Mantis 31068
Diffstat (limited to 'app/presenters')
| -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 |
