Skip to content

Commit

Permalink
Improve code quality to increase scrut score (#789)
Browse files Browse the repository at this point in the history
  • Loading branch information
farhatahmad committed Sep 12, 2019
1 parent b102c9c commit d73a09e
Show file tree
Hide file tree
Showing 3 changed files with 75 additions and 88 deletions.
2 changes: 1 addition & 1 deletion app/assets/javascripts/main.js
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ function getLocalizedString(key) {
})

// If key is not found, search the fallback language for the key
if (translated == undefined) {
if (translated === undefined) {
translated = I18nFallback

keyArr.forEach(function(k) {
Expand Down
133 changes: 61 additions & 72 deletions app/assets/javascripts/room.js
Original file line number Diff line number Diff line change
Expand Up @@ -44,92 +44,81 @@ $(document).on('turbolinks:load', function(){
if ($("#cant-create-room-wrapper").length){
$(".wrapper").css('height', '100%').css('height', '-=130px');
}
}

// Display and update all fields related to creating a room in the createRoomModal
$("#create-room-block").click(function(){
$("#create-room-name").val("")
$("#create-room-access-code").text(getLocalizedString("modal.create_room.access_code_placeholder"))
$("#room_access_code").val(null)

$("#createRoomModal form").attr("action", $("body").data('relative-root'))
$("#room_mute_on_join").prop("checked", false)
$("#room_require_moderator_approval").prop("checked", false)
$("#room_anyone_can_start").prop("checked", false)
$("#room_all_join_moderator").prop("checked", false)

//show all elements & their children with a create-only class
$(".create-only").each(function() {
$(this).show()
if($(this).children().length > 0) { $(this).children().show() }
// Display and update all fields related to creating a room in the createRoomModal
$("#create-room-block").click(function(){
showCreateRoom()
})

//hide all elements & their children with a update-only class
$(".update-only").each(function() {
$(this).attr('style',"display:none !important")
if($(this).children().length > 0) { $(this).children().attr('style',"display:none !important") }
// Display and update all fields related to creating a room in the createRoomModal
$(".update-room").click(function(){
showUpdateRoom()
})
})
}
});

// Display and update all fields related to creating a room in the createRoomModal
$(".update-room").click(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")
function showCreateRoom() {
$("#create-room-name").val("")
$("#create-room-access-code").text(getLocalizedString("modal.create_room.access_code_placeholder"))
$("#room_access_code").val(null)

//show all elements & their children with a update-only class
$(".update-only").each(function() {
$(this).show()
if($(this).children().length > 0) { $(this).children().show() }
})
$("#createRoomModal form").attr("action", $("body").data('relative-root'))
$("#room_mute_on_join").prop("checked", false)
$("#room_require_moderator_approval").prop("checked", false)
$("#room_anyone_can_start").prop("checked", false)
$("#room_all_join_moderator").prop("checked", false)

//hide all elements & their children with a create-only class
$(".create-only").each(function() {
$(this).attr('style',"display:none !important")
if($(this).children().length > 0) { $(this).children().attr('style',"display:none !important") }
})
//show all elements & their children with a create-only class
$(".create-only").each(function() {
$(this).show()
if($(this).children().length > 0) { $(this).children().show() }
})

//hide all elements & their children with a update-only class
$(".update-only").each(function() {
$(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"))

accessCode = $(this).closest("#room-block").data("room-access-code")
function showUpdateRoom() {
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")

if(accessCode){
$("#create-room-access-code").text(getLocalizedString("modal.create_room.access_code") + ": " + accessCode)
$("#room_access_code").val(accessCode)
} else{
$("#create-room-access-code").text(getLocalizedString("modal.create_room.access_code_placeholder"))
$("#room_access_code").val(null)
}
//show all elements & their children with a update-only class
$(".update-only").each(function() {
$(this).show()
if($(this).children().length > 0) { $(this).children().show() }
})

//Update the createRoomModal to show the correct current settings
function updateCurrentSettings(settings){
//set checkbox
if(settings.muteOnStart){
$("#room_mute_on_join").prop("checked", true)
} else { //default option
$("#room_mute_on_join").prop("checked", false)
}
//hide all elements & their children with a create-only class
$(".create-only").each(function() {
$(this).attr('style',"display:none !important")
if($(this).children().length > 0) { $(this).children().attr('style',"display:none !important") }
})

if(settings.requireModeratorApproval){
$("#room_require_moderator_approval").prop("checked", true)
} else { //default option
$("#room_require_moderator_approval").prop("checked", false)
}

if(settings.anyoneCanStart){
$("#room_anyone_can_start").prop("checked", true)
} else { //default option
$("#room_anyone_can_start").prop("checked", false)
}
updateCurrentSettings($(this).closest("#room-block").data("room-settings"))

var accessCode = $(this).closest("#room-block").data("room-access-code")

if(settings.joinModerator){
$("#room_all_join_moderator").prop("checked", true)
} else { //default option
$("#room_all_join_moderator").prop("checked", false)
}
if(accessCode){
$("#create-room-access-code").text(getLocalizedString("modal.create_room.access_code") + ": " + accessCode)
$("#room_access_code").val(accessCode)
} else {
$("#create-room-access-code").text(getLocalizedString("modal.create_room.access_code_placeholder"))
$("#room_access_code").val(null)
}
});
}

//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 generateAccessCode(){
const accessCodeLength = 6
Expand Down
28 changes: 13 additions & 15 deletions app/controllers/rooms_controller.rb
Original file line number Diff line number Diff line change
Expand Up @@ -141,7 +141,7 @@ def start

# Include the user's choices for the room settings
room_settings = JSON.parse(@room[:room_settings])
opts[:mute_on_start] = room_settings["muteOnStart"] if room_settings["muteOnStart"]
opts[:mute_on_start] = room_settings["muteOnStart"]
opts[:require_moderator_approval] = room_settings["requireModeratorApproval"]

begin
Expand All @@ -164,14 +164,14 @@ def update_settings
raise "Room name can't be blank" if options[:name].blank?
raise "Unauthorized Request" if !@room.owned_by?(current_user) || @room == current_user.main_room

# Update the rooms settings
# Update the rooms values
room_settings_string = create_room_settings_string(options)
@room.update_attributes(room_settings: room_settings_string) if @room.room_settings != room_settings_string

# Update the rooms name if it has been changed
@room.update_attributes(name: options[:name]) if @room.name != options[:name]
# Update the room's access code if it has changed
@room.update_attributes(access_code: options[:access_code]) if @room.access_code != options[:access_code]
@room.update_attributes(
name: options[:name],
room_settings: room_settings_string,
access_code: options[:access_code]
)

flash[:success] = I18n.t("room.update_settings_success")
rescue => e
Expand Down Expand Up @@ -202,14 +202,12 @@ def login
private

def create_room_settings_string(options)
room_settings = {}
room_settings["muteOnStart"] = options[:mute_on_join] == "1"

room_settings["requireModeratorApproval"] = options[:require_moderator_approval] == "1"

room_settings["anyoneCanStart"] = options[:anyone_can_start] == "1"

room_settings["joinModerator"] = options[:all_join_moderator] == "1"
room_settings = {
"muteOnStart": options[:mute_on_join] == "1",
"requireModeratorApproval": options[:require_moderator_approval] == "1",
"anyoneCanStart": options[:anyone_can_start] == "1",
"joinModerator": options[:all_join_moderator] == "1",
}

room_settings.to_json
end
Expand Down

0 comments on commit d73a09e

Please sign in to comment.