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.
		
		
		
		
		
			
		
			
				
					
					
						
							37 lines
						
					
					
						
							1.2 KiB
						
					
					
				
			
		
		
	
	
							37 lines
						
					
					
						
							1.2 KiB
						
					
					
				| class Admins::ProjectPackageAppliesController < Admins::BaseController
 | |
|   before_action :current_apply,only: [:agree,:refuse]
 | |
| 
 | |
|   def index
 | |
|     params[:status] ||= 'pending'
 | |
|     status = params[:status]
 | |
|     if status == 'all'
 | |
|       status = %w(agreed refused)
 | |
|     end
 | |
|     package_applies = ProjectPackageApply.where(status: status)
 | |
|     keyword = params[:keyword].to_s.strip || ""
 | |
|     if keyword.present?
 | |
|       package_applies = package_applies.joins(:project_package).where("project_packages.title like ?","%#{keyword}%")
 | |
|     end
 | |
|     @package_applies = paginate package_applies.includes(project_package: { creator: :user_extension })
 | |
|   end
 | |
| 
 | |
|   def agree
 | |
|     ProjectPackages::AgreeApplyService.new(current_apply).call
 | |
|     render_success_js
 | |
|   rescue ProjectPackages::AgreeApplyService::Error => e
 | |
|     render json: { status: -1, message: e.message }
 | |
|   end
 | |
| 
 | |
|   def refuse
 | |
|     ProjectPackages::RefuseApplyService.new(current_apply, reason: params[:reason]).call
 | |
|     render_success_js
 | |
|   rescue ProjectPackages::RefuseApplyService::Error => e
 | |
|     render json: { status: -1, message: e.message }
 | |
|   end
 | |
| 
 | |
|   private
 | |
| 
 | |
|   def current_apply
 | |
|     @_current_apply ||= ProjectPackageApply.find(params[:id])
 | |
|   end
 | |
| end |