aboutsummaryrefslogtreecommitdiffstats
path: root/app/presenters
diff options
context:
space:
mode:
authorMarc Florisson2014-12-23 12:21:39 +0100
committerMarc Florisson2014-12-23 12:21:39 +0100
commitec8d4b5d7941ba39a6d918e56a56418cf817aeed (patch)
tree64d2625c75d8bd9f69a06ddb575349d85a950dfb /app/presenters
parentaf05b9d9832ab3b74b1a810246ea7d499010d5c9 (diff)
downloadchouette-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.rb52
-rw-r--r--app/presenters/vehicle_journey_presenter.rb11
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