diff --git a/app/controllers/courses_controller.rb b/app/controllers/courses_controller.rb index 6e3229087..ccf9383dd 100644 --- a/app/controllers/courses_controller.rb +++ b/app/controllers/courses_controller.rb @@ -42,21 +42,15 @@ class CoursesController < ApplicationController # def index @user = User.current - sy_courses = @user.courses.visible.not_deleted - syllabus_ids = sy_courses.empty? ? '(-1)' : "(" + sy_courses.map{|course| !course.syllabus_id.nil? && course.syllabus_id}.join(",") + ")" - syllabus_members = SyllabusMember.where("user_id = #{@user.id}") - syllabus_member_ids = syllabus_members.empty? ? "(-1)" : "(" + syllabus_members.map{|syl_mem| syl_mem.syllabus_id}.join(',') + ")" - @search = params[:search].nil? ? '' : params[:search] @select = params[:select].nil? ? '' : params[:select] - # 我发布的课程 - create_syllabuses = Syllabus.where("user_id = #{@user.id} and title like '%#{@search}%'").order("created_at desc") - # 我参与的课程 - join_syllabuses = Syllabus.where("(id in #{syllabus_ids} or id in #{syllabus_member_ids}) and user_id != #{@user.id} and title like '%#{@search}%'").order("created_at desc") - # 我的所有课程 - all_syllabuses = Syllabus.where("title like '%#{@search}%'").order("created_at desc") - - @syllabus_count = Syllabus.all.count + # 全部课堂 + all_syllabuses = Course.where("is_end = 0 and name like '%#{@search}%'").order("created_at desc") + # 我参与的课堂 + join_syllabuses = @user.courses.where("tea_id != #{@user.id} and name like '%#{@search}%'").order("created_at desc") + # 我创建的课堂 + create_syllabuses = Course.where(:tea_id => @user.id).where("is_end = 0 and name like '%#{@search}%'").order("created_at desc") + @syllabus_count = all_syllabuses.count @join_syllabuses_count = join_syllabuses.count @create_syllabuses_count = create_syllabuses.count # 页面筛选的课程 diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb index 3303d6083..9568aab1c 100644 --- a/app/helpers/application_helper.rb +++ b/app/helpers/application_helper.rb @@ -4870,6 +4870,27 @@ def sy_homeworks syllabus homeworks end +# 可以查看到资源库的资源 +def visable_attachemnts_incourse course + return[] unless course + result = [] + course.attachments.each do |attachment| + if attachment.is_public? && attachment.is_publish == 1 || User.current == attachment.author || User.current.allowed_to?(:as_teacher,course) || (User.current.member_of_course?(course) && attachment.is_publish == 1) || User.current.admin? + result << attachment + end + end + result +end + +def visable_course_homework course + if User.current.admin? || User.current.allowed_to?(:as_teacher,course) + homework_num = course.homework_commons.count + else + homework_num = course.homework_commons.where("publish_time <= '#{Time.now}'").count + end + homework_num +end + #成绩计算 def set_final_score homework,student_work if homework && homework.homework_detail_manual diff --git a/app/helpers/challenges_helper.rb b/app/helpers/challenges_helper.rb index 6a9004d90..dd63cc007 100644 --- a/app/helpers/challenges_helper.rb +++ b/app/helpers/challenges_helper.rb @@ -14,14 +14,14 @@ module ChallengesHelper def find_game_status challenge_id game = Game.where(:challenge_id => challenge_id, :user_id => User.current.id).first - case game.status + case game.try(:status) when 0 "".html_safe when 1 "评测中" when 2 "".html_safe - when 3 + when 3,nil "".html_safe end end diff --git a/app/helpers/courses_helper.rb b/app/helpers/courses_helper.rb index 9d9415e0e..ae3497878 100644 --- a/app/helpers/courses_helper.rb +++ b/app/helpers/courses_helper.rb @@ -833,26 +833,6 @@ module CoursesHelper link.html_safe end - # 可以查看到资源库的资源 - def visable_attachemnts_incourse course - return[] unless course - result = [] - course.attachments.each do |attachment| - if attachment.is_public? && attachment.is_publish == 1 || User.current == attachment.author || User.current.allowed_to?(:as_teacher,course) || (User.current.member_of_course?(course) && attachment.is_publish == 1) || User.current.admin? - result << attachment - end - end - result - end - - def visable_course_homework course - if User.current.admin? || User.current.allowed_to?(:as_teacher,course) - homework_num = course.homework_commons.count - else - homework_num = course.homework_commons.where("publish_time <= '#{Time.now}'").count - end - homework_num - end def zh_course_role role if role == "TeachingAsistant" diff --git a/app/views/courses/_courseList.html.erb b/app/views/courses/_courseList.html.erb index 4f8a7fc41..a3dfe4c9c 100644 --- a/app/views/courses/_courseList.html.erb +++ b/app/views/courses/_courseList.html.erb @@ -1,18 +1,18 @@ <% if @syllabuses.count > 0 %> <% @syllabuses.each do | sy | %> + <% sy_author = User.find(sy.tea_id) %>
- <%= sy.title %> + <%= sy.name %>
- <% sy_author = User.find(sy.user_id) %> <% if !sy_author.user_extensions.school_id.blank? && sy_author.user_extensions.school %> <%= sy_author.user_extensions.school.name %> <% end %> @@ -25,10 +25,10 @@
- <% syResource = sy_resources sy %> - <% syHome = sy.homework_banks %> + <% syResource = visable_attachemnts_incourse(sy) %> + <% syHome = visable_course_homework(sy) %> <%= syResource.count %> - <%= syHome.count %> + <%= syHome %> diff --git a/app/views/courses/index.html.erb b/app/views/courses/index.html.erb index 0e952345c..eb6c369bd 100644 --- a/app/views/courses/index.html.erb +++ b/app/views/courses/index.html.erb @@ -12,14 +12,18 @@