|  |  |  | @ -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 |