diff --git a/Gemfile.lock b/Gemfile.lock index 0d47c13fa86f107b013b49ce16e563d6f96a9a1b..34dcfda0c600b43efe9654b8893c9af5348d193b 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -555,6 +555,3 @@ DEPENDENCIES uglifier (~> 4.2.0) web-console (~> 3.7, >= 3.7.0) webmock (~> 3.11) - -BUNDLED WITH - 2.1.4 diff --git a/app/controllers/concerns/bbb_server.rb b/app/controllers/concerns/bbb_server.rb index 26d9ea2d46db9dcd32617c8b4c9e1db238fca019..8f8454488137ba27b930778bad306eed22f3dfed 100644 --- a/app/controllers/concerns/bbb_server.rb +++ b/app/controllers/concerns/bbb_server.rb @@ -56,6 +56,7 @@ module BbbServer join_opts[:join_via_html5] = true join_opts[:avatarURL] = options[:avatarURL] if options[:avatarURL].present? join_opts[:createTime] = room.last_session.to_datetime.strftime("%Q") if room.last_session + join_opts[:guest] = true if options[:guest] bbb_server.join_meeting_url(room.bbb_id, name, password, join_opts) end diff --git a/app/controllers/concerns/joiner.rb b/app/controllers/concerns/joiner.rb index f887ed43ecacd1074a5b3b1f0becee2131ec7dfb..9d51ae1d846ba9044ff11adcd38163eb64da75b0 100644 --- a/app/controllers/concerns/joiner.rb +++ b/app/controllers/concerns/joiner.rb @@ -68,6 +68,7 @@ module Joiner opts[:record] = record_meeting opts[:require_moderator_approval] = room_setting_with_config("requireModeratorApproval") opts[:mute_on_start] = room_setting_with_config("muteOnStart") + opts[:guest] = current_user.nil? if current_user redirect_to join_path(@room, current_user.name, opts, current_user.uid) diff --git a/spec/controllers/rooms_controller_spec.rb b/spec/controllers/rooms_controller_spec.rb index 58131c0b316ca6f31c0231bb1988ad19eb21d800..ecea8272d82d0468188901b624c26fde8c4377c7 100644 --- a/spec/controllers/rooms_controller_spec.rb +++ b/spec/controllers/rooms_controller_spec.rb @@ -270,7 +270,7 @@ describe RoomsController, type: :controller do allow_any_instance_of(BigBlueButton::BigBlueButtonApi).to receive(:is_meeting_running?).and_return(true) post :join, params: { room_uid: @room, join_name: "Join Name" } - expect(response).to redirect_to(join_path(@owner.main_room, "Join Name", {}, response.cookies["guest_id"])) + expect(response).to redirect_to(join_path(@owner.main_room, "Join Name", { guest: true }, response.cookies["guest_id"])) end it "should use join name if user is not logged in and meeting running and moderator access code is enabled and set" do @@ -286,7 +286,8 @@ describe RoomsController, type: :controller do post :join, params: { room_uid: room, join_name: "Join Name" }, session: { moderator_access_code: "abcdef" } - expect(response).to redirect_to(join_path(room, "Join Name", { user_is_moderator: true }, response.cookies["guest_id"])) + expect(response).to redirect_to(join_path(room, "Join Name", { user_is_moderator: true, guest: true }, +response.cookies["guest_id"])) end it "should render wait if meeting isn't running" do @@ -427,7 +428,8 @@ describe RoomsController, type: :controller do post :join, params: { room_uid: room, join_name: "Join Name" }, session: { moderator_access_code: "abcdef" } - expect(response).to redirect_to(join_path(room, "Join Name", { user_is_moderator: true }, response.cookies["guest_id"])) + expect(response).to redirect_to(join_path(room, "Join Name", { user_is_moderator: true, guest: true }, +response.cookies["guest_id"])) end it "should join the room as moderator if the user has the moderator_access code (and regular access code is set)" do @@ -443,7 +445,8 @@ describe RoomsController, type: :controller do post :join, params: { room_uid: room, join_name: "Join Name" }, session: { moderator_access_code: "abcdef" } - expect(response).to redirect_to(join_path(room, "Join Name", { user_is_moderator: true }, response.cookies["guest_id"])) + expect(response).to redirect_to(join_path(room, "Join Name", { user_is_moderator: true, guest: true }, +response.cookies["guest_id"])) end it "should redirect to login if a wrong moderator access code is supplied" do