forked from jasder/forgeplus
71 lines
1.3 KiB
Ruby
71 lines
1.3 KiB
Ruby
|
class Admins::SubjectsController < Admins::BaseController
|
||
|
def index
|
||
|
default_sort('created_at', 'desc')
|
||
|
|
||
|
subjects = Admins::SubjectQuery.call(params)
|
||
|
@subjects = paginate subjects.includes(user: { user_extension: :school })
|
||
|
end
|
||
|
|
||
|
def edit
|
||
|
@subject = current_subject
|
||
|
end
|
||
|
|
||
|
def update
|
||
|
current_subject.update!(update_params)
|
||
|
|
||
|
flash[:success] = '保存成功'
|
||
|
redirect_to admins_subject_settings_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, public: 2)
|
||
|
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
|