diff options
Diffstat (limited to 'app/models')
| -rw-r--r-- | app/models/occurrence.rb | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/app/models/occurrence.rb b/app/models/occurrence.rb index 777be24..41ef4cb 100644 --- a/app/models/occurrence.rb +++ b/app/models/occurrence.rb | |||
| @@ -10,9 +10,10 @@ class Occurrence < ApplicationRecord | |||
| 10 | # Class Methods | 10 | # Class Methods |
| 11 | 11 | ||
| 12 | def self.find_in_range start_time, end_time | 12 | def self.find_in_range start_time, end_time |
| 13 | includes(:node) | 13 | joins(:event) |
| 14 | .where("start_time > ? AND end_time < ?", start_time, end_time) | 14 | .includes(:node) |
| 15 | .order("start_time") | 15 | .where("occurrences.start_time > ? AND occurrences.end_time < ?", start_time, end_time) |
| 16 | .order("occurrences.start_time") | ||
| 16 | end | 17 | end |
| 17 | 18 | ||
| 18 | def self.find_next | 19 | def self.find_next |
| @@ -48,10 +49,11 @@ class Occurrence < ApplicationRecord | |||
| 48 | # Return value is always an array of Time objects. | 49 | # Return value is always an array of Time objects. |
| 49 | def self.generate_dates event | 50 | def self.generate_dates event |
| 50 | if event.rrule && !event.rrule.empty? | 51 | if event.rrule && !event.rrule.empty? |
| 51 | ChaosCalendar::occurrences( | 52 | ChaosCalendar::occurrences_for_timezone( |
| 52 | event.start_time, | 53 | event.start_time, |
| 53 | (Time.now + 5.years), | 54 | (Time.now + 5.years), |
| 54 | event.rrule | 55 | event.rrule, |
| 56 | Time.zone.tzinfo.identifier | ||
| 55 | ) | 57 | ) |
| 56 | else | 58 | else |
| 57 | [event.start_time] | 59 | [event.start_time] |
