forked from jasder/forgeplus
29 lines
1.0 KiB
Ruby
29 lines
1.0 KiB
Ruby
class Weapps::CourseStickiesController < Weapps::BaseController
|
|
# before_action :require_wechat_login!
|
|
|
|
def create
|
|
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 course_member.sticky
|
|
course_member.update!(sticky: 0, sticky_time: nil)
|
|
render_ok
|
|
end
|
|
|
|
private
|
|
|
|
def current_course
|
|
@_current_course = Course.find params[:course_id]
|
|
end
|
|
|
|
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 |