From 4085800c5f8f5fc037e1856ac8a9374e4e11000a Mon Sep 17 00:00:00 2001 From: Ahmad Farhat <ahmad.af.farhat@gmail.com> Date: Thu, 5 Jan 2023 14:34:08 -0500 Subject: [PATCH] Added guest=true for all users not signed in (#4414) * Added guest=true for all users not signed in * Rubo --- Gemfile.lock | 3 --- app/controllers/concerns/bbb_server.rb | 1 + app/controllers/concerns/joiner.rb | 1 + spec/controllers/rooms_controller_spec.rb | 11 +++++++---- 4 files changed, 9 insertions(+), 7 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 0d47c13f..34dcfda0 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 26d9ea2d..8f845448 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 f887ed43..9d51ae1d 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 58131c0b..ecea8272 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 -- GitLab