Skip to content
Snippets Groups Projects
Commit d24e8fad authored by farhatahmad's avatar farhatahmad Committed by Jesus Federico
Browse files

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

parent 5a7c3133
No related branches found
No related tags found
No related merge requests found
......@@ -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');
......
......@@ -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"))
......
......@@ -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>
......
......@@ -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>
......
......@@ -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
......@@ -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
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment