forked from External/greenlight
master #1
|
@ -119,6 +119,20 @@ module BbbServer
|
||||||
bbb_server.publish_recordings(record_id, false)
|
bbb_server.publish_recordings(record_id, false)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
# Protect a recording
|
||||||
|
def protect_recording(record_id, meta = {})
|
||||||
|
meta[:recordID] = record_id
|
||||||
|
meta[:protect] = true
|
||||||
|
bbb_server.send_api_request("updateRecordings", meta)
|
||||||
|
end
|
||||||
|
|
||||||
|
# Unprotect a recording
|
||||||
|
def unprotect_recording(record_id, meta = {})
|
||||||
|
meta[:recordID] = record_id
|
||||||
|
meta[:protect] = false
|
||||||
|
bbb_server.send_api_request("updateRecordings", meta)
|
||||||
|
end
|
||||||
|
|
||||||
# Deletes a recording from a room.
|
# Deletes a recording from a room.
|
||||||
def delete_recording(record_id)
|
def delete_recording(record_id)
|
||||||
bbb_server.delete_recordings(record_id)
|
bbb_server.delete_recordings(record_id)
|
||||||
|
|
|
@ -28,6 +28,12 @@ class RecordingsController < ApplicationController
|
||||||
"meta_#{META_LISTED}" => (params[:state] == "public"),
|
"meta_#{META_LISTED}" => (params[:state] == "public"),
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if params[:state] == "protected"
|
||||||
|
protect_recording(params[:record_id])
|
||||||
|
else
|
||||||
|
unprotect_recording(params[:record_id])
|
||||||
|
end
|
||||||
|
|
||||||
if params[:state] == "inaccessible"
|
if params[:state] == "inaccessible"
|
||||||
unpublish_recording(params[:record_id])
|
unpublish_recording(params[:record_id])
|
||||||
else
|
else
|
||||||
|
|
|
@ -147,4 +147,9 @@ module ApplicationHelper
|
||||||
current_user&.role&.get_permission("can_launch_recording")
|
current_user&.role&.get_permission("can_launch_recording")
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
# Returns true if protected recordings is enabled on BigBlueButton/Scalelite server
|
||||||
|
def protected_recording?(rec)
|
||||||
|
!rec[:protected].nil?
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -52,6 +52,8 @@
|
||||||
<div class="dropdown">
|
<div class="dropdown">
|
||||||
<% if recording[:metadata][:"gl-listed"] == "true" %>
|
<% if recording[:metadata][:"gl-listed"] == "true" %>
|
||||||
<button class="btn btn-sm btn-secondary dropdown-toggle" data-toggle="dropdown"><i class="dropdown-icon fas fa-globe px-2"></i> <%= t("recording.visibility.public") %></button>
|
<button class="btn btn-sm btn-secondary dropdown-toggle" data-toggle="dropdown"><i class="dropdown-icon fas fa-globe px-2"></i> <%= t("recording.visibility.public") %></button>
|
||||||
|
<% elsif recording[:protected] == "true" %>
|
||||||
|
<button class="btn btn-sm btn-secondary dropdown-toggle" data-toggle="dropdown"><i class="dropdown-icon fas fa-shield-alt px-2"></i> <%= t("recording.visibility.protected") %></button>
|
||||||
<% elsif !recording[:published] %>
|
<% elsif !recording[:published] %>
|
||||||
<button class="btn btn-sm btn-secondary dropdown-toggle" data-toggle="dropdown"><i class="dropdown-icon fas fa-lock px-2"></i> <%= t("recording.visibility.inaccessible") %></button>
|
<button class="btn btn-sm btn-secondary dropdown-toggle" data-toggle="dropdown"><i class="dropdown-icon fas fa-lock px-2"></i> <%= t("recording.visibility.inaccessible") %></button>
|
||||||
<% else %>
|
<% else %>
|
||||||
|
@ -61,6 +63,11 @@
|
||||||
<%= button_to update_recording_path(meetingID: recording[:meetingID], record_id: recording[:recordID], state: "public"), class: "dropdown-item", "data-disable": "" do %>
|
<%= button_to update_recording_path(meetingID: recording[:meetingID], record_id: recording[:recordID], state: "public"), class: "dropdown-item", "data-disable": "" do %>
|
||||||
<i class="dropdown-icon fas fa-globe"></i> <%= t("recording.visibility.public") %>
|
<i class="dropdown-icon fas fa-globe"></i> <%= t("recording.visibility.public") %>
|
||||||
<% end %>
|
<% end %>
|
||||||
|
<% if protected_recording?(recording) %>
|
||||||
|
<%= button_to update_recording_path(meetingID: recording[:meetingID], record_id: recording[:recordID], state: "protected"), class: "dropdown-item", "data-disable": "" do %>
|
||||||
|
<i class="dropdown-icon fas fa-shield-alt"></i> <%= t("recording.visibility.protected") %>
|
||||||
|
<% end %>
|
||||||
|
<% end %>
|
||||||
<%= button_to update_recording_path(meetingID: recording[:meetingID], record_id: recording[:recordID], state: "unlisted"), class: "dropdown-item", "data-disable": "" do %>
|
<%= button_to update_recording_path(meetingID: recording[:meetingID], record_id: recording[:recordID], state: "unlisted"), class: "dropdown-item", "data-disable": "" do %>
|
||||||
<i class="dropdown-icon fas fa-link"></i> <%= t("recording.visibility.unlisted") %>
|
<i class="dropdown-icon fas fa-link"></i> <%= t("recording.visibility.unlisted") %>
|
||||||
<% end %>
|
<% end %>
|
||||||
|
|
Loading…
Reference in New Issue