@ -187,10 +187,10 @@ class CoursesService
else
work_unit = get_user_work_unit course . teacher
end
unless ( course . is_public == 1 || current_user . member_of_course? ( course ) || current_user . admin? )
raise '403'
end
{ :course = > course , :work_unit = > work_unit , :img_url = > url_to_avatar ( course ) , :current_user_is_member = > current_user . member_of_course?( course ) , :current_user_is_teacher = > is_course_teacher ( current_user , course ) , :course_student_num = > course ? course . student . count . to_s : 0 }
# unless (course.is_public == 1 || current_user.member_of_course?(course) || current_user.admin? )
# raise '403'
# end
{ :course = > course , :work_unit = > work_unit , :img_url = > url_to_avatar ( course ) , :current_user_is_member = > current_user . nil? ? false : current_user . member_of_course?( course ) , :current_user_is_teacher = > current_user . nil? ? false : is_course_teacher ( current_user , course ) , :course_student_num = > course ? course . student . count . to_s : 0 }
end
#创建课程
@ -326,8 +326,8 @@ class CoursesService
define_error [
0 , '加入成功' ,
1 , '密码错误' ,
2 , ' 课程已过期 请联系课程管理员重启课程 。',
3 , '您已经加入了 课程 ',
2 , ' 班级已过期 请联系班级管理员重启班级 。',
3 , '您已经加入了 班级 ',
4 , '您的邀请码不正确' ,
5 , '您还未登录' ,
6 , '申请成功,请等待审核完毕' ,
@ -354,54 +354,27 @@ class CoursesService
roleName = member . roles [ 0 ] . name if member
if params [ :invite_code ] . present?
#如果加入角色为学生 并且当前是学生
if params[ :role ] == " 10 " && roleName == " Student "
if roleName == " Student "
@state = 3
#如果加入的角色为老师,并且当前已经是老师
elsif params[ :role ] == " 9 " && roleName == " Teacher "
elsif roleName == " Teacher "
@state = 8
#如果加入的角色教辅并且当前为教辅
elsif params[ :role ] == " 7 " && roleName == " TeachingAsistant "
elsif roleName == " TeachingAsistant "
@state = 9
elsif roleName == " Manager "
@state = 10
#如果加入角色为教师或者教辅,并且当前是学生,或者是要成为教辅,当前不是教辅,或者要成为教师,当前不是教师。那么要发送请求
elsif ( params [ :role ] != " 10 " && roleName == " Student " ) || ( params [ :role ] == " 7 " && roleName != " TeachingAsistant " ) || ( params [ :role ] == " 9 " && roleName != " Teacher " )
#如果已经发送过消息了,那么就要给个提示
if CourseMessage . where ( " course_message_type = 'JoinCourseRequest' and user_id = #{ course . tea_id } and course_message_id = #{ User . current . id } and course_id = #{ course . id } and status = 0 " ) . count != 0
@state = 7
else
Mailer . run . join_course_request ( course , User . current , params [ :role ] )
CourseMessage . create ( :user_id = > course . tea_id , :course_id = > course . id , :viewed = > false , :content = > params [ :role ] , :course_message_id = > User . current . id , :course_message_type = > 'JoinCourseRequest' , :status = > 0 )
@state = 6
end
#如果加入角色是学生,但是是当前课程的教师或者教辅
elsif params [ :role ] == " 10 " && roleName != " Student "
member . role_ids = [ params [ :role ] ]
member . save
StudentsForCourse . create ( :student_id = > current_user . id , :course_id = > course . id )
@state = 0
end
else
@state = 1
end
else
if params [ :invite_code ] . present?
if params [ :role ] == " 10 " || params [ :role ] == nil
members = [ ]
members << Member . new ( :role_ids = > [ 10 ] , :user_id = > current_user . id )
course . members << members
StudentsForCourse . create ( :student_id = > current_user . id , :course_id = > course . id )
@state = 0
else
#如果已经发送过消息了,那么就要给个提示
if CourseMessage . where ( " course_message_type = 'JoinCourseRequest' and user_id = #{ course . tea_id } and content = #{ params [ :role ] } and course_message_id = #{ User . current . id } and course_id = #{ course . id } and status = 0 " ) . count != 0
@state = 7
else
Mailer . run . join_course_request ( course , User . current , params [ :role ] )
CourseMessage . create ( :user_id = > course . tea_id , :course_id = > course . id , :viewed = > false , :content = > params [ :role ] , :course_message_id = > User . current . id , :course_message_type = > 'JoinCourseRequest' , :status = > 0 )
@state = 6
end
end
else
@state = 1
end
@ -419,7 +392,7 @@ class CoursesService
def homework_list params , current_user
course = Course . find ( params [ :id ] )
if course . is_public != 0 || current_user . member_of_course? ( course )
bids = course . homework_commons . page( params [ :page ] || 1 ) . per ( 20 ) . order ( 'created_at DESC' )
bids = course . homework_commons . where( " publish_time <= ? " , Time . now . strftime ( " %Y-%m-%d " ) ) . page( params [ :page ] || 1 ) . per ( 20 ) . order ( 'created_at DESC' )
bids = bids . like ( params [ :name ] ) if params [ :name ] . present?
homeworks = [ ]
bids . each do | bid |
@ -522,7 +495,7 @@ class CoursesService
def course_attachments params
result = [ ]
course = Course . find ( params [ :course_id ] )
attachments = course . attachments . order( " created_on " )
attachments = course . attachments . where( " is_publish = 1 " ) . order( " created_on desc " )
if ! params [ :name ] . nil? && params [ :name ] != " "
attachments . each do | atta |
result << atta if atta . filename . include? ( params [ :name ] )