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

63 lines
1.8 KiB
Ruby

class MusicSessionsController < ApplicationController
respond_to :html
def show
@music_session = MusicSession.find(params[:id])
render :layout => "web"
end
def session_info
@can_view = true
@music_session = MusicSession.find(params[:id])
unless current_user.nil?
invitations = Invitation.where("music_session_id = ? AND receiver_id = ?", @music_session.id, current_user.id)
has_invitation = !invitations.blank?
unless @music_session.scheduled_start.nil?
# session has not started yet
if @music_session.scheduled_start > Time.now.utc
if @music_session.creator.id == current_user.id || @music_session.open_rsvps || has_invitation
@can_view = true
else
@can_view = false
end
# session has started
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
else
@can_view = false
end
end
end
end
# 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
render :layout => "web"
else
render :layout => "web"
end
end
def session_video
music_session = current_user.music_sessions.find(params[:music_session_id])
tok = current_user.temp_tokens.create
video_conf_url = "#{Rails.application.config.video_conferencing_host}/room/#{music_session.id}?token=#{tok.token}"
redirect_to video_conf_url
end
end