jam-cloud/web/app/controllers/music_sessions_controller.rb

57 lines
1.5 KiB
Ruby
Raw Normal View History

2012-10-03 00:54:29 +00:00
class MusicSessionsController < ApplicationController
respond_to :html
2012-10-03 00:54:29 +00:00
def show
2014-05-06 13:34:38 +00:00
@music_session = MusicSession.find(params[:id])
2014-01-20 14:28:06 +00:00
render :layout => "web"
2012-10-03 00:54:29 +00:00
end
def session_info
2014-05-24 07:58:47 +00:00
@can_view = true
@music_session = MusicSession.find(params[:id])
2014-05-24 07:58:47 +00:00
unless current_user.nil?
2014-05-27 04:32:14 +00:00
invitations = Invitation.where("music_session_id = ? AND receiver_id = ?", @music_session.id, current_user.id)
has_invitation = !invitations.blank?
2014-05-26 05:35:57 +00:00
unless @music_session.scheduled_start.nil?
2014-05-27 04:32:14 +00:00
# session has not started yet
2014-05-26 05:35:57 +00:00
if @music_session.scheduled_start > Time.now.utc
2014-05-27 04:32:14 +00:00
if @music_session.creator.id == current_user.id || @music_session.open_rsvps || has_invitation
@can_view = true
else
2014-05-26 05:35:57 +00:00
@can_view = false
end
2014-05-27 04:32:14 +00:00
# session has started
2014-05-26 05:35:57 +00:00
else
if @music_session.musician_access || current_user.id == @music_session.creator.id
@can_view = true
else
if current_user.has_approved_rsvp(@music_session)
@can_view = true
2014-05-27 04:32:14 +00:00
else
@can_view = false
end
end
2014-05-24 07:58:47 +00:00
end
end
2014-05-27 04:32:14 +00:00
# run these 3 queries only if the user has access to the page
if @can_view
@approved_rsvps = @music_session.approved_rsvps
@open_slots = @music_session.open_slots
@pending_invitations = @music_session.pending_invitations
end
2014-05-24 07:58:47 +00:00
render :layout => "web"
else
render :layout => "web"
2014-05-24 07:58:47 +00:00
end
2014-05-18 04:09:21 +00:00
end
2012-10-03 00:54:29 +00:00
end