You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							42 lines
						
					
					
						
							1.1 KiB
						
					
					
				
			
		
		
	
	
							42 lines
						
					
					
						
							1.1 KiB
						
					
					
				| 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
 | |
| 
 |