From 92da1f6f876cbb0158f17d95433072428b75afa9 Mon Sep 17 00:00:00 2001 From: etiennevvv <59622352+etiennevvv@users.noreply.github.com> Date: Fri, 21 Feb 2020 09:20:22 -0500 Subject: [PATCH] GRN2-269: Pulling room settings using GET instead of data-attributes (#953) * GRN2-269: Pulling room settings using GET instead of data-attributes * GRN2-269: added test case and fixed documentation * GRN2:269: rubocop fix * GRN2-269: Fixed test case --- app/assets/javascripts/room.js | 18 +++++++++++------- app/controllers/rooms_controller.rb | 8 ++++++++ .../rooms/components/_room_block.html.erb | 4 ++-- config/routes.rb | 1 + spec/controllers/rooms_controller_spec.rb | 14 ++++++++++++++ 5 files changed, 36 insertions(+), 9 deletions(-) diff --git a/app/assets/javascripts/room.js b/app/assets/javascripts/room.js index 79e8652a..e3afbd8a 100644 --- a/app/assets/javascripts/room.js +++ b/app/assets/javascripts/room.js @@ -161,6 +161,7 @@ function showCreateRoom(target) { function showUpdateRoom(target) { var modal = $(target) var update_path = modal.closest("#room-block").data("path") + var settings_path = modal.data("settings-path") $("#create-room-name").val(modal.closest("#room-block").find("#room-name-text").text()) $("#createRoomModal form").attr("action", update_path) @@ -176,7 +177,7 @@ function showUpdateRoom(target) { if($(this).children().length > 0) { $(this).children().attr('style',"display:none !important") } }) - updateCurrentSettings(modal.closest("#room-block").data("room-settings")) + updateCurrentSettings(settings_path) var accessCode = modal.closest("#room-block").data("room-access-code") @@ -195,12 +196,15 @@ function showDeleteRoom(target) { } //Update the createRoomModal to show the correct current settings -function updateCurrentSettings(settings){ - //set checkbox - $("#room_mute_on_join").prop("checked", settings.muteOnStart) - $("#room_require_moderator_approval").prop("checked", settings.requireModeratorApproval) - $("#room_anyone_can_start").prop("checked", settings.anyoneCanStart) - $("#room_all_join_moderator").prop("checked", settings.joinModerator) +function updateCurrentSettings(settings_path){ + // Get current room settings and set checkbox + $.get(settings_path, function(room_settings) { + var settings = JSON.parse(room_settings) + $("#room_mute_on_join").prop("checked", settings.muteOnStart) + $("#room_require_moderator_approval").prop("checked", settings.requireModeratorApproval) + $("#room_anyone_can_start").prop("checked", settings.anyoneCanStart) + $("#room_all_join_moderator").prop("checked", settings.joinModerator) + }) } function generateAccessCode(){ diff --git a/app/controllers/rooms_controller.rb b/app/controllers/rooms_controller.rb index b6096d88..d02fba87 100644 --- a/app/controllers/rooms_controller.rb +++ b/app/controllers/rooms_controller.rb @@ -248,6 +248,14 @@ class RoomsController < ApplicationController end end + # GET /:room_uid/room_settings + def room_settings + # Respond with JSON object of the room_settings + respond_to do |format| + format.json { render body: @room.room_settings.to_json } + end + end + # GET /:room_uid/logout def logout logger.info "Support: #{current_user.present? ? current_user.email : 'Guest'} has left room #{@room.uid}" diff --git a/app/views/rooms/components/_room_block.html.erb b/app/views/rooms/components/_room_block.html.erb index bef5edf5..b2dfb822 100644 --- a/app/views/rooms/components/_room_block.html.erb +++ b/app/views/rooms/components/_room_block.html.erb @@ -13,7 +13,7 @@ # with BigBlueButton; if not, see . %> -
data-room-access-code="<%= room.access_code %>" class="card"> +
@@ -47,7 +47,7 @@