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.
		
		
		
		
		
			
		
			
				
					
					
						
							71 lines
						
					
					
						
							1.3 KiB
						
					
					
				
			
		
		
	
	
							71 lines
						
					
					
						
							1.3 KiB
						
					
					
				class Admins::SubjectsController < Admins::BaseController
 | 
						|
  def index
 | 
						|
    default_sort('created_at', 'desc')
 | 
						|
 | 
						|
    subjects = Admins::SubjectQuery.call(params)
 | 
						|
    @subjects = paginate subjects.includes(:repertoire, :subject_level_system, user: { user_extension: :school })
 | 
						|
  end
 | 
						|
 | 
						|
  def edit
 | 
						|
    @subject = current_subject
 | 
						|
  end
 | 
						|
 | 
						|
  def update
 | 
						|
    current_subject.update!(update_params)
 | 
						|
 | 
						|
    flash[:success] = '保存成功'
 | 
						|
    redirect_to admins_subjects_path
 | 
						|
  end
 | 
						|
 | 
						|
  def destroy
 | 
						|
    current_subject.destroy!
 | 
						|
 | 
						|
    render_delete_success
 | 
						|
  end
 | 
						|
 | 
						|
  # 隐藏
 | 
						|
  def hide
 | 
						|
    current_subject.update!(hidden: true)
 | 
						|
    render_ok
 | 
						|
  end
 | 
						|
 | 
						|
  # 展示
 | 
						|
  def cancel_hide
 | 
						|
    current_subject.update!(hidden: false)
 | 
						|
    render_ok
 | 
						|
  end
 | 
						|
 | 
						|
  # 设为主页展示
 | 
						|
  def homepage_show
 | 
						|
    current_subject.update!(homepage_show: true)
 | 
						|
    render_ok
 | 
						|
  end
 | 
						|
 | 
						|
  # 取消主页展示
 | 
						|
  def cancel_homepage_show
 | 
						|
    current_subject.update!(homepage_show: false)
 | 
						|
    render_ok
 | 
						|
  end
 | 
						|
 | 
						|
  # 设为金课
 | 
						|
  def excellent
 | 
						|
    current_subject.update!(excellent: true)
 | 
						|
    render_ok
 | 
						|
  end
 | 
						|
 | 
						|
  # 取消金课
 | 
						|
  def cancel_excellent
 | 
						|
    current_subject.update!(excellent: false)
 | 
						|
    render_ok
 | 
						|
  end
 | 
						|
 | 
						|
  private
 | 
						|
 | 
						|
  def current_subject
 | 
						|
    @_current_subject ||= Subject.find(params[:id])
 | 
						|
  end
 | 
						|
 | 
						|
  def update_params
 | 
						|
    params.require(:subject).permit(:repertoire_id, :subject_level_system_id, :student_count)
 | 
						|
  end
 | 
						|
end |