Added the ability to choose which room settings are available using env variable (#363)

This commit is contained in:
farhatahmad 2019-02-06 16:13:53 -05:00 committed by Jesus Federico
parent 5a7c3133da
commit d24e8fad14
6 changed files with 51 additions and 71 deletions

View File

@ -20,31 +20,6 @@ $(document).on('turbolinks:load', function(){
if(controller == "rooms" && action == "show" || controller == "rooms" && action == "update"){
// Set a room block rename event
var configure_room_block = function(room_block){
if(!room_block.is('#home_room_block')){
// Register a click event on each room_block rename dropdown
room_block.find('#rename-room-button').on('click', function(e){
room_block.find('#room-name-editable-input').on('focusout', function(){
submit_rename_request(room_block.find('.card'));
$(window).off('mousedown keydown');
});
room_block.click(function(linkEvent) { linkEvent.preventDefault(); });
room_block.find('#room-name').hide();
room_block.find('#room-name-editable').show();
room_block.find('#room-name-editable-input').select()
// Stop automatic refresh
e.preventDefault();
register_window_event(room_block.find('.card'), 'room-name-editable-input', null);
});
}
}
// Set a room header rename event
var configure_room_header = function(room_title){
@ -182,12 +157,6 @@ $(document).on('turbolinks:load', function(){
// Configure renaming for room header
configure_room_header(room_title);
// Configure renaming for room blocks
room_blocks.each(function(){
var room_block = $(this)
configure_room_block(room_block)
});
// Configure renaming for recording rows
recording_rows.each(function(){
var recording_title = $(this).find('#recording-title');

View File

@ -58,7 +58,6 @@ $(document).on('turbolinks:load', function(){
$("#createRoomModal form").attr("action", "/")
updateDropdown($(".dropdown-item[value='default']"))
$("#room_mute_on_join").prop("checked", false)
$("#auto-join-label").addClass("mt-3 mb-6")
//show all elements & their children with a create-only class
$(".create-only").each(function() {
@ -68,8 +67,8 @@ $(document).on('turbolinks:load', function(){
//hide all elements & their children with a update-only class
$(".update-only").each(function() {
$(this).hide()
if($(this).children().length > 0) $(this).children().hide()
$(this).attr('style',"display:none !important")
if($(this).children().length > 0) $(this).children().attr('style',"display:none !important")
})
})
@ -78,7 +77,6 @@ $(document).on('turbolinks:load', function(){
var room_block_uid = $(this).closest("#room-block").data("room-uid")
$("#create-room-name").val($(this).closest("tbody").find("#room-name h4").text())
$("#createRoomModal form").attr("action", "/" + room_block_uid + "/update_settings")
$("#auto-join-label").removeClass("mt-3 mb-6")
//show all elements & their children with a update-only class
$(".update-only").each(function() {
@ -88,8 +86,8 @@ $(document).on('turbolinks:load', function(){
//hide all elements & their children with a create-only class
$(".create-only").each(function() {
$(this).hide()
if($(this).children().length > 0) $(this).children().hide()
$(this).attr('style',"display:none !important")
if($(this).children().length > 0) $(this).children().attr('style',"display:none !important")
})
updateCurrentSettings($(this).closest("#room-block").data("room-settings"))

View File

@ -47,9 +47,6 @@
<i class="fas fa-ellipsis-v px-4"></i>
</a>
<div class="dropdown-menu">
<a href="" id="rename-room-button" class="dropdown-item">
<i class="dropdown-icon far fa-edit"></i> <%= t("rename") %>
</a>
<a href="" data-toggle="modal" data-target="#createRoomModal" class="update-room dropdown-item">
<i class="dropdown-icon fas fa-cog"></i> <%= t("room.settings") %>
</a>

View File

@ -24,7 +24,7 @@
</div>
<%= form_for(:room, url: rooms_path) do |f| %>
<div class="input-icon">
<div class="input-icon mb-2">
<span class="input-icon-addon">
<i class="fas fa-chalkboard-teacher"></i>
</span>
@ -32,7 +32,8 @@
<div class="invalid-feedback text-left"><%= t("modal.create_room.not_blank") %></div>
</div>
<label class="mt-5 mb-3 w-100 text-left d-inline-block">
<% if Rails.configuration.room_features.include? "default-client" %>
<label class="mt-3 mb-3 w-100 text-left d-inline-block">
<input type="hidden" name="room[client]" id="room_client">
<span id="room-settings-dropdown-label" class="custom-switch-description"><%= t("modal.room_settings.client")%></span>
<div id="dropdown-div" class="dropdown float-right">
@ -46,19 +47,22 @@
</div>
</div>
</label>
<% end %>
<% if Rails.configuration.room_features.include? "mute-on-join" %>
<label class="custom-switch mt-3 mb-3 w-100 text-left d-inline-block">
<span class="custom-switch-description"><%= t("modal.room_settings.mute")%></span>
<%= f.check_box :mute_on_join, class: "custom-switch-input", checked: false %>
<span class="custom-switch-indicator float-right"></span>
</label>
<% end %>
<label id="auto-join-label" class="create-only custom-switch mb-6 w-100 text-left d-inline-block">
<label id="auto-join-label" class="create-only custom-switch mt-3 mb-3 w-100 text-left d-inline-block">
<span class="custom-switch-description"><%= t("modal.create_room.auto_join") %></span>
<%= f.check_box :auto_join, class: "custom-switch-input", checked: false %>
<span class="custom-switch-indicator float-right"></span>
</label>
<div>
<div class="mt-4">
<%= f.submit t("header.create_room"), id: "create-room-submit", class: "create-only btn btn-outline-primary btn-block btn-pill" %>
<%= f.submit t("modal.room_settings.update"), id: "create-room-submit", class: "update-only btn btn-outline-primary btn-block btn-pill" %>
</div>

View File

@ -83,5 +83,8 @@ module Greenlight
# Enable/disable recording thumbnails.
config.recording_thumbnails = (ENV['RECORDING_THUMBNAILS'] != "false")
# Configure which settings are available to user on room creation/edit after creation
config.room_features = ENV['ROOM_FEATURES'] || ""
end
end

View File

@ -111,6 +111,15 @@ RELATIVE_URL_ROOT=/b
# By default, this is the BigBlueButton logo.
BRANDING_IMAGE=
# Specify which settings you would like the users to configure on room creation
# or edit after the room has been created
# By default, all settings are turned OFF.
#
# Current settings available:
# default-client: Room owners can decide between the Flash Client and the HTML5 Client for a room
# mute-on-join: Automatically mute users by default when they join a room
ROOM_FEATURES=default-client,mute-on-join
# Comment this out to send logs to STDOUT in production instead of log/production.log .
#
# RAILS_LOG_TO_STDOUT=true