Merge branch 'dev_aliyun' of https://bdgit.educoder.net/Hjqreturn/educoder into dev_aliyun

chromesetting
杨树林 5 years ago
commit 8a52dac044

@ -35,6 +35,9 @@ class Weapps::CoursesController < Weapps::BaseController
# 教师列表 # 教师列表
def teachers def teachers
@course = current_course @course = current_course
@page = (params[:page] || 1).to_i
@limit = (params[:limit] || 20).to_i
search = params[:search].present? ? params[:search].strip : ""
if @course.try(:id) != 1309 || current_user.admin? || current_user.try(:id) == 15582 if @course.try(:id) != 1309 || current_user.admin? || current_user.try(:id) == 15582
@teacher_list = @course.course_members.joins(:user).where("course_members.role in (1, 2, 3)") @teacher_list = @course.course_members.joins(:user).where("course_members.role in (1, 2, 3)")
else else
@ -42,17 +45,26 @@ class Weapps::CoursesController < Weapps::BaseController
and course_members.role = 2))") and course_members.role = 2))")
end end
if search.present?
@teacher_list = @teacher_list.joins(:user).where("LOWER(CONCAT(users.lastname, users.firstname)) like ?", "%#{search}%")
end
@teacher_list_size = @teacher_list.size @teacher_list_size = @teacher_list.size
@applications_size = CourseMessage.unhandled_join_course_requests_by_course(@course).size @applications_size = CourseMessage.unhandled_join_course_requests_by_course(@course).size
@teacher_list = @teacher_list.preload(user: [user_extension: :school]) @teacher_list = @teacher_list.includes(user: [user_extension: :school])
# 中英文混合排序(忽略大小写)
@teacher_list = @teacher_list.sort {|x, y| Pinyin.t(x.user&.real_name, splitter: '').upcase <=> Pinyin.t(y.user&.real_name, splitter: '').upcase}
@teacher_list = @teacher_list[(@page-1)*@limit ... @page*@limit]
end end
# 批量删除教师或助教 # 批量删除教师或助教
def delete_course_teachers def delete_course_teachers
begin begin
@course = current_course @course = current_course
@page = (params[:page] || 1).to_i
@limit = (params[:limit] || 20).to_i
course_members = @course.course_members.where(id: params[:course_member_ids], role: %i[PROFESSOR ASSISTANT_PROFESSOR]) course_members = @course.course_members.where(id: params[:course_member_ids], role: %i[PROFESSOR ASSISTANT_PROFESSOR])
user_ids = course_members.pluck(:user_id) user_ids = course_members.pluck(:user_id)
course_members.destroy_all course_members.destroy_all
@ -67,10 +79,18 @@ class Weapps::CoursesController < Weapps::BaseController
def students def students
@course = current_course @course = current_course
@page = (params[:page] || 1).to_i
@limit = (params[:limit] || 20).to_i
search = params[:search].present? ? params[:search].strip : nil
course_group_id = params[:course_group_id].present? ? params[:course_group_id].to_i : nil course_group_id = params[:course_group_id].present? ? params[:course_group_id].to_i : nil
@students = CourseMember.students(@course) @students = CourseMember.students(@course)
if search.present?
@students = @students.joins(user: :user_extension).where("LOWER(CONCAT(users.lastname, users.firstname)) like ? or
user_extensions.student_id like ?", "%#{search}%", "%#{search}%")
end
if course_group_id.present? if course_group_id.present?
course_group = CourseGroup.find(course_group_id) if course_group_id != 0 course_group = CourseGroup.find(course_group_id) if course_group_id != 0
@students = @students.where(course_group_id: course_group&.id.to_i) @students = @students.where(course_group_id: course_group&.id.to_i)
@ -78,6 +98,9 @@ class Weapps::CoursesController < Weapps::BaseController
@students_count = @students.size @students_count = @students.size
@students = @students.includes(user: :user_extension) @students = @students.includes(user: :user_extension)
# 中英文混合排序(忽略大小写)
@students = @students.sort {|x, y| Pinyin.t(x.user&.real_name, splitter: '').upcase <=> Pinyin.t(y.user&.real_name, splitter: '').upcase}
@students = @students[(@page-1)*@limit ... @page*@limit]
end end
# 批量修改角色 # 批量修改角色

@ -20,10 +20,10 @@ module Weapps::CoursesHelper
end end
end end
end end
data = data.sort do |a, b| # data = data.sort do |a, b|
[a[:letter]] <=> [b[:letter]] # [a[:letter]] <=> [b[:letter]]
end # end
data.push(data.shift) if data.select{|a|a[:letter]=='#'}.first.present? # '#'排在最后 # data.push(data.shift) if data.select{|a|a[:letter]=='#'}.first.present? # '#'排在最后
return data return data
end end
@ -47,10 +47,10 @@ module Weapps::CoursesHelper
end end
end end
end end
data = data.sort do |a, b| # data = data.sort do |a, b|
[a[:letter]] <=> [b[:letter]] # [a[:letter]] <=> [b[:letter]]
end # end
data.push(data.shift) if data.select{|a|a[:letter]=='#'}.first.present? # '#'排在最后 # data.push(data.shift) if data.select{|a|a[:letter]=='#'}.first.present? # '#'排在最后
return data return data
end end

Loading…
Cancel
Save