diff --git a/app/controllers/rooms_controller.rb b/app/controllers/rooms_controller.rb
index 2d66b728..f5d10340 100644
--- a/app/controllers/rooms_controller.rb
+++ b/app/controllers/rooms_controller.rb
@@ -97,7 +97,7 @@ class RoomsController < ApplicationController
# POST /:room_uid/:record_id
def update_recording
meta = {
- "meta_#{META_LISTED}": (params[:state] == "public")
+ "meta_#{META_LISTED}" => (params[:state] == "public")
}
res = @room.update_recording(params[:record_id], meta)
diff --git a/app/models/room.rb b/app/models/room.rb
index ddbbf116..7467d374 100644
--- a/app/models/room.rb
+++ b/app/models/room.rb
@@ -7,6 +7,7 @@ class Room < ApplicationRecord
belongs_to :owner, class_name: 'User', foreign_key: :user_id
RETURNCODE_SUCCESS = "SUCCESS"
+ META_LISTED = "gl-listed"
# Determines if a user owns a room.
def owned_by?(user)
@@ -32,13 +33,11 @@ class Room < ApplicationRecord
moderatorPW: random_password(12),
attendeePW: random_password(12),
moderatorOnlyMessage: options[:moderator_message],
- "meta_gl-listed": false
+ "meta_#{META_LISTED}": false
}
- # Increment room sessions.
- self.sessions += 1
- self.last_session = DateTime.now
- self.save
+ # Update session info.
+ self.update_attributes(sessions: sessions + 1, last_session: DateTime.now)
#meeting_options.merge!(
#{ "meta_room-id": options[:room_owner],
@@ -131,7 +130,7 @@ class Room < ApplicationRecord
# Fetches a rooms public recordings.
def public_recordings
- recordings.select do |r| r[:metadata]["gl-listed"] end
+ recordings.select do |r| r[:metadata][:"gl-listed"] == "true" end
end
def update_recording(record_id, meta)
diff --git a/app/views/shared/_sessions.html.erb b/app/views/shared/_sessions.html.erb
index 84e495ce..b218d5b7 100644
--- a/app/views/shared/_sessions.html.erb
+++ b/app/views/shared/_sessions.html.erb
@@ -15,7 +15,9 @@
Users
Visibility
Formats
-
+ <% unless only_public %>
+
+ <% end %>
@@ -27,7 +29,11 @@
<% else %>
<% recordings.each do |recording| %>
- <%= render "shared/components/recording_row", recording: recording %>
+ <% if only_public %>
+ <%= render "shared/components/public_recording_row", recording: recording %>
+ <% else %>
+ <%= render "shared/components/recording_row", recording: recording %>
+ <% end %>
<% end %>
<% end %>
diff --git a/app/views/shared/components/_public_recording_row.html.erb b/app/views/shared/components/_public_recording_row.html.erb
new file mode 100644
index 00000000..cb4cdf1c
--- /dev/null
+++ b/app/views/shared/components/_public_recording_row.html.erb
@@ -0,0 +1,42 @@
+
+
+
<%= recording[:name] %>
+
+ Recorded on <%= recording_date(recording[:startTime]) %>
+
+
+
+ <% p = recording[:playbacks].find do |p| p[:type] == "presentation" end %>
+ <% if p %>
+ <% p[:preview][:images][:image].each do |img| %>
+ <%= image_tag(img[:content].strip, class: "thumbnail px-2") %>
+ <% end %>
+ <% end %>
+