GRN2-277: Optimize server recordings to make it useable for large deployments (#2411)

* First changes to server recordings

* Update server recordings

* Rubocop

* Make sure to return nothing for empty searches

* Made sure exactly the right amount of recordings are returned

* Added test cases
This commit is contained in:
Ahmad Farhat
2021-01-12 17:36:51 -05:00
committed by GitHub
parent 9cd08dab54
commit 2b0a80c7eb
13 changed files with 102 additions and 15 deletions

View File

@ -90,6 +90,11 @@
<button class= "merge-user dropdown-item" data-path="<%= merge_user_path(user_uid: user.uid) %>" data-info="<%= user.slice(:name, :email, :uid).to_json %>" data-toggle="modal" data-target="#mergeUserModal">
<i class="dropdown-icon fas fa-user-friends"></i> <%= t("administrator.users.settings.merge") %>
</button>
<% unless user.rooms.length.zero? %>
<%= link_to admin_recordings_path(search: user.email), class: "dropdown-item" do %>
<i class="dropdown-icon fas fa-video"></i> <%= t("administrator.rooms.table.recordings") %>
<% end %>
<% end %>
<%= button_to admin_ban_path(user_uid: user.uid), class: "dropdown-item", "data-disable": "" do %>
<i class="dropdown-icon fas fa-lock"></i> <%= t("administrator.users.settings.ban") %>
<% end %>

View File

@ -93,7 +93,7 @@
<% end %>
</tbody>
</table>
<% if !@recordings.empty?%>
<% if !@recordings.empty? && !@latest%>
<div class="float-md-right mt-4">
<%== pagy_bootstrap_nav(@pagy) %>
</div>

View File

@ -65,6 +65,9 @@
<a href="" data-toggle="modal" data-target="#createRoomModal" class="update-room dropdown-item" data-settings-path="<%= room_settings_path(room) %>">
<i class="dropdown-icon fas fa-cog"></i> <%= t("room.settings") %>
</a>
<%= link_to admin_recordings_path(search: room.uid), class: "dropdown-item" do %>
<i class="dropdown-icon fas fa-video"></i> <%= t("administrator.rooms.table.recordings") %>
<% end %>
<% if preupload_allowed? %>
<a href="" data-toggle="modal" data-target="#preuploadPresentationModal" class="preupload-room dropdown-item" data-path="<%= preupload_presentation_path(room) %>" data-settings-path="<%= current_presentation_path(room) %>" data-remove="<%= remove_presentation_path(room) %>">
<i class="dropdown-icon fas fa-file-upload"></i> <%= t("room.add_presentation") %>

View File

@ -17,7 +17,7 @@
<div class="card-body p-6">
<div class="card-title text-primary">
<div class="form-group">
<%= render "shared/components/subtitle", subtitle: setting_title, search: search %>
<%= render "shared/components/subtitle", subtitle: setting_title, search: search, search_info: defined?(search_info) ? search_info : "" %>
</div>
</div>

View File

@ -21,7 +21,7 @@
<%= render "admins/components/menu_buttons" %>
</div>
<div id="server_recordings" class="col-lg-9">
<%= render "admins/components/setting_view", setting_id: "recordings", setting_title: t("administrator.recordings.title"), search: true %>
<%= render "admins/components/setting_view", setting_id: "recordings", setting_title: t("administrator.recordings.latest"), search: true, search_info: t("administrator.recordings.search_info") %>
</div>
</div>
</div>

View File

@ -35,6 +35,14 @@
</span>
</div>
</div>
<% if defined?(search_info) && search_info.present? %>
<div class="float-right mt-5">
<small>
<i class="fas fa-info-circle"></i>
<%= search_info %>
</small>
</div>
<% end %>
</div>
<% else %>
<div class="col-12">