diff options
| author | cedricnjanga | 2017-08-29 14:49:02 +0200 |
|---|---|---|
| committer | cedricnjanga | 2017-08-29 14:57:53 +0200 |
| commit | 7869c9906fff1c13853d4a4a6ae4b367c64fb5d7 (patch) | |
| tree | eaef6fd850b7a27f97a935c21b4ae06c9f58e59e /app/models/chouette/time_table.rb | |
| parent | aa8b39b2679a39cf3c93a8df314a4446fae7a6ae (diff) | |
| download | chouette-core-7869c9906fff1c13853d4a4a6ae4b367c64fb5d7.tar.bz2 | |
Refs #3367 Change Time table overlap query
Diffstat (limited to 'app/models/chouette/time_table.rb')
| -rw-r--r-- | app/models/chouette/time_table.rb | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/app/models/chouette/time_table.rb b/app/models/chouette/time_table.rb index 3f56f6a1d..8aff3bf36 100644 --- a/app/models/chouette/time_table.rb +++ b/app/models/chouette/time_table.rb @@ -22,7 +22,11 @@ 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 JOIN time_table_periods ON time_tables.id = time_table_periods.time_table_id + LEFT JOIN time_table_dates ON time_tables.id = time_table_dates.time_table_id + ") + .where("(time_table_periods.period_start <= :end AND time_table_periods.period_end >= :start) OR (time_table_dates.date BETWEEN :start AND :end)", {start: date_start, end: date_end}) end after_save :save_shortcuts |
