From 5d5cfd1b7d3584ebf19c04ad3d86b87379768514 Mon Sep 17 00:00:00 2001 From: Josh Date: Mon, 18 Jun 2018 14:25:30 -0400 Subject: [PATCH] add ability to change recording visibility --- app/controllers/rooms_controller.rb | 2 +- app/models/room.rb | 11 +++-- app/views/shared/_sessions.html.erb | 10 ++++- .../components/_public_recording_row.html.erb | 42 +++++++++++++++++++ .../shared/components/_recording_row.html.erb | 4 +- 5 files changed, 58 insertions(+), 11 deletions(-) create mode 100644 app/views/shared/components/_public_recording_row.html.erb 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 %> + + +
+ Length +
+ <%= recording_length(recording[:startTime], recording[:endTime]) %> + + +
+ Users +
+ <%= recording[:participants] %> + + + + + + <% recording[:playbacks].each do |p| %> + <%= link_to p[:type].capitalize, p[:url], class: "btn btn-sm btn-primary", target: "_blank" %> + <% end %> + + diff --git a/app/views/shared/components/_recording_row.html.erb b/app/views/shared/components/_recording_row.html.erb index 064ebfc8..6c3657fa 100644 --- a/app/views/shared/components/_recording_row.html.erb +++ b/app/views/shared/components/_recording_row.html.erb @@ -9,7 +9,7 @@ <% p = recording[:playbacks].find do |p| p[:type] == "presentation" end %> <% if p %> <% p[:preview][:images][:image].each do |img| %> - <%= image_tag(img[:content], class: "thumbnail px-2") %> + <%= image_tag(img[:content].strip, class: "thumbnail px-2") %> <% end %> <% end %> @@ -27,7 +27,7 @@