2019-07-30 21:29:24 +00:00
|
|
|
# frozen_string_literal: true
|
|
|
|
|
2018-03-25 16:15:39 +00:00
|
|
|
# License: AGPL-3.0-or-later WITH Web-Template-Output-Additional-Permission-3.0-or-later
|
2018-03-25 17:30:42 +00:00
|
|
|
module QueryEventOrganizer
|
2019-07-30 21:29:24 +00:00
|
|
|
def self.with_event(event_id)
|
2018-03-25 17:30:42 +00:00
|
|
|
Qx.select(
|
2019-07-30 21:29:24 +00:00
|
|
|
'coalesce(profiles.name, nonprofits.name) AS name',
|
|
|
|
'coalesce(users.email, nonprofits.email) AS email'
|
|
|
|
)
|
2018-03-25 17:30:42 +00:00
|
|
|
.from(:events)
|
2019-07-30 21:29:24 +00:00
|
|
|
.left_join(:profiles, 'profiles.id=events.profile_id')
|
|
|
|
.add_left_join(:users, 'profiles.user_id=users.id')
|
|
|
|
.add_join(:nonprofits, 'events.nonprofit_id=nonprofits.id')
|
|
|
|
.where('events.id=$id', id: event_id)
|
2018-03-25 17:30:42 +00:00
|
|
|
.execute.first
|
2019-07-30 21:29:24 +00:00
|
|
|
end
|
2018-03-25 17:30:42 +00:00
|
|
|
end
|