diff --git a/app/controllers/broadcast_recordings_controller.rb b/app/controllers/broadcast_recordings_controller.rb index fd76560..f238e54 100644 --- a/app/controllers/broadcast_recordings_controller.rb +++ b/app/controllers/broadcast_recordings_controller.rb @@ -6,7 +6,7 @@ class BroadcastRecordingsController < ApplicationController before_action :set_recording def update - @recording.update(star: !@recording.star) + @recording.toggle_star set_recordings end diff --git a/app/models/broadcast_recording.rb b/app/models/broadcast_recording.rb index a7add7d..cbbe8fd 100644 --- a/app/models/broadcast_recording.rb +++ b/app/models/broadcast_recording.rb @@ -18,4 +18,8 @@ class BroadcastRecording < ApplicationRecord def download_file_name "#{broadcast_name}_Date_#{created_at.in_time_zone(broadcast.shoot_location_time_zone).strftime("%Y-%m-%d")}_Time_#{created_at.in_time_zone(broadcast.shoot_location_time_zone).strftime("%T")}".parameterize end + + def toggle_star + toggle! :starred + end end diff --git a/app/views/broadcast_recordings/_refresh_recordings_list.js.erb b/app/views/broadcast_recordings/_refresh_recordings_list.js.erb index f1da0b9..ad0463b 100644 --- a/app/views/broadcast_recordings/_refresh_recordings_list.js.erb +++ b/app/views/broadcast_recordings/_refresh_recordings_list.js.erb @@ -1,5 +1,4 @@ -var dom_id = "<%= dom_id(@recording) %>" -$('[data-id="' + dom_id + '"]').remove(); +$('[data-id="<%= dom_id(@recording) %>"]').remove(); <% if @recordings.empty? %> $("#broadcast_recordings_nav").append('') <% end %> diff --git a/app/views/broadcasts/_broadcast_recordings.html.erb b/app/views/broadcasts/_broadcast_recordings.html.erb index 52e6483..cb542b4 100644 --- a/app/views/broadcasts/_broadcast_recordings.html.erb +++ b/app/views/broadcasts/_broadcast_recordings.html.erb @@ -7,8 +7,8 @@ <% if (controller.class.module_parent.to_s != "Public" && policy(BroadcastRecording).destroy?) %> <%= link_to "Hide", [broadcast.project, broadcast, recording], class: "btn-sm btn-primary ml-1 text-decoration-none", remote: true, method: :delete, data: { confirm: t('.confirm_hide') } %> <% end %> - <% if (controller.class.module_parent.to_s != "Public" && policy(BroadcastRecording).destroy?) %> - <%= link_to fa_icon("#{recording.star ? 'star' : 'star-o'} fw"), [broadcast.project, broadcast, recording], class: "text-warning", method: :put, remote: true %> + <% if (controller.class.module_parent.to_s != "Public" && policy(BroadcastRecording).update?) %> + <%= link_to fa_icon("#{recording.starred ? 'star' : 'star-o'} fw"), [broadcast.project, broadcast, recording], class: "text-warning", method: :put, remote: true %> <% end %> <% end %> diff --git a/db/migrate/20200824171649_add_star_to_broadcast_recordings.rb b/db/migrate/20200824171649_add_star_to_broadcast_recordings.rb index a8b115d..d5424d5 100644 --- a/db/migrate/20200824171649_add_star_to_broadcast_recordings.rb +++ b/db/migrate/20200824171649_add_star_to_broadcast_recordings.rb @@ -1,5 +1,5 @@ class AddStarToBroadcastRecordings < ActiveRecord::Migration[6.0] def change - add_column :broadcast_recordings, :star, :boolean + add_column :broadcast_recordings, :starred, :boolean, default: false end end diff --git a/db/structure.sql b/db/structure.sql index 28a72af..857b303 100644 --- a/db/structure.sql +++ b/db/structure.sql @@ -542,7 +542,7 @@ CREATE TABLE public.broadcast_recordings ( updated_at timestamp(6) without time zone NOT NULL, duration double precision, hidden boolean DEFAULT false, - star boolean + starred boolean DEFAULT false );