|
|
@ -38,7 +38,7 @@ class CoursesService
|
|
|
|
if name.blank?
|
|
|
|
if name.blank?
|
|
|
|
raise 'sumbit empty'
|
|
|
|
raise 'sumbit empty'
|
|
|
|
end
|
|
|
|
end
|
|
|
|
@courses = courses_all.visible
|
|
|
|
@courses = courses_all.visible(current_user)
|
|
|
|
if params[:name].present?
|
|
|
|
if params[:name].present?
|
|
|
|
@courses_all = @courses.like(params[:name])
|
|
|
|
@courses_all = @courses.like(params[:name])
|
|
|
|
else
|
|
|
|
else
|
|
|
@ -346,7 +346,7 @@ class CoursesService
|
|
|
|
membership = @user.coursememberships.all(:conditions => Course.visible_condition(current_user))
|
|
|
|
membership = @user.coursememberships.all(:conditions => Course.visible_condition(current_user))
|
|
|
|
end
|
|
|
|
end
|
|
|
|
if membership.nil? || membership.count == 0
|
|
|
|
if membership.nil? || membership.count == 0
|
|
|
|
raise l(:label_no_courses,:locale => current_user.language.nil? ? 'zh':current_user.language)
|
|
|
|
raise l(:label_no_courses,:locale => get_user_language(current_user))
|
|
|
|
end
|
|
|
|
end
|
|
|
|
membership.sort! {|older, newer| newer.created_on <=> older.created_on }
|
|
|
|
membership.sort! {|older, newer| newer.created_on <=> older.created_on }
|
|
|
|
result = []
|
|
|
|
result = []
|
|
|
@ -355,19 +355,19 @@ class CoursesService
|
|
|
|
latest_course_dynamics = []
|
|
|
|
latest_course_dynamics = []
|
|
|
|
latest_news = course.news.order("created_on desc").first
|
|
|
|
latest_news = course.news.order("created_on desc").first
|
|
|
|
unless latest_news.nil?
|
|
|
|
unless latest_news.nil?
|
|
|
|
latest_course_dynamics << {:type => 1,:time => latest_news.created_on,:message => l(:label_recently_updated_notification,:locale => current_user.language.nil? ? 'zh':current_user.language)}
|
|
|
|
latest_course_dynamics << {:type => 1,:time => latest_news.created_on,:message => l(:label_recently_updated_notification,:locale => get_user_language(current_user))}
|
|
|
|
end
|
|
|
|
end
|
|
|
|
latest_message = course.journals_for_messages.order("created_on desc").first
|
|
|
|
latest_message = course.journals_for_messages.order("created_on desc").first
|
|
|
|
unless latest_message.nil?
|
|
|
|
unless latest_message.nil?
|
|
|
|
latest_course_dynamics << {:type => 2,:time => latest_message.created_on,:message => l(:label_recently_updated_message,:locale => current_user.language.nil? ? 'zh':current_user.language)}
|
|
|
|
latest_course_dynamics << {:type => 2,:time => latest_message.created_on,:message => l(:label_recently_updated_message,:locale => get_user_language(current_user))}
|
|
|
|
end
|
|
|
|
end
|
|
|
|
latest_attachment = course.attachments.order("created_on desc").first
|
|
|
|
latest_attachment = course.attachments.order("created_on desc").first
|
|
|
|
unless latest_attachment.nil?
|
|
|
|
unless latest_attachment.nil?
|
|
|
|
latest_course_dynamics << {:type => 3,:time => latest_attachment.created_on,:message => l(:label_recently_updated_courseware,:locale => current_user.language.nil? ? 'zh':current_user.language)}
|
|
|
|
latest_course_dynamics << {:type => 3,:time => latest_attachment.created_on,:message => l(:label_recently_updated_courseware,:locale => get_user_language(current_user))}
|
|
|
|
end
|
|
|
|
end
|
|
|
|
latest_bid = course.homeworks.order('updated_on DESC').first
|
|
|
|
latest_bid = course.homeworks.order('updated_on DESC').first
|
|
|
|
unless latest_bid.nil?
|
|
|
|
unless latest_bid.nil?
|
|
|
|
latest_course_dynamics << {:type => 4,:time => latest_bid.updated_on,:message => l(:label_recently_updated_homework,:locale => current_user.language.nil? ? 'zh':current_user.language)}
|
|
|
|
latest_course_dynamics << {:type => 4,:time => latest_bid.updated_on,:message => l(:label_recently_updated_homework,:locale => get_user_language(current_user))}
|
|
|
|
end
|
|
|
|
end
|
|
|
|
#每个作业中的最新留言
|
|
|
|
#每个作业中的最新留言
|
|
|
|
messages = []
|
|
|
|
messages = []
|
|
|
@ -382,7 +382,7 @@ class CoursesService
|
|
|
|
end
|
|
|
|
end
|
|
|
|
latest_bid_message = messages.first
|
|
|
|
latest_bid_message = messages.first
|
|
|
|
unless latest_bid_message.nil?
|
|
|
|
unless latest_bid_message.nil?
|
|
|
|
latest_course_dynamics << {:type => 4,:time => latest_bid_message.created_on,:message => l(:label_recently_updated_message,:locale => current_user.language.nil? ? 'zh':current_user.language)}
|
|
|
|
latest_course_dynamics << {:type => 4,:time => latest_bid_message.created_on,:message => l(:label_recently_updated_message,:locale => get_user_language(current_user))}
|
|
|
|
end
|
|
|
|
end
|
|
|
|
#每个作业中学生最后提交的作业
|
|
|
|
#每个作业中学生最后提交的作业
|
|
|
|
homeworks = []
|
|
|
|
homeworks = []
|
|
|
@ -397,12 +397,12 @@ class CoursesService
|
|
|
|
end
|
|
|
|
end
|
|
|
|
latest_homework_attach = homeworks.first
|
|
|
|
latest_homework_attach = homeworks.first
|
|
|
|
unless latest_homework_attach.nil?
|
|
|
|
unless latest_homework_attach.nil?
|
|
|
|
latest_course_dynamics << {:type => 4,:time => latest_homework_attach.updated_at,:message => l(:label_recently_updated_homework,:locale => current_user.language.nil? ? 'zh':current_user.language)}
|
|
|
|
latest_course_dynamics << {:type => 4,:time => latest_homework_attach.updated_at,:message => l(:label_recently_updated_homework,:locale => get_user_language(current_user))}
|
|
|
|
end
|
|
|
|
end
|
|
|
|
latest_course_dynamics.sort!{|order,newer| newer[:time] <=> order[:time]}
|
|
|
|
latest_course_dynamics.sort!{|order,newer| newer[:time] <=> order[:time]}
|
|
|
|
latest_course_dynamic = latest_course_dynamics.first
|
|
|
|
latest_course_dynamic = latest_course_dynamics.first
|
|
|
|
unless latest_course_dynamic.nil?
|
|
|
|
unless latest_course_dynamic.nil?
|
|
|
|
result << {:course_name => course.name,:course_id => course.id,:course_img_url => url_to_avatar(course),:type => latest_course_dynamic[:type],:update_time => latest_course_dynamic[:time],:message => latest_course_dynamic[:message],:count => nil}
|
|
|
|
result << {:course_name => course.name,:course_id => course.id,:course_img_url => url_to_avatar(course),:course_time => course.time,:course_term => course.term,:type => latest_course_dynamic[:type],:update_time => latest_course_dynamic[:time],:message => latest_course_dynamic[:message],:count => nil}
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
result.sort!{|order,newer| newer[:update_time] <=> order[:update_time]}
|
|
|
|
result.sort!{|order,newer| newer[:update_time] <=> order[:update_time]}
|
|
|
|