Skip to content

Commit

Permalink
Fix calendar feed
Browse files Browse the repository at this point in the history
  • Loading branch information
hulloitskai committed Sep 24, 2023
1 parent 56d88e3 commit 793fcf7
Show file tree
Hide file tree
Showing 3 changed files with 15 additions and 8 deletions.
9 changes: 1 addition & 8 deletions app/controllers/users_controller.rb
Original file line number Diff line number Diff line change
Expand Up @@ -21,18 +21,11 @@ def calendar
raise "Invalid token" if user.calendar_token != params[:token]
cal = Icalendar::Calendar.new
cal.ip_name = "opencal"
user.activities.includes(:reservations).find_each do |activity|
user.all_activities.includes(:reservations).find_each do |activity|
cal.event do |event|
activity.save_to_icalendar_event(event)
end
end
user.groups.includes(activities: :reservations).find_each do |group|
group.activities.find_each do |activity|
cal.event do |event|
activity.save_to_icalendar_event(event)
end
end
end
cal.publish
render(plain: cal.to_ical)
end
Expand Down
1 change: 1 addition & 0 deletions app/models/activity.rb
Original file line number Diff line number Diff line change
Expand Up @@ -360,6 +360,7 @@ def _set_attributes_from_google_event(event, title:)
# == iCalendar
sig { params(event: Icalendar::Event).void }
def save_to_icalendar_event(event)
event.uid = id
event.dtstart = start_time
event.dtend = end_time
event.summary = google_event_title
Expand Down
13 changes: 13 additions & 0 deletions app/models/user.rb
Original file line number Diff line number Diff line change
Expand Up @@ -420,6 +420,19 @@ def sync_google_calendar(&block)
end
end

# == Activities
sig { returns(Activity::PrivateRelationWhereChain) }
def subscribed_activities
Activity
.joins(:activities_groups)
.where(activities_groups: { group: groups })
end

sig { returns(Activity::PrivateAssociationRelation) }
def all_activities
activities.merge(subscribed_activities)
end

# == Methods
sig { returns(T::Boolean) }
def admin?
Expand Down

0 comments on commit 793fcf7

Please sign in to comment.