36 lines
801 B
Ruby
36 lines
801 B
Ruby
class BroadcastRecordingsController < ApplicationController
|
|
layout "project"
|
|
|
|
before_action :set_project
|
|
before_action :set_broadcast
|
|
before_action :set_recording
|
|
|
|
def update
|
|
@recording.update(star: !@recording.star)
|
|
set_recordings
|
|
end
|
|
|
|
def destroy
|
|
@recording.update(hidden: true)
|
|
set_recordings
|
|
end
|
|
|
|
private
|
|
|
|
def set_project
|
|
@project = policy_scope(Project).find(params[:project_id])
|
|
end
|
|
|
|
def set_broadcast
|
|
@broadcast = authorize policy_scope(@project.broadcasts).find(params[:broadcast_id])
|
|
end
|
|
|
|
def set_recording
|
|
@recording = authorize policy_scope(@broadcast.broadcast_recordings).find(params[:id])
|
|
end
|
|
|
|
def set_recordings
|
|
@recordings = @broadcast.broadcast_recordings.visible.order_by_recent.paginate(page: params[:page])
|
|
end
|
|
end
|