Add setting for recording visibility (#634)

This commit is contained in:
shawn-higgins1
2019-07-22 15:39:49 -04:00
committed by Jesus Federico
parent 2c37f87cbc
commit c4eeee3d40
8 changed files with 64 additions and 2 deletions

View File

@ -24,7 +24,7 @@ class AdminsController < ApplicationController
manage_users = [:edit_user, :promote, :demote, :ban_user, :unban_user, :approve]
site_settings = [:branding, :coloring, :coloring_lighten, :coloring_darken,
:registration_method, :room_authentication, :room_limit]
:registration_method, :room_authentication, :room_limit, :default_recording_visibility]
authorize_resource class: false
before_action :find_user, only: manage_users
@ -176,6 +176,13 @@ class AdminsController < ApplicationController
redirect_to admin_site_settings_path, flash: { success: I18n.t("administrator.flash.settings") }
end
# POST /admins/default_recording_visibility
def default_recording_visibility
@settings.update_value("Default Recording Visibility", params[:visibility])
redirect_to admins_path, flash: { success: I18n.t("administrator.flash.settings") + ". " +
I18n.t("administrator.site_settings.recording_visibility.warning") }
end
private
def find_user

View File

@ -106,6 +106,8 @@ class ApplicationController < ActionController::Base
meeting_logout_url: request.base_url + logout_room_path(@room),
meeting_recorded: true,
moderator_message: "#{invite_msg}\n\n#{request.base_url + room_path(@room)}",
recording_default_visibility: Setting.find_or_create_by!(provider: user_settings_provider)
.get_value("Default Recording Visibility") == "public"
}
end

View File

@ -55,6 +55,15 @@ module AdminsHelper
end
end
def recording_default_visibility_string
if Setting.find_or_create_by!(provider: user_settings_provider)
.get_value("Default Recording Visibility") == "public"
I18n.t("administrator.site_settings.recording_visibility.public")
else
I18n.t("administrator.site_settings.recording_visibility.private")
end
end
def registration_method_string
case registration_method
when Rails.configuration.registration_methods[:open]

View File

@ -56,7 +56,7 @@ class Room < ApplicationRecord
attendeePW: attendee_pw,
moderatorOnlyMessage: options[:moderator_message],
muteOnStart: options[:mute_on_start] || false,
"meta_#{META_LISTED}": false,
"meta_#{META_LISTED}": options[:recording_default_visibility] || false
}
# Send the create request.

View File

@ -98,6 +98,27 @@
</div>
</div>
</div>
</div>
<div class="mb-6 row">
<div class="col-12">
<div class="form-group">
<label class="form-label"><%= t("administrator.site_settings.recording_visibility.title") %></label>
<label class="form-label text-muted"><%= t("administrator.site_settings.recording_visibility.info") %></label>
<div class="dropdown">
<button class="btn btn-primary dropdown-toggle" type="button" id="room-auth" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
<%= recording_default_visibility_string %>
</button>
<div class="dropdown-menu" aria-labelledby="room-auth">
<%= button_to admin_recording_visibility_path(visibility: "public"), class: "dropdown-item" do %>
<%= t("administrator.site_settings.recording_visibility.public") %>
<% end %>
<%= button_to admin_recording_visibility_path(visibility: "private"), class: "dropdown-item" do %>
<%= t("administrator.site_settings.recording_visibility.private") %>
<% end %>
</div>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-12">