|
- class Admins::VideoAppliesController < Admins::BaseController
-
- def index
- params[:status] ||= 'pending'
- status = params[:status]
- if status == 'all'
- status = %w(agreed refused)
- end
-
- applies = VideoApply.where(status: status).order('video_applies.updated_at desc')
-
- search = params[:keyword].to_s.strip
- if search.present?
- applies = applies.joins(:video)
- .where('videos.title like :search', search: "%#{search}%")
- end
-
- @video_applies = paginate applies.includes(video: { user: :user_extension })
- end
-
- def agree
- Videos::AgreeApplyService.new(current_video_apply, current_user).call
- render_success_js
- rescue Videos::AgreeApplyService::Error => e
- render json: { status: -1, message: e.message }
- end
-
- def refuse
- Videos::RefuseApplyService.new(current_video_apply, current_user, reason: params[:reason]).call
- render_success_js
- rescue Videos::RefuseApplyService::Error => e
- render json: { status: -1, message: e.message }
- end
-
- private
-
- def current_video_apply
- @_current_video_apply ||= VideoApply.find(params[:id])
- end
- end
|