46 lines
1.3 KiB
46 lines
1.3 KiB
6 years ago
|
class Managements::ProjectPackageAppliesController < Managements::BaseController
|
||
|
before_filter :set_menu_type
|
||
|
|
||
|
def index
|
||
|
applies = ProjectPackageApply.order('project_package_applies.updated_at desc')
|
||
|
|
||
|
search = params[:search].to_s.strip
|
||
|
if search.present?
|
||
|
applies = applies.joins(:project_package).where('project_packages.title like :search', search: "%#{search}%")
|
||
|
end
|
||
|
|
||
|
applies = applies.where(status: params[:status].presence || :pending)
|
||
|
|
||
|
@applies = paginateHelper applies.includes(project_package: { creator: :user_extensions })
|
||
|
|
||
|
respond_to do |format|
|
||
|
format.js
|
||
|
format.html
|
||
|
end
|
||
|
end
|
||
|
|
||
|
def agree
|
||
|
ProjectPackages::AgreeApplyService.new(current_apply).call
|
||
|
render json: { status: 0 }
|
||
|
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 json: { status: 0 }
|
||
|
rescue ProjectPackages::RefuseApplyService::Error => e
|
||
|
render json: { status: -1, message: e.message }
|
||
|
end
|
||
|
|
||
|
private
|
||
|
|
||
|
def current_apply
|
||
|
@_current_apply ||= ProjectPackageApply.find(params[:id])
|
||
|
end
|
||
|
|
||
|
def set_menu_type
|
||
|
@menu_type = 10
|
||
|
@sub_type = 9
|
||
|
end
|
||
|
end
|