allow meeting name separately when joining from room

This commit is contained in:
Zachary Chai
2017-01-26 18:59:25 -05:00
parent 066755c56c
commit 5180a99c32
4 changed files with 49 additions and 11 deletions

View File

@ -26,15 +26,34 @@ class BbbController < ApplicationController
# GET /:resource/:id/join
def join
if params[:name].blank?
render_bbb_response("missing_parameter", "user name was not included", :unprocessable_entity)
return render_bbb_response(
messageKey: "missing_parameter",
message: "user name was not included",
status: :unprocessable_entity
)
else
user = User.find_by encrypted_id: params[:id]
if params[:room_id]
user = User.find_by encrypted_id: params[:room_id]
if !user
return render_bbb_response(
messageKey: "not_found",
message: "User Not Found",
status: :not_found
)
end
meeting_id = params[:room_id]
meeting_name = params[:id]
else
meeting_id = params[:id]
user = User.find_by encrypted_id: params[:id]
end
options = if user
{
wait_for_moderator: true,
meeting_recorded: true,
meeting_name: user.name,
meeting_name: meeting_name,
user_is_moderator: current_user == user
}
else
@ -42,23 +61,24 @@ class BbbController < ApplicationController
user_is_moderator: true
}
end
base_url = "#{request.base_url}/#{params[:resource]}/#{params[:id]}"
base_url = "#{request.base_url}/#{params[:resource]}/#{meeting_id}"
options[:meeting_logout_url] = base_url
options[:hook_url] = "#{base_url}/callback"
bbb_res = bbb_join_url(
params[:id],
meeting_id,
params[:name],
options
)
# the user can join the meeting
if bbb_res[:returncode] && current_user && current_user == user
JoinMeetingJob.perform_later(params[:id])
JoinMeetingJob.perform_later(meeting_id)
# user will be waiting for a moderator
else
NotifyUserWaitingJob.perform_later(params[:id], params[:name])
NotifyUserWaitingJob.perform_later(meeting_id, params[:name])
end
render_bbb_response bbb_res, bbb_res[:response]