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