diff options
| author | cedricnjanga | 2017-07-13 15:19:00 +0200 |
|---|---|---|
| committer | cedricnjanga | 2017-07-13 15:19:00 +0200 |
| commit | 5c0b381591169d969f99f87ebaaedaff6965deb7 (patch) | |
| tree | 1dbc989a4dd7c763b456d2b4a46764c052b49f6c | |
| parent | bc33eba0f1129a491a56bc9b616f388477489b0b (diff) | |
| download | chouette-core-5c0b381591169d969f99f87ebaaedaff6965deb7.tar.bz2 | |
#3367Update Timetable filter to include start and end date of TimeTable::Periods + Dates
| -rw-r--r-- | app/models/chouette/time_table.rb | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/app/models/chouette/time_table.rb b/app/models/chouette/time_table.rb index d907d797e..a328965a1 100644 --- a/app/models/chouette/time_table.rb +++ b/app/models/chouette/time_table.rb @@ -21,7 +21,12 @@ class Chouette::TimeTable < Chouette::TridentActiveRecord belongs_to :created_from, class_name: 'Chouette::TimeTable' scope :overlapping, -> (date_start, date_end) do - joins(:periods).where('(period_start, period_end) OVERLAPS (?, ?)', date_start, date_end) + joins + (' + LEFT OUTER JOIN "time_table_dates" ON "time_table_dates"."time_table_id" = "time_tables"."id" + LEFT OUTER JOIN "time_table_periods" ON "time_table_periods"."time_table_id" = "time_tables"."id" + ') + .where('(period_start <= :end and period_end >= :start) OR (date BETWEEN :start AND :end)', {start: date_start, end: date_end}) end after_save :save_shortcuts |
