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.
		
		
		
		
		
			
		
			
				
					
					
						
							24 lines
						
					
					
						
							1.0 KiB
						
					
					
				
			
		
		
	
	
							24 lines
						
					
					
						
							1.0 KiB
						
					
					
				class Competitions::TeachersController < Competitions::BaseController
 | 
						|
  def index
 | 
						|
    keyword = params[:keyword].to_s.strip
 | 
						|
    if keyword.blank?
 | 
						|
      @teachers = []
 | 
						|
      return
 | 
						|
    end
 | 
						|
 | 
						|
    teachers = User.joins(:user_extension).where(status: 1, user_extensions: { identity: 0 })
 | 
						|
    teachers = teachers.where(user_extensions: { school_id: current_competition.region_schools.pluck(:school_id) }) if current_competition.region_schools.size > 0
 | 
						|
    teachers = teachers.where.not(id: params[:teacher_ids]) if params[:teacher_ids].present?
 | 
						|
    teachers = teachers.where('LOWER(CONCAT(lastname, firstname, login, nickname)) LIKE ?', "%#{keyword}%")
 | 
						|
    @teachers = teachers.includes(user_extension: :school).limit(10)
 | 
						|
 | 
						|
    # 老师多次报名限制
 | 
						|
    if current_competition.teacher_multiple_limited?
 | 
						|
      ids = @teachers.map(&:id)
 | 
						|
      members = current_competition.team_members.where(user_id: ids)
 | 
						|
      members = members.where.not(competition_team_id: params[:team_id]) if params[:team_id].present?
 | 
						|
      @enrolled_map = members.group(:user_id).count
 | 
						|
    end
 | 
						|
  end
 | 
						|
end
 |