diff --git a/app/controllers/challenges_controller.rb b/app/controllers/challenges_controller.rb index b84cee96f..aef0170ff 100644 --- a/app/controllers/challenges_controller.rb +++ b/app/controllers/challenges_controller.rb @@ -203,7 +203,7 @@ class ChallengesController < ApplicationController def add_choose_question @category = params[:category].to_i - @position = params[:position] + @position = params[:position].to_i #@challenge_choose = @challenge.challenge_chooses respond_to do |format| format.js diff --git a/app/controllers/games_controller.rb b/app/controllers/games_controller.rb index d12b1ba34..69194f1f8 100644 --- a/app/controllers/games_controller.rb +++ b/app/controllers/games_controller.rb @@ -92,6 +92,7 @@ class GamesController < ApplicationController @had_passed_testsests_hidden_count = had_test.blank? ? 0 : had_test.select{|had_test| had_test.result == true && had_test.is_public == false}.count @had_passed_testsests_public_count = had_test.blank? ? 0 : had_test.select{|had_test| had_test.result == true && had_test.is_public == true}.count @final_score = ((@game.answer_open? || @shixun.status <= 1) ? 0 : @game.final_score.to_i) + @gold = @myshixun.shixun.status <= 1 ? 0 : (@game.answer_open? ? -@game_challenge.score.to_i : @game.final_score.to_i) @had_done = @game.had_done @language = @game_challenge.shixun.language error_position = had_test.blank? ? nil : had_test.select{|had_test| had_test.result == false}.last @@ -278,6 +279,7 @@ class GamesController < ApplicationController @had_passed_testsests_hidden_count = had_test.blank? ? 0 : had_test.select{|had_test| had_test.result == true && had_test.is_public == false}.count @had_passed_testsests_public_count = had_test.blank? ? 0 : had_test.select{|had_test| had_test.result == true && had_test.is_public == true}.count @final_score = ((@game.answer_open? || shixun.status <= 1) ? 0 : @game.final_score.to_i) + @gold = @myshixun.shixun.status <= 1 ? 0 : (@game.answer_open? ? -game_challenge.score.to_i : @game.final_score.to_i) error_position = had_test.blank? ? nil : had_test.select{|had_test| had_test.result == false}.last @latest_output = error_position.try(:out_put).gsub(/\n/, '
').gsub(/\t/, '        ') unless error_position.try(:out_put).blank? logger.info("@compile_success###################{@compile_success}") @@ -291,6 +293,7 @@ class GamesController < ApplicationController had_passed_testsests_hidden_count: @had_passed_testsests_hidden_count, had_passed_testsests_public_count: @had_passed_testsests_public_count, final_score: @final_score, + gold: @gold, latest_output: @latest_output, status: game_status, had_done: had_done, @@ -414,7 +417,6 @@ class GamesController < ApplicationController if challenge.shixun.status < 2 || @game.answer_open || (challenge.st != 0 && @game.status == 2) @viewed = 1 else - @game.update_attributes(:answer_open => true) unless @game.answer_open if @score >= 0 @viewed = 2 else diff --git a/app/controllers/homework_common_controller.rb b/app/controllers/homework_common_controller.rb index 182d355f4..f0a1b84a7 100644 --- a/app/controllers/homework_common_controller.rb +++ b/app/controllers/homework_common_controller.rb @@ -441,27 +441,27 @@ class HomeworkCommonController < ApplicationController is_eva_student_works = StudentWork.where(:homework_common_id => is_eva_homeworks.map{|hw| hw.id}) has_eva_homeworks = @course.homework_commons.includes(:homework_detail_manual).where("homework_commons.anonymous_comment = 0 and homework_detail_manuals.comment_status = 3") has_eva_student_works = StudentWork.where(:homework_common_id => has_eva_homeworks.map{|hw| hw.id}) - @course.student.each do |student| - user = student.student - course_statistics = CourseHomeworkStatistics.find_by_course_id_and_user_id(@homework.course_id, student.student_id) - if user && course_statistics - committed_work_num = user.student_works.where("homework_common_id in #{homework_ids} and work_status != 0").count - un_commit_work_num = (hw_count - committed_work_num) < 0 ? 0 : (hw_count - committed_work_num) - late_commit_work_num = user.student_works.where("homework_common_id in #{homework_ids} and work_status = 2").count - absence_evaluation_work_num = user.student_works_evaluation_distributions.where(:student_work_id => has_eva_student_works.map(&:id)).count - - user.student_works_scores.where(:reviewer_role => 3, :student_work_id => has_eva_student_works.map(&:id)).group_by(&:student_work_id).count - absence_evaluation_work_num = absence_evaluation_work_num < 0 ? 0 : absence_evaluation_work_num - un_evaluation_work_num = user.student_works_evaluation_distributions.where(:student_work_id => is_eva_student_works.map(&:id)).count - - user.student_works_scores.where(:reviewer_role => 3, :student_work_id => is_eva_student_works.map(&:id)).group_by(&:student_work_id).count - un_evaluation_work_num = un_evaluation_work_num < 0 ? 0 : un_evaluation_work_num - appeal_num = user.student_works_scores.where(:student_work_id => student_works.map(&:id), :appeal_status => 3).count - average_score = user.student_works.where(:id => student_works.map(&:id)).select("AVG(student_works.work_score) as score").first ? user.student_works.where(:id => student_works.map(&:id)).select("AVG(student_works.work_score) as score").first.score : 0 - total_score = user.student_works.where(:id => student_works.map(&:id)).select("SUM(student_works.work_score) as score").first ? user.student_works.where(:id => student_works.map(&:id)).select("SUM(student_works.work_score) as score").first.score : 0 - course_statistics.update_attributes(:committed_work_num => committed_work_num, :un_commit_work_num => un_commit_work_num, - :late_commit_work_num => late_commit_work_num, :absence_evaluation_work_num => absence_evaluation_work_num, :un_evaluation_work_num => un_evaluation_work_num, - :appeal_num => appeal_num, :average_score => average_score, :total_score => total_score) - end - end + # @course.student.each do |student| + # user = student.student + # course_statistics = CourseHomeworkStatistics.find_by_course_id_and_user_id(@homework.course_id, student.student_id) + # if user && course_statistics + # committed_work_num = user.student_works.where("homework_common_id in #{homework_ids} and work_status != 0").count + # un_commit_work_num = (hw_count - committed_work_num) < 0 ? 0 : (hw_count - committed_work_num) + # late_commit_work_num = user.student_works.where("homework_common_id in #{homework_ids} and work_status = 2").count + # absence_evaluation_work_num = user.student_works_evaluation_distributions.where(:student_work_id => has_eva_student_works.map(&:id)).count - + # user.student_works_scores.where(:reviewer_role => 3, :student_work_id => has_eva_student_works.map(&:id)).group_by(&:student_work_id).count + # absence_evaluation_work_num = absence_evaluation_work_num < 0 ? 0 : absence_evaluation_work_num + # un_evaluation_work_num = user.student_works_evaluation_distributions.where(:student_work_id => is_eva_student_works.map(&:id)).count - + # user.student_works_scores.where(:reviewer_role => 3, :student_work_id => is_eva_student_works.map(&:id)).group_by(&:student_work_id).count + # un_evaluation_work_num = un_evaluation_work_num < 0 ? 0 : un_evaluation_work_num + # appeal_num = user.student_works_scores.where(:student_work_id => student_works.map(&:id), :appeal_status => 3).count + # average_score = user.student_works.where(:id => student_works.map(&:id)).select("AVG(student_works.work_score) as score").first ? user.student_works.where(:id => student_works.map(&:id)).select("AVG(student_works.work_score) as score").first.score : 0 + # total_score = user.student_works.where(:id => student_works.map(&:id)).select("SUM(student_works.work_score) as score").first ? user.student_works.where(:id => student_works.map(&:id)).select("SUM(student_works.work_score) as score").first.score : 0 + # course_statistics.update_attributes(:committed_work_num => committed_work_num, :un_commit_work_num => un_commit_work_num, + # :late_commit_work_num => late_commit_work_num, :absence_evaluation_work_num => absence_evaluation_work_num, :un_evaluation_work_num => un_evaluation_work_num, + # :appeal_num => appeal_num, :average_score => average_score, :total_score => total_score) + # end + # end respond_to do |format| format.html { @@ -539,10 +539,10 @@ class HomeworkCommonController < ApplicationController create_works_list @homework end #更新CourseHomeworkStatistics中每个学生的未交作品数 - @course.student.each do |student| - course_statistics = CourseHomeworkStatistics.find_by_course_id_and_user_id(@homework.course_id, student.student_id) - course_statistics.update_attribute('un_commit_work_num', course_statistics.un_commit_work_num + 1) if course_statistics - end + # @course.student.each do |student| + # course_statistics = CourseHomeworkStatistics.find_by_course_id_and_user_id(@homework.course_id, student.student_id) + # course_statistics.update_attribute('un_commit_work_num', course_statistics.un_commit_work_num + 1) if course_statistics + # end @course.members.each do |m| @homework.course_messages << CourseMessage.new(:user_id => m.user_id, :course_id => @course.id, :viewed => false, :status => nil) @@ -599,8 +599,8 @@ class HomeworkCommonController < ApplicationController end #更新CourseHomeworkStatistics中该学生的待匿评数 - course_statistics = CourseHomeworkStatistics.find_by_course_id_and_user_id(@homework.course_id, pro_work.user_id) - course_statistics.update_attribute('un_evaluation_work_num', course_statistics.un_evaluation_work_num + n) if course_statistics + # course_statistics = CourseHomeworkStatistics.find_by_course_id_and_user_id(@homework.course_id, pro_work.user_id) + # course_statistics.update_attribute('un_evaluation_work_num', course_statistics.un_evaluation_work_num + n) if course_statistics end else student_works.each_with_index do |work, index| @@ -614,8 +614,8 @@ class HomeworkCommonController < ApplicationController end #更新CourseHomeworkStatistics中该学生的待匿评数 - course_statistics = CourseHomeworkStatistics.find_by_course_id_and_user_id(@homework.course_id, user.id) - course_statistics.update_attribute('un_evaluation_work_num', course_statistics.un_evaluation_work_num + n) if course_statistics + # course_statistics = CourseHomeworkStatistics.find_by_course_id_and_user_id(@homework.course_id, user.id) + # course_statistics.update_attribute('un_evaluation_work_num', course_statistics.un_evaluation_work_num + n) if course_statistics end end @homework_detail_manual.update_column('comment_status', 2) @@ -650,9 +650,9 @@ class HomeworkCommonController < ApplicationController student_work.save #更新CourseHomeworkStatistics中该学生的待匿评数和缺评数 - course_statistics = CourseHomeworkStatistics.find_by_course_id_and_user_id(@homework.course_id, student_work.user_id) - course_statistics.update_attribute('un_evaluation_work_num', (course_statistics.un_evaluation_work_num - absence_penalty_count) < 0 ? 0 : (course_statistics.un_evaluation_work_num - absence_penalty_count)) if course_statistics - course_statistics.update_attribute('absence_evaluation_work_num', course_statistics.absence_evaluation_work_num + absence_penalty_count) if course_statistics + # course_statistics = CourseHomeworkStatistics.find_by_course_id_and_user_id(@homework.course_id, student_work.user_id) + # course_statistics.update_attribute('un_evaluation_work_num', (course_statistics.un_evaluation_work_num - absence_penalty_count) < 0 ? 0 : (course_statistics.un_evaluation_work_num - absence_penalty_count)) if course_statistics + # course_statistics.update_attribute('absence_evaluation_work_num', course_statistics.absence_evaluation_work_num + absence_penalty_count) if course_statistics end # 未参与匿评的缺评计算 diff --git a/app/controllers/shixuns_controller.rb b/app/controllers/shixuns_controller.rb index c398d388c..cfbeacef6 100644 --- a/app/controllers/shixuns_controller.rb +++ b/app/controllers/shixuns_controller.rb @@ -139,7 +139,7 @@ class ShixunsController < ApplicationController @sort = "asc" search = params[:search] @mail = User.current.mail.blank? - @shixun_all_count = Shixun.all.count + @shixun_all_count = Shixun.where(:hidden => 0).count @shixuns = Shixun.where("name like ? and hidden = 0", "%#{search}%") @shixuns.each do |shixun| shixun[:myshixunCount] = shixun.myshixuns.count @@ -242,7 +242,7 @@ class ShixunsController < ApplicationController bsort = params[:sort] || "desc" @sort = bsort == "desc" ? "asc" : "desc" if @order == "updated_at" - order_str = "#{Shixun.table_name}.updated_at #{bsort}" + order_str = "#{Shixun.table_name}.updated_at #{@sort}" else order_str = "myshixun_count #{bsort}, #{Shixun.table_name}.updated_at #{bsort}" end diff --git a/app/controllers/student_work_controller.rb b/app/controllers/student_work_controller.rb index d65032df4..70052e997 100644 --- a/app/controllers/student_work_controller.rb +++ b/app/controllers/student_work_controller.rb @@ -359,6 +359,9 @@ class StudentWorkController < ApplicationController end end ################################################################################################################## + if @homework.homework_type == 4 && (@homework.publish_time > Time.now || (@homework.publish_time <= Time.now && @homework.allow_late)) + update_shixun_work_status @homework + end @order,@b_sort,@name,@group,@comment,@status = params[:order] || "updated_at",params[:sort] || "desc",params[:name].to_s.strip || "",params[:group], params[:comment], params[:status] @homework_commons = @course.homework_commons.where("publish_time <= ?",Time.now).order("created_at desc") @all_homework_commons = @course.homework_commons.order("created_at desc") @@ -549,17 +552,17 @@ class StudentWorkController < ApplicationController end #更新CourseHomeworkStatistics中学生的迟交作品数 - course_statistics = CourseHomeworkStatistics.find_by_course_id_and_user_id(@homework.course_id, User.current.id) - course_statistics.update_attribute('late_commit_work_num', course_statistics.late_commit_work_num + 1) if course_statistics + # course_statistics = CourseHomeworkStatistics.find_by_course_id_and_user_id(@homework.course_id, User.current.id) + # course_statistics.update_attribute('late_commit_work_num', course_statistics.late_commit_work_num + 1) if course_statistics else student_work.late_penalty = 0 student_work.work_status = 1 end if student_work.save #更新CourseHomeworkStatistics中学生的未交作品数、已交作品数 - course_statistics = CourseHomeworkStatistics.find_by_course_id_and_user_id(@homework.course_id, User.current.id) - course_statistics.update_attribute('committed_work_num', course_statistics.committed_work_num + 1) if course_statistics - course_statistics.update_attribute('un_commit_work_num', (course_statistics.un_commit_work_num - 1) < 0 ? 0 : (course_statistics.un_commit_work_num - 1)) if course_statistics + # course_statistics = CourseHomeworkStatistics.find_by_course_id_and_user_id(@homework.course_id, User.current.id) + # course_statistics.update_attribute('committed_work_num', course_statistics.committed_work_num + 1) if course_statistics + # course_statistics.update_attribute('un_commit_work_num', (course_statistics.un_commit_work_num - 1) < 0 ? 0 : (course_statistics.un_commit_work_num - 1)) if course_statistics if @homework.homework_type == 3 if @homework.homework_detail_group.base_on_project == 1 @@ -579,12 +582,12 @@ class StudentWorkController < ApplicationController end #更新CourseHomeworkStatistics中学生的未交作品数、已交作品数、迟交作品数 - course_statistics = CourseHomeworkStatistics.find_by_course_id_and_user_id(@homework.course_id, members[i].to_i) - course_statistics.update_attribute('committed_work_num', course_statistics.committed_work_num + 1) if course_statistics - course_statistics.update_attribute('un_commit_work_num', (course_statistics.un_commit_work_num - 1) < 0 ? 0 : (course_statistics.un_commit_work_num - 1)) if course_statistics - if student_work.work_status == 2 - course_statistics.update_attribute('late_commit_work_num', course_statistics.late_commit_work_num + 1) if course_statistics - end + # course_statistics = CourseHomeworkStatistics.find_by_course_id_and_user_id(@homework.course_id, members[i].to_i) + # course_statistics.update_attribute('committed_work_num', course_statistics.committed_work_num + 1) if course_statistics + # course_statistics.update_attribute('un_commit_work_num', (course_statistics.un_commit_work_num - 1) < 0 ? 0 : (course_statistics.un_commit_work_num - 1)) if course_statistics + # if student_work.work_status == 2 + # course_statistics.update_attribute('late_commit_work_num', course_statistics.late_commit_work_num + 1) if course_statistics + # end end end @homework.update_column(:updated_at, Time.now) @@ -628,14 +631,14 @@ class StudentWorkController < ApplicationController student_work_projects = @homework.student_work_projects.where("student_work_id=? and user_id !=?",@student_work_project.student_work_id,User.current.id) #user_ids = student_work_projects.empty? ? "(-1)" : "(" + student_work_projects.map{|stu|stu.user_id}.join(",") + ")" student_works = @homework.student_works.where("group_id = #{@work.group_id} and user_id != #{@work.user_id}") - student_works.each do |sw| - course_statistics = CourseHomeworkStatistics.find_by_course_id_and_user_id(@homework.course_id, sw.user_id) - if @work.work_status == 2 - course_statistics.update_attribute('late_commit_work_num', (course_statistics.late_commit_work_num - 1) < 0 ? 0 : (course_statistics.late_commit_work_num - 1)) if course_statistics - end - course_statistics.update_attribute('committed_work_num', (course_statistics.committed_work_num - 1) < 0 ? 0 : (course_statistics.committed_work_num - 1)) if course_statistics - course_statistics.update_attribute('un_commit_work_num', course_statistics.un_commit_work_num + 1) if course_statistics - end + # student_works.each do |sw| + # course_statistics = CourseHomeworkStatistics.find_by_course_id_and_user_id(@homework.course_id, sw.user_id) + # if @work.work_status == 2 + # course_statistics.update_attribute('late_commit_work_num', (course_statistics.late_commit_work_num - 1) < 0 ? 0 : (course_statistics.late_commit_work_num - 1)) if course_statistics + # end + # course_statistics.update_attribute('committed_work_num', (course_statistics.committed_work_num - 1) < 0 ? 0 : (course_statistics.committed_work_num - 1)) if course_statistics + # course_statistics.update_attribute('un_commit_work_num', course_statistics.un_commit_work_num + 1) if course_statistics + # end student_works.update_all(:work_status => 0, :description => nil, :project_id => 0, :late_penalty => 0,:work_status => 0, :commit_time => nil, :group_id => 0) student_work_projects.delete_all @student_work_project.update_attributes(:is_leader => 1) @@ -649,12 +652,12 @@ class StudentWorkController < ApplicationController end #更新CourseHomeworkStatistics中学生的未交作品数、已交作品数、迟交作品数 - course_statistics = CourseHomeworkStatistics.find_by_course_id_and_user_id(@homework.course_id, members[i].to_i) - course_statistics.update_attribute('committed_work_num', course_statistics.committed_work_num + 1) if course_statistics - course_statistics.update_attribute('un_commit_work_num', (course_statistics.un_commit_work_num - 1) < 0 ? 0 : (course_statistics.un_commit_work_num - 1)) if course_statistics - if @work.work_status == 2 - course_statistics.update_attribute('late_commit_work_num', course_statistics.late_commit_work_num + 1) if course_statistics - end + # course_statistics = CourseHomeworkStatistics.find_by_course_id_and_user_id(@homework.course_id, members[i].to_i) + # course_statistics.update_attribute('committed_work_num', course_statistics.committed_work_num + 1) if course_statistics + # course_statistics.update_attribute('un_commit_work_num', (course_statistics.un_commit_work_num - 1) < 0 ? 0 : (course_statistics.un_commit_work_num - 1)) if course_statistics + # if @work.work_status == 2 + # course_statistics.update_attribute('late_commit_work_num', course_statistics.late_commit_work_num + 1) if course_statistics + # end end end @@ -709,14 +712,14 @@ class StudentWorkController < ApplicationController #更新CourseHomeworkStatistics中每个学生的未交作品数、已交作品数、迟交作品数 - student_works.each do |sw| - course_statistics = CourseHomeworkStatistics.find_by_course_id_and_user_id(@homework.course_id, sw.user_id) - if @work.work_status == 2 - course_statistics.update_attribute('late_commit_work_num', (course_statistics.late_commit_work_num - 1) < 0 ? 0 : (course_statistics.late_commit_work_num - 1)) if course_statistics - end - course_statistics.update_attribute('committed_work_num', (course_statistics.committed_work_num - 1) < 0 ? 0 : (course_statistics.committed_work_num - 1)) if course_statistics - course_statistics.update_attribute('un_commit_work_num', course_statistics.un_commit_work_num + 1) if course_statistics - end + # student_works.each do |sw| + # course_statistics = CourseHomeworkStatistics.find_by_course_id_and_user_id(@homework.course_id, sw.user_id) + # if @work.work_status == 2 + # course_statistics.update_attribute('late_commit_work_num', (course_statistics.late_commit_work_num - 1) < 0 ? 0 : (course_statistics.late_commit_work_num - 1)) if course_statistics + # end + # course_statistics.update_attribute('committed_work_num', (course_statistics.committed_work_num - 1) < 0 ? 0 : (course_statistics.committed_work_num - 1)) if course_statistics + # course_statistics.update_attribute('un_commit_work_num', course_statistics.un_commit_work_num + 1) if course_statistics + # end student_works.update_all(:work_status => 0, :description => nil, :project_id => 0, :late_penalty => 0,:work_status => 0, :commit_time => nil) pros.delete_all @@ -731,12 +734,12 @@ class StudentWorkController < ApplicationController @work.update_all(:work_status => 0, :description => nil, :project_id => 0, :late_penalty => 0,:work_status => 0, :commit_time => nil) else #更新CourseHomeworkStatistics中学生的已交作品数、迟交作品数 - course_statistics = CourseHomeworkStatistics.find_by_course_id_and_user_id(@homework.course_id, @work.user_id) - if @work.work_status == 2 - course_statistics.update_attribute('late_commit_work_num', (course_statistics.late_commit_work_num - 1) < 0 ? 0 : (course_statistics.late_commit_work_num - 1)) if course_statistics - end - course_statistics.update_attribute('committed_work_num', (course_statistics.committed_work_num - 1) < 0 ? 0 : (course_statistics.committed_work_num - 1)) if course_statistics - course_statistics.update_attribute('un_commit_work_num', course_statistics.un_commit_work_num + 1) if course_statistics + # course_statistics = CourseHomeworkStatistics.find_by_course_id_and_user_id(@homework.course_id, @work.user_id) + # if @work.work_status == 2 + # course_statistics.update_attribute('late_commit_work_num', (course_statistics.late_commit_work_num - 1) < 0 ? 0 : (course_statistics.late_commit_work_num - 1)) if course_statistics + # end + # course_statistics.update_attribute('committed_work_num', (course_statistics.committed_work_num - 1) < 0 ? 0 : (course_statistics.committed_work_num - 1)) if course_statistics + # course_statistics.update_attribute('un_commit_work_num', course_statistics.un_commit_work_num + 1) if course_statistics @work.attachments.destroy_all @work.student_works_scores.destroy_all @@ -761,14 +764,14 @@ class StudentWorkController < ApplicationController student_works = @homework.student_works.where("user_id in #{user_ids}") #更新CourseHomeworkStatistics中每个学生的已交作品数、迟交作品数 - student_works.each do |sw| - course_statistics = CourseHomeworkStatistics.find_by_course_id_and_user_id(@homework.course_id, sw.user_id) - if @work.work_status == 2 - course_statistics.update_attribute('late_commit_work_num', (course_statistics.late_commit_work_num - 1) < 0 ? 0 : (course_statistics.late_commit_work_num - 1)) if course_statistics - end - course_statistics.update_attribute('committed_work_num', (course_statistics.committed_work_num - 1) < 0 ? 0 : (course_statistics.committed_work_num - 1)) if course_statistics - course_statistics.update_attribute('un_commit_work_num', course_statistics.un_commit_work_num + 1) if course_statistics - end + # student_works.each do |sw| + # course_statistics = CourseHomeworkStatistics.find_by_course_id_and_user_id(@homework.course_id, sw.user_id) + # if @work.work_status == 2 + # course_statistics.update_attribute('late_commit_work_num', (course_statistics.late_commit_work_num - 1) < 0 ? 0 : (course_statistics.late_commit_work_num - 1)) if course_statistics + # end + # course_statistics.update_attribute('committed_work_num', (course_statistics.committed_work_num - 1) < 0 ? 0 : (course_statistics.committed_work_num - 1)) if course_statistics + # course_statistics.update_attribute('un_commit_work_num', course_statistics.un_commit_work_num + 1) if course_statistics + # end student_works.delete_all pros.delete_all @@ -781,12 +784,12 @@ class StudentWorkController < ApplicationController @work.destroy else #更新CourseHomeworkStatistics中学生的已交作品数、迟交作品数 - course_statistics = CourseHomeworkStatistics.find_by_course_id_and_user_id(@homework.course_id, @work.user_id) - if @work.work_status == 2 - course_statistics.update_attribute('late_commit_work_num', (course_statistics.late_commit_work_num - 1) < 0 ? 0 : (course_statistics.late_commit_work_num - 1)) if course_statistics - end - course_statistics.update_attribute('committed_work_num', (course_statistics.committed_work_num - 1) < 0 ? 0 : (course_statistics.committed_work_num - 1)) if course_statistics - course_statistics.update_attribute('un_commit_work_num', course_statistics.un_commit_work_num + 1) if course_statistics + # course_statistics = CourseHomeworkStatistics.find_by_course_id_and_user_id(@homework.course_id, @work.user_id) + # if @work.work_status == 2 + # course_statistics.update_attribute('late_commit_work_num', (course_statistics.late_commit_work_num - 1) < 0 ? 0 : (course_statistics.late_commit_work_num - 1)) if course_statistics + # end + # course_statistics.update_attribute('committed_work_num', (course_statistics.committed_work_num - 1) < 0 ? 0 : (course_statistics.committed_work_num - 1)) if course_statistics + # course_statistics.update_attribute('un_commit_work_num', course_statistics.un_commit_work_num + 1) if course_statistics @work.update_attributes(:work_status => 0, :name => "#{@homework.name}的作品提交", :description => nil, :late_penalty => 0, :commit_time => nil, :project_id => 0) @work.attachments.destroy_all @@ -803,14 +806,14 @@ class StudentWorkController < ApplicationController student_works = @homework.student_works.where("user_id in #{user_ids}") #更新CourseHomeworkStatistics中每个学生的已交作品数、迟交作品数 - student_works.each do |sw| - course_statistics = CourseHomeworkStatistics.find_by_course_id_and_user_id(@homework.course_id, sw.user_id) - if @work.work_status == 2 - course_statistics.update_attribute('late_commit_work_num', (course_statistics.late_commit_work_num - 1) < 0 ? 0 : (course_statistics.late_commit_work_num - 1)) if course_statistics - end - course_statistics.update_attribute('committed_work_num', (course_statistics.committed_work_num - 1) < 0 ? 0 : (course_statistics.committed_work_num - 1)) if course_statistics - course_statistics.update_attribute('un_commit_work_num', course_statistics.un_commit_work_num + 1) if course_statistics - end + # student_works.each do |sw| + # course_statistics = CourseHomeworkStatistics.find_by_course_id_and_user_id(@homework.course_id, sw.user_id) + # if @work.work_status == 2 + # course_statistics.update_attribute('late_commit_work_num', (course_statistics.late_commit_work_num - 1) < 0 ? 0 : (course_statistics.late_commit_work_num - 1)) if course_statistics + # end + # course_statistics.update_attribute('committed_work_num', (course_statistics.committed_work_num - 1) < 0 ? 0 : (course_statistics.committed_work_num - 1)) if course_statistics + # course_statistics.update_attribute('un_commit_work_num', course_statistics.un_commit_work_num + 1) if course_statistics + # end student_works.delete_all pros.delete_all @@ -823,12 +826,12 @@ class StudentWorkController < ApplicationController @work.destroy else #更新CourseHomeworkStatistics中学生的已交作品数、迟交作品数 - course_statistics = CourseHomeworkStatistics.find_by_course_id_and_user_id(@homework.course_id, @work.user_id) - if @work.work_status == 2 - course_statistics.update_attribute('late_commit_work_num', (course_statistics.late_commit_work_num - 1) < 0 ? 0 : (course_statistics.late_commit_work_num - 1)) if course_statistics - end - course_statistics.update_attribute('committed_work_num', (course_statistics.committed_work_num - 1) < 0 ? 0 : (course_statistics.committed_work_num - 1)) if course_statistics - course_statistics.update_attribute('un_commit_work_num', course_statistics.un_commit_work_num + 1) if course_statistics + # course_statistics = CourseHomeworkStatistics.find_by_course_id_and_user_id(@homework.course_id, @work.user_id) + # if @work.work_status == 2 + # course_statistics.update_attribute('late_commit_work_num', (course_statistics.late_commit_work_num - 1) < 0 ? 0 : (course_statistics.late_commit_work_num - 1)) if course_statistics + # end + # course_statistics.update_attribute('committed_work_num', (course_statistics.committed_work_num - 1) < 0 ? 0 : (course_statistics.committed_work_num - 1)) if course_statistics + # course_statistics.update_attribute('un_commit_work_num', course_statistics.un_commit_work_num + 1) if course_statistics @work.update_attributes(:work_status => 0, :name => "#{@homework.name}的作品提交", :description => nil, :late_penalty => 0, :commit_time => nil, :project_id => 0) @work.attachments.destroy_all @@ -853,17 +856,17 @@ class StudentWorkController < ApplicationController work.work_status = 2 #更新CourseHomeworkStatistics中学生的迟交作品数 - course_statistics = CourseHomeworkStatistics.find_by_course_id_and_user_id(@homework.course_id, User.current.id) - course_statistics.update_attribute('late_commit_work_num', course_statistics.late_commit_work_num + 1) if course_statistics + # course_statistics = CourseHomeworkStatistics.find_by_course_id_and_user_id(@homework.course_id, User.current.id) + # course_statistics.update_attribute('late_commit_work_num', course_statistics.late_commit_work_num + 1) if course_statistics else work.late_penalty = 0 work.work_status = 1 end if work.save #更新CourseHomeworkStatistics中学生的未交作品数、已交作品数 - course_statistics = CourseHomeworkStatistics.find_by_course_id_and_user_id(@homework.course_id, User.current.id) - course_statistics.update_attribute('committed_work_num', course_statistics.committed_work_num + 1) if course_statistics - course_statistics.update_attribute('un_commit_work_num', (course_statistics.un_commit_work_num - 1) < 0 ? 0 : (course_statistics.un_commit_work_num - 1)) if course_statistics + # course_statistics = CourseHomeworkStatistics.find_by_course_id_and_user_id(@homework.course_id, User.current.id) + # course_statistics.update_attribute('committed_work_num', course_statistics.committed_work_num + 1) if course_statistics + # course_statistics.update_attribute('un_commit_work_num', (course_statistics.un_commit_work_num - 1) < 0 ? 0 : (course_statistics.un_commit_work_num - 1)) if course_statistics @homework.update_column(:updated_at, Time.now) update_course_activity(@homework.class,@homework.id) @@ -919,9 +922,9 @@ class StudentWorkController < ApplicationController stu_project.save end #更新CourseHomeworkStatistics中学生的已交作品数、未交作品数 - course_statistics = CourseHomeworkStatistics.find_by_course_id_and_user_id(@homework.course_id, @work.user_id) - course_statistics.update_attribute('committed_work_num', course_statistics.committed_work_num + 1) if course_statistics - course_statistics.update_attribute('un_commit_work_num', (course_statistics.un_commit_work_num - 1) < 0 ? 0 : (course_statistics.un_commit_work_num - 1)) if course_statistics + # course_statistics = CourseHomeworkStatistics.find_by_course_id_and_user_id(@homework.course_id, @work.user_id) + # course_statistics.update_attribute('committed_work_num', course_statistics.committed_work_num + 1) if course_statistics + # course_statistics.update_attribute('un_commit_work_num', (course_statistics.un_commit_work_num - 1) < 0 ? 0 : (course_statistics.un_commit_work_num - 1)) if course_statistics end if User.current.admin? @new_score.reviewer_role = 1 @@ -976,10 +979,10 @@ class StudentWorkController < ApplicationController end #更新CourseHomeworkStatistics中该学生的待匿评数, 只计算第一次评分 - if User.current.student_works_scores.where(:student_work_id => @work.id, :reviewer_role => 3).count == 1 - course_statistics = CourseHomeworkStatistics.find_by_course_id_and_user_id(@homework.course_id, User.current.id) - course_statistics.update_attribute('un_evaluation_work_num', (course_statistics.un_evaluation_work_num - 1) < 0 ? 0 : (course_statistics.un_evaluation_work_num - 1)) if course_statistics - end + # if User.current.student_works_scores.where(:student_work_id => @work.id, :reviewer_role => 3).count == 1 + # course_statistics = CourseHomeworkStatistics.find_by_course_id_and_user_id(@homework.course_id, User.current.id) + # course_statistics.update_attribute('un_evaluation_work_num', (course_statistics.un_evaluation_work_num - 1) < 0 ? 0 : (course_statistics.un_evaluation_work_num - 1)) if course_statistics + # end end @homework.update_column('updated_at', Time.now) update_course_activity(@homework.class,@homework.id) @@ -1315,10 +1318,10 @@ class StudentWorkController < ApplicationController sw.update_attribute("appeal_penalty", homework.homework_detail_manual.appeal_penalty + sw.appeal_penalty) #申诉成功,匿评学生的被申诉记录加一 - course_homework_statistics = CourseHomeworkStatistics.where(:user_id => @student_work_score.user_id, :course_id => course.id).first - if course_homework_statistics - course_homework_statistics.update_attribute('appeal_num', course_homework_statistics.appeal_num + 1) - end + # course_homework_statistics = CourseHomeworkStatistics.where(:user_id => @student_work_score.user_id, :course_id => course.id).first + # if course_homework_statistics + # course_homework_statistics.update_attribute('appeal_num', course_homework_statistics.appeal_num + 1) + # end # 申诉成功 重新计算申诉者的匿评分 work = @student_work_score.student_work @@ -1529,12 +1532,12 @@ class StudentWorkController < ApplicationController end #更新CourseHomeworkStatistics中学生的未交作品数、已交作品数、迟交作品数 - course_statistics = CourseHomeworkStatistics.find_by_course_id_and_user_id(@homework.course_id, params[:member_id][i].to_i) - course_statistics.update_attribute('committed_work_num', course_statistics.committed_work_num + 1) if course_statistics - course_statistics.update_attribute('un_commit_work_num', (course_statistics.un_commit_work_num - 1) < 0 ? 0 : (course_statistics.un_commit_work_num - 1)) if course_statistics - if student_work.work_status == 2 - course_statistics.update_attribute('late_commit_work_num', course_statistics.late_commit_work_num + 1) if course_statistics - end + # course_statistics = CourseHomeworkStatistics.find_by_course_id_and_user_id(@homework.course_id, params[:member_id][i].to_i) + # course_statistics.update_attribute('committed_work_num', course_statistics.committed_work_num + 1) if course_statistics + # course_statistics.update_attribute('un_commit_work_num', (course_statistics.un_commit_work_num - 1) < 0 ? 0 : (course_statistics.un_commit_work_num - 1)) if course_statistics + # if student_work.work_status == 2 + # course_statistics.update_attribute('late_commit_work_num', course_statistics.late_commit_work_num + 1) if course_statistics + # end end end @@ -1546,12 +1549,12 @@ class StudentWorkController < ApplicationController sp.destroy if work #更新CourseHomeworkStatistics中学生的未交作品数、已交作品数、迟交作品数 - course_statistics = CourseHomeworkStatistics.find_by_course_id_and_user_id(@homework.course_id, work.user_id) - if student_work.work_status == 2 - course_statistics.update_attribute('late_commit_work_num', (course_statistics.late_commit_work_num - 1) < 0 ? 0 : (course_statistics.late_commit_work_num - 1)) if course_statistics - end - course_statistics.update_attribute('committed_work_num', (course_statistics.committed_work_num - 1) < 0 ? 0 : (course_statistics.committed_work_num - 1)) if course_statistics - course_statistics.update_attribute('un_commit_work_num', course_statistics.un_commit_work_num + 1) if course_statistics + # course_statistics = CourseHomeworkStatistics.find_by_course_id_and_user_id(@homework.course_id, work.user_id) + # if student_work.work_status == 2 + # course_statistics.update_attribute('late_commit_work_num', (course_statistics.late_commit_work_num - 1) < 0 ? 0 : (course_statistics.late_commit_work_num - 1)) if course_statistics + # end + # course_statistics.update_attribute('committed_work_num', (course_statistics.committed_work_num - 1) < 0 ? 0 : (course_statistics.committed_work_num - 1)) if course_statistics + # course_statistics.update_attribute('un_commit_work_num', course_statistics.un_commit_work_num + 1) if course_statistics work.destroy end diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb index 897f7cf02..e13cf05b8 100644 --- a/app/helpers/application_helper.rb +++ b/app/helpers/application_helper.rb @@ -201,7 +201,7 @@ module ApplicationHelper # 实训语言的种类 def shixun_language - ["Java", "C", "C++", "Python2.7", "Python3.6", "MySQL/Java", "Html", "JFinal", "Docker", "Ethereum", "Dynamips", "MachineLearning"] + ["Java", "C", "C++", "Python2.7", "Python3.6", "MySQL/Java", "Html", "JFinal", "Docker", "Ethereum", "Dynamips", "MachineLearning", "verilog"] end # 实训试用专业 @@ -3894,7 +3894,13 @@ module ApplicationHelper link_to "开始实战(#{count})", shixun_path(homework.homework_commons_shixuns.shixun),:class => 'c_blue homepagePostSubmit',:target => "_blank" else myshixun = Myshixun.find work.myshixun_id - link_to "继续实战(#{count})", myshixun_game_path(myshixun.current_task, :myshixun_id => myshixun), :class => "c_blue homepagePostSubmit",:target => "_blank" if myshixun + is_modify = ShixunModify.where(:myshixun_id => myshixun.try(:id), :shixun_id => myshixun.shixun.try(:id), :status => 1).first + if myshixun && is_modify.blank? + link_to "继续实战(#{count})", myshixun_game_path(myshixun.current_task, :myshixun_id => myshixun), :class => "c_blue homepagePostSubmit", :target => "_blank" + elsif myshixun + link_to "继续实战(#{count})", 'javascript:void(0);', :onclick => "sure_box_redirect('#{myshixun_reset_myshixun_path(myshixun)}', '实训已经更新啦,系统正在为您重置');", :class => "c_blue homepagePostSubmit" + end + #link_to "继续实战(#{count})", myshixun_game_path(myshixun.current_task, :myshixun_id => myshixun), :class => "c_blue homepagePostSubmit",:target => "_blank" if myshixun end elsif work.nil? && homework.end_time >= Time.now if homework.homework_type ==3 && project.nil? && homework.homework_detail_group.base_on_project == 1 diff --git a/app/helpers/student_work_helper.rb b/app/helpers/student_work_helper.rb index 5426354e2..6d095f9b0 100644 --- a/app/helpers/student_work_helper.rb +++ b/app/helpers/student_work_helper.rb @@ -2,6 +2,15 @@ include UserScoreHelper module StudentWorkHelper + def update_shixun_work_status homework + homework.student_works.where(:work_status => 0).each do |work| + myshixun = Myshixun.where(:shixun_id => homework.homework_commons_shixuns.shixun_id, :user_id => work.user_id).first + if myshixun + work.update_attributes(:work_status => myshixun.created_at <= homework.publish_time ? 1 : 2, :commit_time => myshixun.created_at, :myshixun_id => myshixun.id) + end + end + end + #获取当前用户的项目列表 def user_projects_option projects = User.current.projects.visible @@ -99,14 +108,14 @@ module StudentWorkHelper project = cur_user_projects_for_homework homework if work.nil? && homework.end_time >= Time.now if homework.homework_type == 4 - link_to "关联实战", relate_myshixun_student_work_index_path(:homework => homework.id),:class => 'white-btn orange-btn fr mr10 mt8',:remote => true + #link_to "关联实战", relate_myshixun_student_work_index_path(:homework => homework.id),:class => 'white-btn orange-btn fr mr10 mt8',:remote => true else link_to "提交作品", new_student_work_url_without_domain(homework.id),:class => 'white-btn orange-btn fr mr10 mt8' end elsif work.nil? && homework.end_time < Time.now if homework.allow_late && homework.homework_detail_manual.comment_status < 6 if homework.homework_type == 4 - link_to "关联实战", relate_myshixun_student_work_index_path(:homework => homework.id),:class => 'white-btn orange-btn fr mr10 mt8',:remote => true + #link_to "关联实战", relate_myshixun_student_work_index_path(:homework => homework.id),:class => 'white-btn orange-btn fr mr10 mt8',:remote => true else link_to "补交作品", new_student_work_url_without_domain(homework.id),:class => 'white-btn orange-btn fr mr10 mt8' end @@ -114,7 +123,12 @@ module StudentWorkHelper elsif work if homework.homework_type == 4 myshixun = Myshixun.find work.myshixun_id - link_to "继续实战", myshixun_game_path(myshixun.current_task, :myshixun_id => myshixun), :class => "white-btn orange-btn fr mr10 mt8",:target => "_blank" if myshixun + is_modify = ShixunModify.where(:myshixun_id => myshixun.try(:id), :shixun_id => myshixun.shixun.try(:id), :status => 1).first + if myshixun && is_modify.blank? + link_to "继续实战", myshixun_game_path(myshixun.current_task, :myshixun_id => myshixun), :class => "white-btn orange-btn fr mr10 mt8", :target => "_blank" + elsif myshixun + link_to "继续实战", 'javascript:void(0);', :onclick => "sure_box_redirect('#{myshixun_reset_myshixun_path(myshixun)}', '实训已经更新啦,系统正在为您重置');", :class => "white-btn orange-btn fr mr10 mt8" + end else work_ids = "(" + homework.student_works.has_committed.map(&:id).join(",") + ")" if homework.homework_detail_manual && homework.homework_detail_manual.comment_status == 3 && User.current.student_works_evaluation_distributions.where("student_work_id IN #{work_ids}").count > 0 #匿评作业,且作业状态不是在开启匿评之前 diff --git a/app/models/student_work.rb b/app/models/student_work.rb index 8d5cad339..8bb374ffc 100644 --- a/app/models/student_work.rb +++ b/app/models/student_work.rb @@ -1,7 +1,7 @@ #学生提交作品表 #work_status :0 未提交 1 已提交 2 迟交 3 分组作品复制的组员作品 class StudentWork < ActiveRecord::Base attr_accessible :name, :description, :homework_common_id, :user_id, :final_score, :teacher_score, :student_score, :teaching_asistant_score, :system_score, :work_score, :project_id, :is_test, :simi_id, - :simi_value, :work_status, :commit_time, :late_penalty, :absence_penalty, :re_commit, :late_reason, :group_id + :simi_value, :work_status, :commit_time, :late_penalty, :absence_penalty, :re_commit, :late_reason, :group_id, :myshixun_id belongs_to :homework_common belongs_to :user @@ -178,16 +178,16 @@ class StudentWork < ActiveRecord::Base #更新course_homework_statistics中的avg_score和total_score def update_avg_sum_score - course_homework_statistics = CourseHomeworkStatistics.where(:user_id => self.user_id, :course_id => self.homework_common.course_id).first - if course_homework_statistics - course = self.homework_common.course - homework_ids = course.homework_commons.empty? ? "(-1)" : "(" + course.homework_commons.map{|hw| hw.id}.join(",") + ")" - student_works = StudentWork.where("homework_common_id in #{homework_ids} and work_status !=0") - user = self.user - average_score = user.student_works.where(:id => student_works.map(&:id)).select("AVG(student_works.work_score) as score").first ? user.student_works.where(:id => student_works.map(&:id)).select("AVG(student_works.work_score) as score").first.score : 0 - total_score = user.student_works.where(:id => student_works.map(&:id)).select("SUM(student_works.work_score) as score").first ? user.student_works.where(:id => student_works.map(&:id)).select("SUM(student_works.work_score) as score").first.score : 0 - course_homework_statistics.update_attributes(:average_score => average_score, :total_score => total_score) - end + # course_homework_statistics = CourseHomeworkStatistics.where(:user_id => self.user_id, :course_id => self.homework_common.course_id).first + # if course_homework_statistics + # course = self.homework_common.course + # homework_ids = course.homework_commons.empty? ? "(-1)" : "(" + course.homework_commons.map{|hw| hw.id}.join(",") + ")" + # student_works = StudentWork.where("homework_common_id in #{homework_ids} and work_status !=0") + # user = self.user + # average_score = user.student_works.where(:id => student_works.map(&:id)).select("AVG(student_works.work_score) as score").first ? user.student_works.where(:id => student_works.map(&:id)).select("AVG(student_works.work_score) as score").first.score : 0 + # total_score = user.student_works.where(:id => student_works.map(&:id)).select("SUM(student_works.work_score) as score").first ? user.student_works.where(:id => student_works.map(&:id)).select("SUM(student_works.work_score) as score").first.score : 0 + # course_homework_statistics.update_attributes(:average_score => average_score, :total_score => total_score) + # end end # status == 0 : delay diff --git a/app/models/students_for_course.rb b/app/models/students_for_course.rb index 0bf062d1b..b501db674 100644 --- a/app/models/students_for_course.rb +++ b/app/models/students_for_course.rb @@ -39,11 +39,20 @@ class StudentsForCourse < ActiveRecord::Base if str != "" str += "," end - str += "('#{hw.name}的作品提交',#{hw.id},#{self.student_id}, '#{format_time(Time.now)}', '#{format_time(Time.now)}')" + if hw.homework_type == 4 + myshixun = Myshixun.where(:shixun_id => hw.homework_commons_shixuns.shixun_id, :user_id => self.student_id).first + if myshixun + str += "('#{hw.name}的作品提交',#{hw.id},#{self.student_id}, 1, #{myshixun.id}, '#{Time.now.strftime('%Y-%m-%d %H:%M:%S')}', '#{Time.now.strftime('%Y-%m-%d %H:%M:%S')}', '#{Time.now.strftime('%Y-%m-%d %H:%M:%S')}')" + else + str += "('#{hw.name}的作品提交',#{hw.id},#{self.student_id}, 0, null, null, '#{Time.now.strftime('%Y-%m-%d %H:%M:%S')}', '#{Time.now.strftime('%Y-%m-%d %H:%M:%S')}')" + end + else + str += "('#{hw.name}的作品提交',#{hw.id},#{self.student_id}, 0, null, null, '#{Time.now.strftime('%Y-%m-%d %H:%M:%S')}', '#{Time.now.strftime('%Y-%m-%d %H:%M:%S')}')" + end end end if str != "" - sql = "insert into student_works (name, homework_common_id,user_id, created_at, updated_at) values" + str + sql = "insert into student_works (name, homework_common_id, user_id, work_status, myshixun_id, commit_time, created_at, updated_at) values" + str ActiveRecord::Base.connection.execute sql end end diff --git a/app/views/challenges/_choose_type.html.erb b/app/views/challenges/_choose_type.html.erb index 320e5ba9f..b1e6f8b02 100644 --- a/app/views/challenges/_choose_type.html.erb +++ b/app/views/challenges/_choose_type.html.erb @@ -41,15 +41,15 @@ <%#= render :partial => 'single_or_multiple_question_show'%> \ No newline at end of file diff --git a/app/views/challenges/choose_type_show.js.erb b/app/views/challenges/choose_type_show.js.erb index 2934cbc53..402097644 100644 --- a/app/views/challenges/choose_type_show.js.erb +++ b/app/views/challenges/choose_type_show.js.erb @@ -1,6 +1,7 @@ $("#task_content").html("<%= j(render :partial => 'single_or_multiple_question_show')%>"); $("#challenge_choose_tab").html("<%= j(render :partial => "challenges/choose_tab") %>"); +/* // JS局部刷新时,有可能加载不成功,需要重新加载一次(具体原因不明) editormd.loadKaTeX(function() { editormd.markdownToHTML("challenge_choose_subject_show", { @@ -17,4 +18,4 @@ editormd.loadKaTeX(function() { flowChart: true, // 默认不解析 sequenceDiagram: true // 默认不解析 }) -}); \ No newline at end of file +});*/ diff --git a/app/views/challenges/edit.html.erb b/app/views/challenges/edit.html.erb index 148133a98..342c17084 100644 --- a/app/views/challenges/edit.html.erb +++ b/app/views/challenges/edit.html.erb @@ -56,9 +56,9 @@
  • "> 参考答案
  • -
  • - 预备知识 -
  • +
  • "> + 预备知识 +
  • "> 评分设置
  • diff --git a/app/views/games/_code_actions.html.erb b/app/views/games/_code_actions.html.erb index 7ad488035..47f53c442 100644 --- a/app/views/games/_code_actions.html.erb +++ b/app/views/games/_code_actions.html.erb @@ -189,6 +189,7 @@ data.had_passed_testsests_hidden_count, data.had_passed_testsests_public_count, data.final_score, + data.gold, data.latest_output, data.language, data.compile_success @@ -204,7 +205,7 @@ console.log(data.tag_count); console.log($("#shixun_exp_<%=@game_challenge.id %>")[0]); $("#shixun_exp_<%=@game_challenge.id %>").html("经验值+"+ data.score + ""); - $("#shixun_grade_<%=@game_challenge.id %>").html("金币+"+ data.score + ""); + $("#shixun_grade_<%=@game_challenge.id %>").html("金币+"+ data.gold + ""); $("#shixun_tag_<%=@game_challenge.id %>").html("技能标签+"+ data.tag_count + ""); icon.find("i").attr("class", "fa fa-unlock fr font-18 mt5 color-light-green w20_center"); icon.find("a:last").attr("title", "已完成"); diff --git a/app/views/games/_game_results.html.erb b/app/views/games/_game_results.html.erb index f651c1fec..8c24e171c 100644 --- a/app/views/games/_game_results.html.erb +++ b/app/views/games/_game_results.html.erb @@ -33,6 +33,7 @@ '<%= @had_passed_testsests_hidden_count %>', '<%= @had_passed_testsests_public_count %>', '<%= @final_score %>', + '<%= @gold %>', [<%= @latest_output.html_safe unless @latest_output.blank? %>], '<%= @language %>' ); diff --git a/app/views/games/_game_show.html.erb b/app/views/games/_game_show.html.erb index 207a0483c..a78757022 100644 --- a/app/views/games/_game_show.html.erb +++ b/app/views/games/_game_show.html.erb @@ -34,7 +34,7 @@ <% end %>
  • - 评论<%= @discusses_count if @discusses_count > 0%> + 评论<%= @discusses_count if @discusses_count > 0%> <%#= link_to '', shixun_discuss_shixun_path(@myshixun.shixun), :class => "tab_type", :style => "font-size: 16px", :remote => true %>
  • diff --git a/app/views/games/_games_list.html.erb b/app/views/games/_games_list.html.erb index 9c57cd290..e12654052 100644 --- a/app/views/games/_games_list.html.erb +++ b/app/views/games/_games_list.html.erb @@ -39,22 +39,21 @@
    <% if game.try(:status) != 2 %> <% if challenge.st == 0 %> - 经验值<%= challenge.score %> - 金币<%= challenge.score %> + 经验值<%= challenge.score.to_i %> + 金币<%= challenge.score.to_i %> 技能标签<%= challenge.challenge_tags.count %> <% else %> - 经验值<%= challenge.choose_score %> - 金币<%= challenge.choose_score %> - 技能标签<%= challenge.choose_tags_num %> + 经验值<%= challenge.choose_score.to_i %> + 金币<%= challenge.choose_score.to_i %> + 知识点<%= challenge.choose_tags_num %> <% end %> <% elsif game.try(:status) == 2 %> - <% final_score = (game.answer_open? || @myshixun.shixun.status <= 1) ? 0 : game.final_score.to_i %> - <% gold_score = @myshixun.shixun.status <= 1 ? 0 : (game.answer_open? ? -challenge.score.to_i : game.final_score.to_i) %> - 经验值+<%= final_score %> - 金币 ml5"><%= gold_score < 0 ? gold_score : "+"+gold_score.to_s %> + <%# final_score = (game.answer_open? || @myshixun.shixun.status <= 1) ? 0 : game.final_score.to_i %> + <%# gold_score = @myshixun.shixun.status <= 1 ? 0 : (game.answer_open? ? -challenge.score.to_i : game.final_score.to_i) %> + 经验值+<%= @final_score %> + 金币 ml5"><%= @gold < 0 ? @gold : "+"+@gold.to_s %> 技能标签+<%= (game.answer_open? || @myshixun.shixun.status <= 1) ? 0 : challenge.challenge_tags.count %> <% end %> -
    diff --git a/app/views/homework_common/_edit_score_setting.html.erb b/app/views/homework_common/_edit_score_setting.html.erb index 43f8c71e0..4dbb87c72 100644 --- a/app/views/homework_common/_edit_score_setting.html.erb +++ b/app/views/homework_common/_edit_score_setting.html.erb @@ -33,7 +33,6 @@

    系统评分是根据学生的任务完成情况,按照百分比计算
    例如实训任务5关,学生A完成3关,则最终成绩为 3 / 5 * 100 = 60分
    - 注意:学生完成实训后,必须关联实训项目,否则成绩为零

    diff --git a/app/views/homework_common/_show_score_setting.html.erb b/app/views/homework_common/_show_score_setting.html.erb index 559b4e817..bc21d7089 100644 --- a/app/views/homework_common/_show_score_setting.html.erb +++ b/app/views/homework_common/_show_score_setting.html.erb @@ -33,7 +33,6 @@

    系统评分是根据学生的任务完成情况,按照百分比计算
    例如实训任务5关,学生A完成3关,则最终成绩为 3 / 5 * 100 = 60分
    - 注意:学生完成实训后,必须关联实训项目,否则成绩为零

    diff --git a/app/views/layouts/_footer.html.erb b/app/views/layouts/_footer.html.erb index 0ebd74121..eacd49b71 100644 --- a/app/views/layouts/_footer.html.erb +++ b/app/views/layouts/_footer.html.erb @@ -9,7 +9,7 @@
    - +
    diff --git a/app/views/repositories/_latest_commit.html.erb b/app/views/repositories/_latest_commit.html.erb index b828aee73..768966623 100644 --- a/app/views/repositories/_latest_commit.html.erb +++ b/app/views/repositories/_latest_commit.html.erb @@ -1,11 +1,11 @@ <% if @changesets_latest_coimmit && @changesets_latest_coimmit.try(:time) %> -
    - <%= image_tag(url_to_avatar(user_commit_rep(@changesets_latest_coimmit.try(:author_email))), :width => "25", :height => "25", :class => "fl portraitRadius mt2 ml4 mr5") %> +
    + <%= image_tag(url_to_avatar(user_commit_rep(@changesets_latest_coimmit.try(:author_email))), :width => "35", :height => "35", :class => "fl portraitRadius mt2 ml4 mr5") %> <%= link_to_user_mail(@changesets_latest_coimmit.try(:author_email), "fb fontGrey3 mr5 fl hidden maxwidth150 ml5") %>
    提交于 <%= time_tag(@changesets_latest_coimmit.try(:time)) %> 前:
    <%= @changesets_latest_coimmit.message %>
    -
    +
    <%= render :partial => 'link_to_functions' %>
    <% end %> \ No newline at end of file diff --git a/app/views/repositories/_shixun_dir_list_content.html.erb b/app/views/repositories/_shixun_dir_list_content.html.erb index 76986c8df..d966d4616 100644 --- a/app/views/repositories/_shixun_dir_list_content.html.erb +++ b/app/views/repositories/_shixun_dir_list_content.html.erb @@ -7,7 +7,7 @@ <%# latest_changes = get_trees_last_changes(@project.gpid, @rev, ent_path, @g) %> - + <%= link_to h(ent_name), {:action => (entry.is_dir? ? 'shixun_show' : 'shixun_entry'), :id => @shixun, :repository_id => @repository.identifier_param, :path => to_path_param(ent_path), :rev => @rev}, diff --git a/app/views/repositories/_shixun_navigation.html.erb b/app/views/repositories/_shixun_navigation.html.erb index 247525050..88700d526 100644 --- a/app/views/repositories/_shixun_navigation.html.erb +++ b/app/views/repositories/_shixun_navigation.html.erb @@ -2,7 +2,7 @@ <%#= link_to l(:label_statistics), {:action => 'stats', :id => @project, :repository_id => @repository.identifier_param}, :class => 'mt3 c_blue fl' if @repository.supports_all_revisions? %> -
    +
    <% content_for :header_tags do %> <%= javascript_include_tag 'repository_navigation' %> <% end %> diff --git a/app/views/repositories/shixun_commit_diff.html.erb b/app/views/repositories/shixun_commit_diff.html.erb index bd56d8878..9e87166c6 100644 --- a/app/views/repositories/shixun_commit_diff.html.erb +++ b/app/views/repositories/shixun_commit_diff.html.erb @@ -1,4 +1,4 @@ -
    +
    <%=link_to "返回提交历史".html_safe, diff --git a/app/views/repositories/shixun_entry.html.erb b/app/views/repositories/shixun_entry.html.erb index 8ff133f49..9a06faadc 100644 --- a/app/views/repositories/shixun_entry.html.erb +++ b/app/views/repositories/shixun_entry.html.erb @@ -1,22 +1,23 @@ <%= javascript_include_tag "/codemirror/lib/codemirror", "/codemirror/mode/javascript/javascript", "/codemirror/addon/hint/show-hint", "/codemirror/addon/hint/javascript-hint", "/codemirror/addon/selection/active-line", "/codemirror/addon/lint/javascript-lint", "/codemirror/addon/lint/css-lint", "/codemirror/addon/lint/lint", "/codemirror/addon/lint/json-lint", "/editormd/lib/codemirror/addon/lint/css-lint" %> <%= stylesheet_link_tag "/codemirror/lib/codemirror" %> - -
    -
    -
    - <%= render :partial => 'shixun_navigation' %> +
    +
    +
    +
    + <%= render :partial => 'shixun_navigation' %> +
    + +
    + <%= render :partial => 'shixun_breadcrumbs', :locals => {:path => @path, :kind => 'dir', :revision => @rev} %> +
    +
    + <%= render :partial => 'latest_commit' %> +
    + <%= render :partial => 'common/file', :locals => {:filename => @path, :content => @content} %> +
    + <% content_for :header_tags do %> + <%= stylesheet_link_tag "scm" %> + <% end %>
    - -
    - <%= render :partial => 'shixun_breadcrumbs', :locals => {:path => @path, :kind => 'dir', :revision => @rev} %> -
    -
    - <%= render :partial => 'latest_commit' %> -
    - <%= render :partial => 'common/file', :locals => {:filename => @path, :content => @content} %> -
    - <% content_for :header_tags do %> - <%= stylesheet_link_tag "scm" %> - <% end %>
    -
    +
    \ No newline at end of file diff --git a/app/views/repositories/shixun_show.html.erb b/app/views/repositories/shixun_show.html.erb index 78b04fec7..6c07638a2 100644 --- a/app/views/repositories/shixun_show.html.erb +++ b/app/views/repositories/shixun_show.html.erb @@ -1,59 +1,66 @@ -
    -