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.
46 lines
1.3 KiB
46 lines
1.3 KiB
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 |