parent
43110605c1
commit
5d1acd8a5d
@ -0,0 +1,46 @@
|
||||
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
|
@ -0,0 +1,16 @@
|
||||
class Admins::ShiXunsController < Admins::BaseController
|
||||
|
||||
def index
|
||||
params[:status] ||= 'pending'
|
||||
applies = Admins::LibraryApplyQuery.call(params)
|
||||
|
||||
@library_applies = paginate applies.preload(library: :user)
|
||||
|
||||
|
||||
|
||||
end
|
||||
|
||||
def destroy
|
||||
|
||||
end
|
||||
end
|
@ -0,0 +1,38 @@
|
||||
class Admins::ShiXunQuery < ApplicationQuery
|
||||
include CustomSortable
|
||||
|
||||
attr_reader :params
|
||||
|
||||
sort_columns :updated_at, default_by: :updated_at, default_direction: :desc
|
||||
|
||||
def initialize(params)
|
||||
@params = params
|
||||
end
|
||||
|
||||
def call
|
||||
status =
|
||||
case params[:status]
|
||||
when "editing" then [0]
|
||||
when "pending" then [1]
|
||||
when "processed" then [2]
|
||||
else
|
||||
[0,1,2]
|
||||
end
|
||||
|
||||
applies = LibraryApply.where(status: status) if status.present?
|
||||
|
||||
look_name = params[:look_name]
|
||||
if look_name.present?
|
||||
applies = applies.where()
|
||||
end
|
||||
|
||||
# 关键字模糊查询
|
||||
keyword = params[:keyword].to_s.strip
|
||||
if keyword.present?
|
||||
applies = applies.joins(:library)
|
||||
.where('title LIKE :keyword OR uuid LIKE :keyword', keyword: "%#{keyword}%")
|
||||
end
|
||||
|
||||
custom_sort(applies, params[:sort_by], params[:sort_direction])
|
||||
end
|
||||
end
|
Loading…
Reference in new issue