aboutsummaryrefslogtreecommitdiffstats
path: root/app
diff options
context:
space:
mode:
authorcedricnjanga2017-07-13 15:19:00 +0200
committercedricnjanga2017-07-13 15:19:00 +0200
commit5c0b381591169d969f99f87ebaaedaff6965deb7 (patch)
tree1dbc989a4dd7c763b456d2b4a46764c052b49f6c /app
parentbc33eba0f1129a491a56bc9b616f388477489b0b (diff)
downloadchouette-core-5c0b381591169d969f99f87ebaaedaff6965deb7.tar.bz2
#3367Update Timetable filter to include start and end date of TimeTable::Periods + Dates
Diffstat (limited to 'app')
-rw-r--r--app/models/chouette/time_table.rb7
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