|
|
|
@ -1,17 +1,18 @@
|
|
|
|
|
class Weapps::CourseStickiesController < Weapps::BaseController
|
|
|
|
|
before_action :require_wechat_login!
|
|
|
|
|
before_action :teacher_allowed
|
|
|
|
|
# before_action :require_wechat_login!
|
|
|
|
|
|
|
|
|
|
def create
|
|
|
|
|
manage_course = current_user.manage_courses.order("sticky=1 desc, sticky_time desc, created_at desc").first
|
|
|
|
|
return render_error("该课堂已置顶,请勿重复操作") if current_course.sticky && manage_course&.id.to_i == current_course.id
|
|
|
|
|
current_course.update!(sticky: 1, sticky_time: Time.now)
|
|
|
|
|
courses = params[:category] == "study" ? current_user.as_student_courses.started : current_user.manage_courses
|
|
|
|
|
courses = courses.order("course_members.sticky=1 desc, course_members.sticky_time desc, courses.created_at desc").first
|
|
|
|
|
|
|
|
|
|
return render_error("该课堂已置顶,请勿重复操作") if course_member.sticky && courses&.id.to_i == current_course.id
|
|
|
|
|
course_member.update!(sticky: 1, sticky_time: Time.now)
|
|
|
|
|
render_ok
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
def cancel_sticky
|
|
|
|
|
return render_error("该课堂未置顶,无法取消") unless current_course.sticky
|
|
|
|
|
current_course.update!(sticky: 1, sticky_time: Time.now)
|
|
|
|
|
return render_error("该课堂未置顶,无法取消") unless course_member.sticky
|
|
|
|
|
course_member.update!(sticky: 0, sticky_time: nil)
|
|
|
|
|
render_ok
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
@ -21,7 +22,8 @@ class Weapps::CourseStickiesController < Weapps::BaseController
|
|
|
|
|
@_current_course = Course.find params[:course_id]
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
def teacher_allowed
|
|
|
|
|
render_forbidden if current_user.course_identity(current_course) > Course::ASSISTANT_PROFESSOR
|
|
|
|
|
def course_member
|
|
|
|
|
@_course_member = params[:category] == "study" ? current_course.students.find_by!(user_id: current_user.id) :
|
|
|
|
|
current_course.teachers.find_by!(user_id: current_user.id)
|
|
|
|
|
end
|
|
|
|
|
end
|