forked from Trustie/forgeplus
竞赛报名状态变更
This commit is contained in:
parent
854ef5ca45
commit
c00a8a67f9
|
|
@ -1,7 +1,7 @@
|
|||
class CompetitionInfosController < ApplicationController
|
||||
include ApplicationHelper
|
||||
before_action :find_competition, only: [:show, :update, :enroll, :upload, :enroll_status, :statistics, :enroll_list]
|
||||
before_action :require_admin, only: [:index, :new, :edit, :create]
|
||||
before_action :find_competition, only: [:show, :update, :enroll, :upload, :enroll_status, :statistics, :enroll_list, :enroll_update, :enroll_status_update]
|
||||
before_action :require_admin, only: [:index, :new, :edit, :create, :enroll_status_update]
|
||||
before_action :check_competition_manager, only: [:update]
|
||||
|
||||
def index
|
||||
|
|
@ -58,6 +58,9 @@ class CompetitionInfosController < ApplicationController
|
|||
if params[:sub_competition].present?
|
||||
competition_users = competition_users.where(sub_competition: params[:sub_competition].to_s)
|
||||
end
|
||||
if params[:keyword].present?
|
||||
competition_users = competition_users.where("competition_users.org_name LIKE :keyword OR competition_users.leader LIKE :keyword OR competition_users.phone LIKE :keyword", keyword: "%#{params[:keyword].to_s}%")
|
||||
end
|
||||
if params[:upload].to_s == "true"
|
||||
competition_users = competition_users.joins("join attachments on attachments.container_type='CompetitionUser' and attachments.container_id = competition_users.id")
|
||||
end
|
||||
|
|
@ -91,6 +94,14 @@ class CompetitionInfosController < ApplicationController
|
|||
def show
|
||||
end
|
||||
|
||||
def enroll_status_update
|
||||
competition_user = CompetitionUser.find_by(competition_info: @competition_info.id, user_id: params[:user_id])
|
||||
tip_exception "未找到该报名用户" if competition_user.blank?
|
||||
tip_exception "状态参数错误" unless ['0', '1'].include?(params[:status].to_s)
|
||||
competition_user.update_attributes!(status: params[:status].to_i)
|
||||
render_ok
|
||||
end
|
||||
|
||||
def enroll
|
||||
competition_user = CompetitionUser.find_by(competition_info: @competition_info.id, user_id: current_user.id)
|
||||
tip_exception "您已经报名!" if competition_user.present?
|
||||
|
|
@ -98,14 +109,17 @@ class CompetitionInfosController < ApplicationController
|
|||
competition_user.competition_info = @competition_info
|
||||
competition_user.user = current_user
|
||||
competition_user.members = params[:members]
|
||||
competition_user.status = 1
|
||||
competition_user.save
|
||||
render_ok
|
||||
end
|
||||
|
||||
def enroll_update
|
||||
competition_user = CompetitionUser.find_by(competition_info: @competition_info.id, user_id: current_user.id)
|
||||
competition_user = competition_user.update_attributes!(enroll_params)
|
||||
tip_exception "未报名,请先报名" if competition_user.blank?
|
||||
competition_user.update_attributes!(enroll_params)
|
||||
competition_user.members = params[:members]
|
||||
competition_user.status = 1
|
||||
competition_user.save
|
||||
render_ok
|
||||
end
|
||||
|
|
@ -129,6 +143,7 @@ class CompetitionInfosController < ApplicationController
|
|||
attachment.save
|
||||
end
|
||||
end
|
||||
competition_user.update_attributes!(status: 2)
|
||||
render_ok
|
||||
end
|
||||
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@ json.message "success"
|
|||
json.count @competition_users_count
|
||||
json.data do
|
||||
json.array! @competition_users.to_a do |c_user|
|
||||
json.extract! c_user, :org_name, :org_job, :org_rank, :leader, :zone, :sub_competition, :subject_source_type, :subject_source_name, :phone
|
||||
json.extract! c_user, :id, :org_name, :org_job, :org_rank, :leader, :zone, :sub_competition, :subject_source_type, :subject_source_name, :phone
|
||||
json.user_id c_user.user_id
|
||||
json.user_real_name c_user.user&.real_name
|
||||
json.members c_user.members
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@ json.status 0
|
|||
json.message "success"
|
||||
json.data do
|
||||
json.enroll_status @competition_user.present?
|
||||
json.status @competition_user&.status.to_i
|
||||
if @competition_user.present?
|
||||
json.enroll_info do
|
||||
json.extract! @competition_user, :org_name, :org_job, :org_rank, :leader, :zone, :sub_competition, :subject_source_type, :subject_source_name, :phone
|
||||
|
|
|
|||
|
|
@ -394,6 +394,7 @@ Rails.application.routes.draw do
|
|||
get :statistics
|
||||
get :enroll_status
|
||||
post :enroll_update
|
||||
post :enroll_status_update
|
||||
post :enroll
|
||||
post :upload
|
||||
end
|
||||
|
|
|
|||
|
|
@ -0,0 +1,5 @@
|
|||
class AddCompetitionUserStatus < ActiveRecord::Migration[5.2]
|
||||
def change
|
||||
add_column :competition_users, :status, :integer, default: 1
|
||||
end
|
||||
end
|
||||
Loading…
Reference in New Issue