commit
67333618bb
|
@ -257,7 +257,9 @@ class ContestsController < ApplicationController
|
|||
def renew
|
||||
if User.current.admin?
|
||||
@contest.update_attributes(:is_delete => false)
|
||||
redirect_to contest_path(@contest)
|
||||
respond_to do |format|
|
||||
format.js
|
||||
end
|
||||
else
|
||||
return 404
|
||||
end
|
||||
|
|
|
@ -1373,21 +1373,34 @@ class CoursesController < ApplicationController
|
|||
#统计
|
||||
def course_statistics
|
||||
@left_nav_type = 10
|
||||
# @order = params[:order] ? params[:order] : 'desc'
|
||||
# if !params[:tab] || params[:tab] == "activity"
|
||||
# @type = params[:type] ? params[:type] : 'act_score'
|
||||
# sql = "SELECT (message_num*2 + message_reply_num*1 + news_reply_num*1 + news_num*1 + resource_num*5 + journal_num*1 + homework_journal_num*1) AS act_score,
|
||||
# message_num, message_reply_num, news_reply_num, news_num, resource_num, journal_num, homework_journal_num, ccs.user_id FROM course_contributor_scores ccs
|
||||
# JOIN students_for_courses ON students_for_courses.course_id = ccs.course_id AND students_for_courses.student_id = ccs.user_id
|
||||
# WHERE ccs.course_id = #{@course.id} HAVING act_score != 0 ORDER BY #{@type} #{@order}, act_score #{@order}"
|
||||
# @members = CourseContributorScore.find_by_sql(sql)
|
||||
# end
|
||||
#
|
||||
# @limit = 20
|
||||
# @page = params[:page].nil? ? 1 : params['page'].to_i
|
||||
# @members_count = @members.count
|
||||
# @mem_pages = Paginator.new @members_count, @limit, @page
|
||||
# @members = paginateHelper @members, @limit
|
||||
@order = params[:order] ? params[:order] : 'desc'
|
||||
@tab = params[:tab] ? params[:tab].to_i : nil
|
||||
if !params[:tab] || params[:tab] == "1"
|
||||
@type = params[:type] ? params[:type] : 'act_score'
|
||||
sql = "SELECT (message_num*2 + message_reply_num*1 + news_reply_num*1 + news_num*1 + resource_num*5 + journal_num*1 + homework_journal_num*1) AS act_score,
|
||||
message_num, message_reply_num, news_reply_num, news_num, resource_num, journal_num, homework_journal_num, ccs.user_id FROM course_contributor_scores ccs
|
||||
JOIN students_for_courses ON students_for_courses.course_id = ccs.course_id AND students_for_courses.student_id = ccs.user_id
|
||||
WHERE ccs.course_id = #{@course.id} HAVING act_score != 0 ORDER BY #{@type} #{@order}, act_score #{@order}"
|
||||
@members = CourseContributorScore.find_by_sql(sql)
|
||||
|
||||
elsif params[:tab] == "2"
|
||||
@type = params[:type] ? params[:type] : 'total_score'
|
||||
@members = @course.course_homework_statisticss.reorder("#{@type} #{@order}, total_score #{@order}")
|
||||
|
||||
elsif params[:tab] == "3"
|
||||
@type = params[:type] ? params[:type] : 'project_act_score'
|
||||
sql = "SELECT (IFNULL(changeset_num, 0)*4 + issue_num*4 + issue_journal_num*1 + attach_num*5 + board_num*2 + board_message_num*1) AS project_act_score,
|
||||
changeset_num, issue_num, issue_journal_num, attach_num, board_num, board_message_num, pss.project_id FROM project_scores pss
|
||||
JOIN student_work_projects ON student_work_projects.project_id = pss.project_id AND student_work_projects.course_id = #{@course.id}
|
||||
GROUP BY pss.project_id ORDER BY #{@type} #{@order}, project_act_score #{@order}"
|
||||
@members = ProjectScore.find_by_sql(sql)
|
||||
end
|
||||
|
||||
@limit = 20
|
||||
@page = params[:page].nil? ? 1 : params['page'].to_i
|
||||
@members_count = @members.count
|
||||
@mem_pages = Paginator.new @members_count, @limit, @page
|
||||
@members = paginateHelper @members, @limit
|
||||
respond_to do |format|
|
||||
format.js
|
||||
format.html {render :layout => 'base_courses'}
|
||||
|
|
|
@ -119,7 +119,7 @@ class FilesController < ApplicationController
|
|||
@file.publish_time = params[:publish_time]
|
||||
end
|
||||
end
|
||||
if @file.publish_time > Date.today
|
||||
if @file.publish_time > Time.now
|
||||
@file.is_publish = 0
|
||||
else
|
||||
@file.is_publish = 1
|
||||
|
@ -588,15 +588,13 @@ class FilesController < ApplicationController
|
|||
attachments[:files].each do |attachment|
|
||||
if params[:publish_time]
|
||||
if params[:publish_time] == ""
|
||||
attachment.publish_time = Date.today
|
||||
attachment.publish_time = Time.now
|
||||
else
|
||||
attachment.publish_time = params[:publish_time]
|
||||
attachment.is_publish = 0
|
||||
end
|
||||
else
|
||||
attachment.publish_time = Date.today
|
||||
end
|
||||
if attachment.publish_time > Date.today
|
||||
attachment.is_publish = 0
|
||||
attachment.publish_time = Time.now
|
||||
end
|
||||
attachment.description = params[:description]
|
||||
attachment.save
|
||||
|
@ -604,7 +602,7 @@ class FilesController < ApplicationController
|
|||
end
|
||||
if params[:course_attachment_type] && params[:course_attachment_type].is_a?(Array)
|
||||
params[:course_attachment_type].each do |type|
|
||||
tag_name = get_tag_name_by_type_number type
|
||||
tag_name = get_tag_name_by_type_number type
|
||||
if !attachments.empty? && attachments[:files] && tag_name != ""
|
||||
attachments[:files].each do |attachment|
|
||||
attachment.tag_list.add(tag_name)
|
||||
|
@ -614,7 +612,7 @@ class FilesController < ApplicationController
|
|||
end
|
||||
else
|
||||
if params[:course_attachment_type] && params[:course_attachment_type] != "5"
|
||||
tag_name = get_tag_name_by_type_number params[:course_attachment_type]
|
||||
tag_name = get_tag_name_by_type_number params[:course_attachment_type]
|
||||
if !attachments.empty? && attachments[:files] && tag_name != ""
|
||||
attachments[:files].each do |attachment|
|
||||
attachment.tag_list.add(tag_name)
|
||||
|
|
|
@ -97,6 +97,9 @@ class HomeworkCommonController < ApplicationController
|
|||
st.late_penalty = @homework.late_penalty
|
||||
st.work_status = 2
|
||||
st.save
|
||||
#更新CourseHomeworkStatistics中学生的迟交作品数
|
||||
course_statistics = CourseHomeworkStatistics.find_by_course_id_and_user_id(@homework.course_id, st.user_id)
|
||||
course_statistics.update_attribute('late_commit_work_num', course_statistics.late_commit_work_num + 1) if course_statistics
|
||||
end
|
||||
end
|
||||
else
|
||||
|
@ -105,6 +108,9 @@ class HomeworkCommonController < ApplicationController
|
|||
st.late_penalty = 0
|
||||
st.work_status = 1
|
||||
st.save
|
||||
#更新CourseHomeworkStatistics中学生的迟交作品数
|
||||
course_statistics = CourseHomeworkStatistics.find_by_course_id_and_user_id(@homework.course_id, st.user_id)
|
||||
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
|
||||
end
|
||||
end
|
||||
|
@ -134,9 +140,22 @@ class HomeworkCommonController < ApplicationController
|
|||
end
|
||||
|
||||
status = false
|
||||
if @homework.publish_time <= Date.today && homework_detail_manual.comment_status == 0
|
||||
if @homework.publish_time > Date.today && homework_detail_manual.comment_status == 1
|
||||
homework_detail_manual.comment_status = 0
|
||||
@homework.student_works.destroy_all
|
||||
#更新CourseHomeworkStatistics中每个学生的未交作品数
|
||||
@homework.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) < 0 ? 0 : (course_statistics.un_commit_work_num - 1)) if course_statistics
|
||||
end
|
||||
elsif @homework.publish_time <= Date.today && homework_detail_manual.comment_status == 0
|
||||
homework_detail_manual.comment_status = 1
|
||||
status = true
|
||||
#更新CourseHomeworkStatistics中每个学生的未交作品数
|
||||
@homework.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
|
||||
end
|
||||
eval_start = homework_detail_manual.evaluation_start
|
||||
if eval_start.nil? || (eval_start <= @homework.end_time && homework_detail_manual.comment_status <= 1)
|
||||
|
@ -216,6 +235,36 @@ class HomeworkCommonController < ApplicationController
|
|||
|
||||
def destroy
|
||||
if @homework.destroy
|
||||
#更新CourseHomeworkStatistics中每个学生的未交作品数、已交作品数、迟交作品数
|
||||
hw_count = @course.homework_commons.includes(:homework_detail_manual).where("homework_detail_manuals.comment_status > 0").count
|
||||
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")
|
||||
is_eva_homeworks = @course.homework_commons.includes(:homework_detail_manual).where("homework_commons.anonymous_comment = 0 and homework_detail_manuals.comment_status = 2")
|
||||
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
|
||||
|
||||
respond_to do |format|
|
||||
format.html {
|
||||
@hw_status = params[:hw_status].to_i
|
||||
|
@ -272,6 +321,10 @@ class HomeworkCommonController < ApplicationController
|
|||
student_works_evaluation_distributions = StudentWorksEvaluationDistribution.new(user_id: pro_work.user_id, student_work_id: h.id)
|
||||
student_works_evaluation_distributions.save
|
||||
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
|
||||
end
|
||||
else
|
||||
student_works.each_with_index do |work, index|
|
||||
|
@ -283,6 +336,10 @@ class HomeworkCommonController < ApplicationController
|
|||
student_works_evaluation_distributions = StudentWorksEvaluationDistribution.new(user_id: user.id, student_work_id: h.id)
|
||||
student_works_evaluation_distributions.save
|
||||
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
|
||||
end
|
||||
end
|
||||
@homework_detail_manual.update_column('comment_status', 2)
|
||||
|
@ -315,6 +372,11 @@ class HomeworkCommonController < ApplicationController
|
|||
absence_penalty_count = student_work.user.student_works_evaluation_distributions.where("student_work_id IN #{work_ids}").count - student_work.user.student_works_scores.where("student_work_id IN #{work_ids} and reviewer_role = 3").count
|
||||
student_work.absence_penalty = absence_penalty_count > 0 ? absence_penalty_count * @homework_detail_manual.absence_penalty : 0
|
||||
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
|
||||
end
|
||||
|
||||
# 未参与匿评的缺评计算
|
||||
|
|
|
@ -607,11 +607,20 @@ class StudentWorkController < ApplicationController
|
|||
anon_count = all_dis_eva.count / has_sw_count
|
||||
student_work.absence_penalty = @homework.homework_detail_manual.absence_penalty * anon_count
|
||||
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
|
||||
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
|
||||
|
||||
if @homework.homework_type == 3
|
||||
if @homework.homework_detail_group.base_on_project == 1
|
||||
@student_work_project.student_work_id = student_work.id
|
||||
|
@ -627,6 +636,14 @@ class StudentWorkController < ApplicationController
|
|||
stu_project = StudentWorkProject.new(:homework_common_id => @homework.id, :student_work_id => student_work.id, :project_id => stu_work.project_id == 0 ? -1 : stu_work.project_id, :user_id => members[i].to_i, :is_leader => 0, :course_id => @homework.course_id)
|
||||
stu_project.save
|
||||
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
|
||||
end
|
||||
end
|
||||
@homework.update_column(:updated_at, Time.now)
|
||||
|
@ -676,6 +693,14 @@ class StudentWorkController < ApplicationController
|
|||
student_work_projects = @homework.student_work_projects.where("student_work_id=? and is_leader =?",@work.id,0)
|
||||
user_ids = student_work_projects.empty? ? "(-1)" : "(" + student_work_projects.map{|stu|stu.user_id}.join(",") + ")"
|
||||
student_works = @homework.student_works.where("user_id in #{user_ids}")
|
||||
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
|
||||
student_work_projects.delete_all
|
||||
members = params[:group_member_ids].split(',')
|
||||
|
@ -685,6 +710,14 @@ class StudentWorkController < ApplicationController
|
|||
stu_project = StudentWorkProject.new(:homework_common_id => @homework.id, :student_work_id => @work.id, :project_id => stu_work.project_id == 0 ? -1 : stu_work.project_id, :user_id => members[i].to_i, :is_leader => 0, :course_id => @homework.course_id)
|
||||
stu_project.save
|
||||
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
|
||||
end
|
||||
end
|
||||
|
||||
|
@ -736,6 +769,16 @@ class StudentWorkController < ApplicationController
|
|||
pros = @work.student_work_projects.where("is_leader = 0")
|
||||
user_ids = pros.empty? ? "(-1)" : "(" + pros.map{|stu|stu.user_id}.join(",") + ")"
|
||||
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.delete_all
|
||||
pros.delete_all
|
||||
|
||||
|
@ -747,6 +790,14 @@ class StudentWorkController < ApplicationController
|
|||
end
|
||||
@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
|
||||
|
||||
@work.attachments.destroy_all
|
||||
@work.student_works_scores.destroy_all
|
||||
@work.course_messages.destroy_all
|
||||
|
@ -762,20 +813,44 @@ class StudentWorkController < ApplicationController
|
|||
end
|
||||
|
||||
def delete_work
|
||||
@work = StudentWork.where("user_id =? and homework_common_id =?", User.current.id, @homework.id).first
|
||||
@work = StudentWork.where("user_id =? and homework_common_id =? and work_status != 0", User.current.id, @homework.id).first
|
||||
if @work
|
||||
@work.destroy
|
||||
if @homework.homework_type == 3 && @homework.homework_detail_group.base_on_project == 1
|
||||
if @homework.homework_type == 3
|
||||
pros = @work.student_work_projects.where("is_leader = 0")
|
||||
pros.each do |pro|
|
||||
pro.destroy
|
||||
user_ids = pros.empty? ? "(-1)" : "(" + pros.map{|stu|stu.user_id}.join(",") + ")"
|
||||
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.delete_all
|
||||
pros.delete_all
|
||||
|
||||
project = @work.student_work_projects.where("is_leader = 1").first
|
||||
project.update_attributes(:student_work_id => nil)
|
||||
elsif @homework.homework_type == 3 && @homework.homework_detail_group.base_on_project == 0
|
||||
@work.student_work_projects.each do |pro2|
|
||||
pro2.destroy
|
||||
if @homework.homework_detail_group.base_on_project == 1
|
||||
project.update_attributes(:student_work_id => nil)
|
||||
else
|
||||
project.destroy
|
||||
end
|
||||
@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
|
||||
|
||||
@work.update_attributes(:work_status => 0, :name => "#{@homework.name}的作品提交", :description => nil, :late_penalty => 0, :commit_time => nil, :project_id => 0)
|
||||
@work.attachments.destroy_all
|
||||
@work.course_messages.destroy_all
|
||||
end
|
||||
end
|
||||
redirect_to student_work_index_path(:homework => @homework.id)
|
||||
|
@ -786,6 +861,16 @@ class StudentWorkController < ApplicationController
|
|||
pros = @work.student_work_projects.where("is_leader = 0")
|
||||
user_ids = pros.empty? ? "(-1)" : "(" + pros.map{|stu|stu.user_id}.join(",") + ")"
|
||||
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.delete_all
|
||||
pros.delete_all
|
||||
|
||||
|
@ -797,6 +882,14 @@ class StudentWorkController < ApplicationController
|
|||
end
|
||||
@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
|
||||
|
||||
@work.update_attributes(:work_status => 0, :name => "#{@homework.name}的作品提交", :description => nil, :late_penalty => 0, :commit_time => nil, :project_id => 0)
|
||||
@work.attachments.destroy_all
|
||||
@work.course_messages.destroy_all
|
||||
|
@ -835,6 +928,10 @@ class StudentWorkController < ApplicationController
|
|||
@new_score.student_work_id = @work.id
|
||||
if @is_teacher && !@new_score.score.nil? && @work.work_status == 0
|
||||
@work.update_attributes(:work_status => 1, :commit_time => Time.now)
|
||||
#更新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
|
||||
end
|
||||
if User.current.admin?
|
||||
@new_score.reviewer_role = 1
|
||||
|
@ -884,7 +981,13 @@ class StudentWorkController < ApplicationController
|
|||
if @is_group_leader
|
||||
add_score_to_member @work, @homework, @new_score
|
||||
end
|
||||
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, student_work.user_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)
|
||||
update_user_activity(@homework.class,@homework.id)
|
||||
|
@ -1178,11 +1281,18 @@ class StudentWorkController < ApplicationController
|
|||
score_appeal.applied_messages.update_all(:status => params[:status].to_i == 2 ? 3 : (params[:status].to_i == 3 ? 1 : 2))
|
||||
if params[:status].to_i == 3 || params[:status].to_i == 4
|
||||
homework = @student_work_score.student_work.homework_common
|
||||
course = homework.course
|
||||
if params[:status].to_i == 3
|
||||
# 申诉成功后 扣匿评学生的违规匿评扣分
|
||||
sw = homework.student_works.where("user_id = #{@student_work_score.user_id}").first
|
||||
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
|
||||
|
||||
# 申诉成功 重新计算申诉者的匿评分
|
||||
work = @student_work_score.student_work
|
||||
if work.student_works_scores.where("reviewer_role = 3 AND appeal_status != 3").count > 0
|
||||
|
@ -1193,7 +1303,6 @@ class StudentWorkController < ApplicationController
|
|||
end
|
||||
@student_work_score.student_work.save
|
||||
end
|
||||
course = homework.course
|
||||
CourseMessage.create(:user_id => @student_work_score.user_id, :course_id => course.id, :viewed => false,:course_message_id=> score_appeal.id,:course_message_type=>'StudentWorksScoresAppeal',:status=>params[:status].to_i,:apply_result =>User.current.id)
|
||||
CourseMessage.create(:user_id => score_appeal.user_id, :course_id => course.id, :viewed => false,:course_message_id=> score_appeal.id,:course_message_type=>'StudentWorksScoresAppeal',:status=>params[:status].to_i,:apply_result =>User.current.id)
|
||||
end
|
||||
|
@ -1368,6 +1477,14 @@ class StudentWorkController < ApplicationController
|
|||
stu_project = StudentWorkProject.new(:homework_common_id => @homework.id, :student_work_id => student_work.id, :project_id => stu_work.project_id == 0 ? -1 : stu_work.project_id, :user_id => params[:member_id][i].to_i, :is_leader => 0, :course_id => @homework.course_id)
|
||||
stu_project.save
|
||||
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
|
||||
end
|
||||
end
|
||||
|
||||
|
@ -1378,6 +1495,14 @@ class StudentWorkController < ApplicationController
|
|||
work = StudentWork.where("homework_common_id = #{@homework.id} and user_id = #{sp.user_id}").first
|
||||
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
|
||||
|
||||
work.destroy
|
||||
end
|
||||
end
|
||||
|
|
|
@ -1373,6 +1373,12 @@ class UsersController < ApplicationController
|
|||
homework_detail_manual.comment_status = 0
|
||||
else
|
||||
homework_detail_manual.comment_status = 1
|
||||
|
||||
#更新CourseHomeworkStatistics中每个学生的未交作品数
|
||||
homework.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
|
||||
end
|
||||
homework_detail_manual.evaluation_start = params[:evaluation_start].blank? ? homework.end_time + 7 : params[:evaluation_start]
|
||||
homework_detail_manual.evaluation_end = params[:evaluation_end].blank? ? homework_detail_manual.evaluation_start + 7 : params[:evaluation_end]
|
||||
|
|
|
@ -324,7 +324,7 @@ module ApplicationHelper
|
|||
# 获取项目/课程总分
|
||||
# 发布缺陷 4分 回复缺陷 1分 提交一次 4分 讨论帖子 2分 回复帖子 1分 发布新闻 1分
|
||||
def static_project_score obj
|
||||
score = obj.issue_num * 4 + obj.issue_journal_num + (obj.changeset_num||0) * 4 + obj.board_num * 2 + obj.board_message_num + obj.news_num + obj.attach_num * 5
|
||||
score = obj.issue_num * 4 + obj.issue_journal_num + (obj.changeset_num||0) * 4 + obj.board_num * 2 + obj.board_message_num + obj.attach_num * 5
|
||||
end
|
||||
|
||||
# 获取组织成员中文名字
|
||||
|
|
|
@ -108,6 +108,14 @@ module UsersHelper
|
|||
end
|
||||
end
|
||||
|
||||
# 当前用户在某个作业中的待匿评数
|
||||
def homework_evaluation_num homework
|
||||
student_works = homework.student_works.has_committed
|
||||
count = User.current.student_works_evaluation_distributions.where(:student_work_id => student_works.map(&:id)).count -
|
||||
User.current.student_works_scores.where(:reviewer_role => 3, :student_work_id => student_works.map(&:id)).group_by(&:student_work_id).count
|
||||
count
|
||||
end
|
||||
|
||||
# 获取消息角色
|
||||
def applied_project_message_type role
|
||||
case role
|
||||
|
|
|
@ -55,7 +55,7 @@ class Course < ActiveRecord::Base
|
|||
has_many :student_works, :through => :homework_commons, :dependent => :destroy
|
||||
|
||||
has_many :course_groups, :dependent => :destroy
|
||||
#has_many :course_homework_statistics, :dependent => :destroy
|
||||
has_many :course_homework_statisticss, :dependent => :destroy
|
||||
# 课程动态
|
||||
has_many :course_acts, :class_name => 'CourseActivity',:as =>:course_act ,:dependent => :destroy
|
||||
|
||||
|
|
|
@ -0,0 +1,6 @@
|
|||
class CourseHomeworkStatistics < ActiveRecord::Base
|
||||
# attr_accessible :title, :body
|
||||
|
||||
belongs_to :user
|
||||
belongs_to :course
|
||||
end
|
|
@ -19,6 +19,7 @@ class StudentWork < ActiveRecord::Base
|
|||
before_destroy :delete_praise
|
||||
before_save :set_program_score, :set_src
|
||||
|
||||
after_save :update_avg_sum_score
|
||||
after_create :act_as_message
|
||||
acts_as_attachable
|
||||
|
||||
|
@ -173,6 +174,20 @@ class StudentWork < ActiveRecord::Base
|
|||
end
|
||||
end
|
||||
|
||||
#更新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
|
||||
end
|
||||
|
||||
# status == 0 : delay
|
||||
def act_as_message
|
||||
if self.work_status != 0 && self.created_at > self.homework_common.end_time + 1
|
||||
|
|
|
@ -40,38 +40,36 @@ class StudentsForCourse < ActiveRecord::Base
|
|||
|
||||
#加入班级时创建一条记录
|
||||
def create_course_homework_statistic
|
||||
# if CourseHomeworkStatistic.where(:user_id => self.student_id, :course_id => self.course_id).count == 0
|
||||
# course = self.course
|
||||
# user = self.student
|
||||
# hw_count = course.homework_commons.count
|
||||
# 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}")
|
||||
# is_eva_homeworks = course.homework_commons.includes(:homework_detail_manual).where("homework_commons.anonymous_comment = 0 and homework_detail_manuals.comment_status = 2")
|
||||
# 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
|
||||
# if user
|
||||
# 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
|
||||
# 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
|
||||
# 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
|
||||
# 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("SUM(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
|
||||
# CourseHomeworkStatistic.create(:course_id => course.id, :user_id => user.id, :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
|
||||
# end
|
||||
if CourseHomeworkStatistic.where(:user_id => self.student_id, :course_id => self.course_id).count == 0
|
||||
course = self.course
|
||||
user = self.student
|
||||
hw_count = course.homework_commons.includes(:homework_detail_manual).where("homework_detail_manuals.comment_status > 0").count
|
||||
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")
|
||||
is_eva_homeworks = course.homework_commons.includes(:homework_detail_manual).where("homework_commons.anonymous_comment = 0 and homework_detail_manuals.comment_status = 2")
|
||||
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})
|
||||
|
||||
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
|
||||
CourseHomeworkStatistic.create(:course_id => course.id, :user_id => user.id, :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
|
||||
|
||||
def delete_course_homework_statistic
|
||||
#CourseHomeworkStatistic.where(:user_id => self.student_id, :course_id => self.course_id).destroy_all
|
||||
CourseHomeworkStatistic.where(:user_id => self.student_id, :course_id => self.course_id).destroy_all
|
||||
end
|
||||
end
|
||||
|
|
|
@ -183,7 +183,7 @@ class User < Principal
|
|||
# 课程贡献榜
|
||||
has_many :course_contributor_scores, :dependent => :destroy
|
||||
|
||||
#has_many :course_homework_statistics, :dependent => :destroy
|
||||
has_many :course_homework_statisticss, :dependent => :destroy
|
||||
|
||||
######added by nie
|
||||
has_many :project_infos, :dependent => :destroy
|
||||
|
|
|
@ -37,7 +37,7 @@
|
|||
|
||||
<p>= <%= (project_score.changeset_num||0) * 4 %>
|
||||
+ <%= project_score.issue_num * 4 + project_score.issue_journal_num %> + <%= project_score.attach_num * 5 %>
|
||||
+ <%= project_score.board_num * 2 + project_score.board_message_num + project_score.news_num %></p>
|
||||
+ <%= project_score.board_num * 2 + project_score.board_message_num %></p>
|
||||
<% end %>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -37,7 +37,7 @@
|
|||
|
||||
<p>= <%= (project_score.changeset_num||0) * 4 %>
|
||||
+ <%= project_score.issue_num * 4 + project_score.issue_journal_num %> + <%= project_score.attach_num * 5 %>
|
||||
+ <%= project_score.board_num * 2 + project_score.board_message_num + project_score.news_num %></p>
|
||||
+ <%= project_score.board_num * 2 + project_score.board_message_num %></p>
|
||||
<% end %>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -18,6 +18,8 @@
|
|||
:width => '84%',
|
||||
:height => 300,
|
||||
:minHeight=> 300,
|
||||
:placeholder => "例如:参赛要求,参与方法,赛事日程,奖项设置等",
|
||||
:afterCreate => "eval(function() {alert(000)})",
|
||||
:class => 'fl ml5 w690',
|
||||
:input_html => { :id => 'contest_description',
|
||||
:class => 'courses_text fl',
|
||||
|
@ -62,7 +64,11 @@
|
|||
|
||||
//配置-信息提交
|
||||
function submit_edit_contest(id) {
|
||||
if(/^\s*<\w*\s*\w*\=\"\w*\"\s*\w*\=\"\w*\:\s*\#\d*\;\s*\w*\-\w*\:\s*\w*\;\"\>[\u4e00-\u9fa5]*[\uFF1A][\u4e00-\u9fa5]*[\uFF0C][\u4e00-\u9fa5]*[\uFF0C][\u4e00-\u9fa5]*[\uFF0C][\u4e00-\u9fa5]*<\/\w*\>\s*$/.test(contest_setting_editor.html())){
|
||||
contest_setting_editor.html('');
|
||||
}
|
||||
contest_setting_editor.sync();
|
||||
|
||||
if (regex_contest_name()) {
|
||||
$("#edit_contest_" + id).submit();
|
||||
}
|
||||
|
|
|
@ -13,7 +13,7 @@
|
|||
<% if !@contest.is_delete %>
|
||||
<a href="javascript:void(0);" class="postOptionLink" onclick="delete_confirm_box_2('<%=contest_path(@contest) %>', '您确定要删除该竞赛吗?<br/>删除后可联系系统管理员进行恢复')">删除</a>
|
||||
<% else %>
|
||||
<%=link_to "恢复竞赛", renew_contest_path(@contest), :class => "postOptionLink" %>
|
||||
<%=link_to "恢复竞赛", renew_contest_path(@contest), :remote => true, :class => "postOptionLink" %>
|
||||
<% end %>
|
||||
</li>
|
||||
</ul>
|
||||
|
|
|
@ -0,0 +1 @@
|
|||
notice_box_redirect('<%= contest_path(@contest) %>', '恢复成功!');
|
|
@ -0,0 +1,92 @@
|
|||
<% if @members.count != 0 %>
|
||||
<table class="muban_table clearfix mb15 t-center" cellpadding="0" cellspacing="0">
|
||||
<thead>
|
||||
<tr>
|
||||
<th class="table-td-w30" >姓名</th>
|
||||
<th class="table-td-w10">
|
||||
<%= link_to '已交作品', course_statistics_course_path(@course, :tab => 2, :type => 'committed_work_num', :order => (@order == "desc" ? "asc" : "desc")), method: 'get', remote: true, :style => 'color:#000000;'%>
|
||||
<% if @type == "committed_work_num" && @order == 'desc' %>
|
||||
<a href="javascript:" class= "sy_sortupbtn"></a>
|
||||
<% elsif @type == "committed_work_num" && @order == 'asc' %>
|
||||
<a href="javascript:" class= "sy_sortdownbtn"></a>
|
||||
<% end %>
|
||||
</th>
|
||||
<th class="table-td-w10">
|
||||
<%= link_to '未交作品', course_statistics_course_path(@course, :tab => 2, :type => 'un_commit_work_num', :order => (@order == "desc" ? "asc" : "desc")), method: 'get', remote: true, :style => 'color:#000000;'%>
|
||||
<% if @type == "un_commit_work_num" && @order == 'desc' %>
|
||||
<a href="javascript:" class= "sy_sortupbtn"></a>
|
||||
<% elsif @type == "un_commit_work_num" && @order == 'asc' %>
|
||||
<a href="javascript:" class= "sy_sortdownbtn"></a>
|
||||
<% end %>
|
||||
</th>
|
||||
<th class="table-td-w10">
|
||||
<%= link_to '迟交作品', course_statistics_course_path(@course, :tab => 2, :type => 'late_commit_work_num', :order => (@order == "desc" ? "asc" : "desc")), method: 'get', remote: true, :style => 'color:#000000;'%>
|
||||
<% if @type == "late_commit_work_num" && @order == 'desc' %>
|
||||
<a href="javascript:" class= "sy_sortupbtn"></a>
|
||||
<% elsif @type == "late_commit_work_num" && @order == 'asc' %>
|
||||
<a href="javascript:" class= "sy_sortdownbtn"></a>
|
||||
<% end %>
|
||||
</th>
|
||||
<th class="table-td-w10">
|
||||
<%= link_to '匿评缺评', course_statistics_course_path(@course, :tab => 2, :type => 'absence_evaluation_work_num', :order => (@order == "desc" ? "asc" : "desc")), method: 'get', remote: true, :style => 'color:#000000;'%>
|
||||
<% if @type == "absence_evaluation_work_num" && @order == 'desc' %>
|
||||
<a href="javascript:" class= "sy_sortupbtn"></a>
|
||||
<% elsif @type == "absence_evaluation_work_num" && @order == 'asc' %>
|
||||
<a href="javascript:" class= "sy_sortdownbtn"></a>
|
||||
<% end %>
|
||||
</th>
|
||||
<th class="table-td-w10">
|
||||
<%= link_to '被申诉', course_statistics_course_path(@course, :tab => 2, :type => 'appeal_num', :order => (@order == "desc" ? "asc" : "desc")), method: 'get', remote: true, :style => 'color:#000000;'%>
|
||||
<% if @type == "appeal_num" && @order == 'desc' %>
|
||||
<a href="javascript:" class= "sy_sortupbtn"></a>
|
||||
<% elsif @type == "appeal_num" && @order == 'asc' %>
|
||||
<a href="javascript:" class= "sy_sortdownbtn"></a>
|
||||
<% end %>
|
||||
</th>
|
||||
<th class="table-td-w10">
|
||||
<%= link_to '平均分', course_statistics_course_path(@course, :tab => 2, :type => 'average_score', :order => (@order == "desc" ? "asc" : "desc")), method: 'get', remote: true, :style => 'color:#000000;'%>
|
||||
<% if @type == "average_score" && @order == 'desc' %>
|
||||
<a href="javascript:" class= "sy_sortupbtn"></a>
|
||||
<% elsif @type == "average_score" && @order == 'asc' %>
|
||||
<a href="javascript:" class= "sy_sortdownbtn"></a>
|
||||
<% end %>
|
||||
</th>
|
||||
<th class="table-td-w10">
|
||||
<%= link_to '英雄榜', course_statistics_course_path(@course, :tab => 2, :type => 'total_score', :order => (@order == "desc" ? "asc" : "desc")), method: 'get', remote: true, :style => 'color:#000000;'%>
|
||||
<% if @type == "total_score" && @order == 'desc' %>
|
||||
<a href="javascript:" class= "sy_sortupbtn"></a>
|
||||
<% elsif @type == "total_score" && @order == 'asc' %>
|
||||
<a href="javascript:" class= "sy_sortdownbtn"></a>
|
||||
<% end %>
|
||||
</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<% boo = !(User.current.allowed_to?(:as_teacher,@course) || User.current.admin?) && course_has_score_open_common_homework(@course) %>
|
||||
<% @members.each do |member| %>
|
||||
<% is_hidden = boo && User.current.id != member.user_id %>
|
||||
<tr>
|
||||
<td><%= link_to member.user.show_name, user_path(member.user), :class => 'course_class_users_st_name' %></td>
|
||||
<td><%= member.committed_work_num %></td>
|
||||
<td><%= member.un_commit_work_num %></td>
|
||||
<td><%= member.late_commit_work_num %></td>
|
||||
<td><%= member.absence_evaluation_work_num %></td>
|
||||
<td><%= member.appeal_num %></td>
|
||||
<td><%= is_hidden ? '**' : (member.average_score.nil? ? 0 : format("%.1f", member.average_score < 0 ? 0 : member.average_score)) %></td>
|
||||
<td><%= is_hidden ? '**' : (member.total_score.nil? ? 0 : format("%.1f", member.total_score < 0 ? 0 : member.total_score)) %></td>
|
||||
</tr>
|
||||
<% end %>
|
||||
</tbody>
|
||||
</table>
|
||||
<div style="text-align:center;">
|
||||
<div class="pages" style="width:auto; display:inline-block;">
|
||||
<ul id="homework_pository_ref_pages">
|
||||
<%= pagination_links_full @mem_pages, @members_count, :per_page_links => false, :remote => @is_remote, :flag => true, :is_new => true%>
|
||||
</ul>
|
||||
<div class="cl"></div>
|
||||
</div>
|
||||
</div>
|
||||
<% else%>
|
||||
<div class="icons_tishi"><img src="/images/sy/icons_smile.png" width="110" height="110" alt="" ></div>
|
||||
<p class="sy_tab_con_p">没有数据可以显示!</p>
|
||||
<% end %>
|
|
@ -0,0 +1,108 @@
|
|||
<% if @members.count != 0 %>
|
||||
<table class="muban_table clearfix mb15 t-center" cellpadding="0" cellspacing="0">
|
||||
<thead>
|
||||
<tr>
|
||||
<th class="table-td-w30">项目名称</th>
|
||||
<th class="table-td-w10">
|
||||
<%= link_to '发布资源', course_statistics_course_path(@course, :tab => 3, :type => 'attach_num', :order => (@order == "desc" ? "asc" : "desc")), method: 'get', remote: true, :style => 'color:#000000;'%>
|
||||
<% if @type == "attach_num" && @order == 'desc' %>
|
||||
<a href="javascript:" class= "sy_sortupbtn"></a>
|
||||
<% elsif @type == "attach_num" && @order == 'asc' %>
|
||||
<a href="javascript:" class= "sy_sortdownbtn"></a>
|
||||
<% end %>
|
||||
</th>
|
||||
<th class="table-td-w10">
|
||||
<%= link_to '提交次数', course_statistics_course_path(@course, :tab => 3, :type => 'changeset_num', :order => (@order == "desc" ? "asc" : "desc")), method: 'get', remote: true, :style => 'color:#000000;'%>
|
||||
<% if @type == "changeset_num" && @order == 'desc' %>
|
||||
<a href="javascript:" class= "sy_sortupbtn"></a>
|
||||
<% elsif @type == "changeset_num" && @order == 'asc' %>
|
||||
<a href="javascript:" class= "sy_sortdownbtn"></a>
|
||||
<% end %>
|
||||
</th>
|
||||
<th class="table-td-w10-5">
|
||||
<%= link_to '发布Issue', course_statistics_course_path(@course, :tab => 3, :type => 'issue_num', :order => (@order == "desc" ? "asc" : "desc")), method: 'get', remote: true, :style => 'color:#000000;'%>
|
||||
<% if @type == "issue_num" && @order == 'desc' %>
|
||||
<a href="javascript:" class= "sy_sortupbtn"></a>
|
||||
<% elsif @type == "issue_num" && @order == 'asc' %>
|
||||
<a href="javascript:" class= "sy_sortdownbtn"></a>
|
||||
<% end %>
|
||||
</th>
|
||||
<th class="table-td-w10-5">
|
||||
<%= link_to 'Issue回复', course_statistics_course_path(@course, :tab => 3, :type => 'issue_journal_num', :order => (@order == "desc" ? "asc" : "desc")), method: 'get', remote: true, :style => 'color:#000000;'%>
|
||||
<% if @type == "issue_journal_num" && @order == 'desc' %>
|
||||
<a href="javascript:" class= "sy_sortupbtn"></a>
|
||||
<% elsif @type == "issue_journal_num" && @order == 'asc' %>
|
||||
<a href="javascript:" class= "sy_sortdownbtn"></a>
|
||||
<% end %>
|
||||
</th>
|
||||
<th class="table-td-w10">
|
||||
<%= link_to '发布帖子', course_statistics_course_path(@course, :tab => 3, :type => 'board_num', :order => (@order == "desc" ? "asc" : "desc")), method: 'get', remote: true, :style => 'color:#000000;'%>
|
||||
<% if @type == "board_num" && @order == 'desc' %>
|
||||
<a href="javascript:" class= "sy_sortupbtn"></a>
|
||||
<% elsif @type == "board_num" && @order == 'asc' %>
|
||||
<a href="javascript:" class= "sy_sortdownbtn"></a>
|
||||
<% end %>
|
||||
</th>
|
||||
<th class="table-td-w10">
|
||||
<%= link_to '帖子回复', course_statistics_course_path(@course, :tab => 3, :type => 'board_message_num', :order => (@order == "desc" ? "asc" : "desc")), method: 'get', remote: true, :style => 'color:#000000;'%>
|
||||
<% if @type == "board_message_num" && @order == 'desc' %>
|
||||
<a href="javascript:" class= "sy_sortupbtn"></a>
|
||||
<% elsif @type == "board_message_num" && @order == 'asc' %>
|
||||
<a href="javascript:" class= "sy_sortdownbtn"></a>
|
||||
<% end %>
|
||||
</th>
|
||||
<th class="table-td-w9">
|
||||
<%= link_to '活跃度', course_statistics_course_path(@course, :tab => 3, :type => 'project_act_score', :order => (@order == "desc" ? "asc" : "desc")), method: 'get', remote: true, :style => 'color:#000000;'%>
|
||||
<% if @type == "project_act_score" && @order == 'desc' %>
|
||||
<a href="javascript:" class= "sy_sortupbtn"></a>
|
||||
<% elsif @type == "project_act_score" && @order == 'asc' %>
|
||||
<a href="javascript:" class= "sy_sortdownbtn"></a>
|
||||
<% end %>
|
||||
</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<% @members.each do |member| %>
|
||||
<tr>
|
||||
<td>
|
||||
<%= link_to member.project.name, project_path(member.project_id), :class => 'new_project_title_width fl ml5' %>
|
||||
<span class="<%= member.project.is_public ? 'syllabus_class_open' : 'syllabus_class_private' %> fl ml5 syllabus_class_property"><%= member.project.is_public ? '公开' : '私有' %></span>
|
||||
</td>
|
||||
<td><%= member.attach_num %></td>
|
||||
<td><%= member.changeset_num || 0 %></td>
|
||||
<td><%= member.issue_num %></td>
|
||||
<td><%= member.issue_journal_num %></td>
|
||||
<td><%= member.board_num %></td>
|
||||
<td><%= member.board_message_num %></td>
|
||||
<td class="pr">
|
||||
<span><%= member.project_act_score %></span>
|
||||
<div class="st_tips_box_inner undis" style="text-align:left;">
|
||||
<em></em>
|
||||
<span></span>
|
||||
<p>发布资源数*5=<%= member.attach_num %>*5=<%= member.attach_num.to_i * 5 %><br/>
|
||||
代码提交数*2=<%= member.changeset_num %>*2=<%= member.changeset_num.to_i * 2 %><br/>
|
||||
发布Issue数*1=<%= member.issue_num %>*1=<%= member.issue_num.to_i * 1 %><br/>
|
||||
Issue回复数*1=<%= member.issue_journal_num %>*1=<%= member.issue_journal_num.to_i * 1 %><br/>
|
||||
发布帖子数*1=<%= member.board_num %>*1=<%= member.board_num.to_i * 1 %><br/>
|
||||
回复帖子数*1=<%= member.board_message_num %>*1=<%= member.board_message_num.to_i * 1 %><br/>
|
||||
总得分:<%= member.project_act_score %>
|
||||
</p>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<% end %>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<div style="text-align:center;">
|
||||
<div class="pages" style="width:auto; display:inline-block;">
|
||||
<ul id="homework_pository_ref_pages">
|
||||
<%= pagination_links_full @mem_pages, @members_count, :per_page_links => false, :remote => @is_remote, :flag => true, :is_new => true%>
|
||||
</ul>
|
||||
<div class="cl"></div>
|
||||
</div>
|
||||
</div>
|
||||
<% else %>
|
||||
<div class="icons_tishi"><img src="/images/sy/icons_smile.png" width="110" height="110" alt="" ></div>
|
||||
<p class="sy_tab_con_p">没有数据可以显示!</p>
|
||||
<% end %>
|
|
@ -64,9 +64,4 @@
|
|||
<li>
|
||||
<%=link_to "分班", course_member_path(@course, :role => 2) %>
|
||||
</li>
|
||||
<% end %>
|
||||
<% if show_nav?(0) %>
|
||||
<li>
|
||||
<a href="<%=course_statistics_course_path(@course) %>">统计</a>
|
||||
</li>
|
||||
<% end %>
|
|
@ -1,5 +1,88 @@
|
|||
<div class="sy_class_r ml10">
|
||||
<div class="icons_tishi"><img src="../../images/sy/icons_smile.png" width="110" height="110" alt="" ></div>
|
||||
<p class="sy_tab_con_p">统计功能即将上线,届时我们一起享受教育大数据的红利吧!</p>
|
||||
<div style="height:400px;"></div>
|
||||
</div><!--sy_class_r end-->
|
||||
<h3 class="game-setting-h3"><span class="ml15"></span>统计</h3>
|
||||
<div class="game-setting-tab">
|
||||
<ul id="game-setting-tab-nav">
|
||||
<li id="game-setting-tab-nav-1" onclick="HoverLi(1);">
|
||||
<a href="javascript:void(0);" >活跃度</a>
|
||||
</li>
|
||||
<li id="game-setting-tab-nav-2" onclick="HoverLi(2);">
|
||||
<a href="javascript:void(0);" >英雄榜</a>
|
||||
</li>
|
||||
<li id="game-setting-tab-nav-3" onclick="HoverLi(3);">
|
||||
<a href="javascript:void(0);" >项目活跃度</a>
|
||||
</li>
|
||||
<div class="cl"></div>
|
||||
</ul>
|
||||
<div id="game-setting-content-1" class="undis">
|
||||
<div class="alert alert-blue mt10 ml10 mr10 mb10" style="width: 703px;">
|
||||
活跃度总分 = 资源发布数 * 权值(5分) + 发帖数 * 权值(2分) + 帖子回复数 * 权值(1分) + 通知发布数 * 权值(1分) + <br/>通知回复数 * 权值(1分) + 作业回复数 * 权值(1分) + 班级留言数 * 权值(1分)
|
||||
</div>
|
||||
<div class="clear ml10 mr10" id="act_table_<%=@course.id %>">
|
||||
<% if @tab.nil? || @tab == 1 %>
|
||||
<%=render :partial => 'act_table' %>
|
||||
<% end %>
|
||||
</div>
|
||||
|
||||
</div><!--issues_list_content_1 end-->
|
||||
|
||||
<div id="game-setting-content-2" class="undis">
|
||||
<div class="alert alert-blue mt10 ml10 mr10 mb10" style="width: 703px;">
|
||||
每个同学作业的得分总和
|
||||
</div>
|
||||
<div class="clear ml10 mr10" id="hero_table_<%=@course.id %>">
|
||||
<% if @tab == 2 %>
|
||||
<%=render :partial => 'hero_table' %>
|
||||
<% end %>
|
||||
</div>
|
||||
|
||||
</div><!--issues_list_content_2 end-->
|
||||
<div id="game-setting-content-3" class="undis">
|
||||
<div class="alert alert-blue mt10 ml10 mr10 mb10" style="width: 703px;">
|
||||
项目活跃度 = 发布资源数 * 权值(5分) + 代码提交数 * 权值(4分) + 发布Issue数 * 权值(4分) + Issue回复数 * 权值(1分) + <br/>发布帖子数 * 权值(2分) + 回复帖子数 * 权值(1分)
|
||||
</div>
|
||||
|
||||
<div class=" clear ml10 mr10" >
|
||||
<!--<div class="mb10 clear">-->
|
||||
<!--<label class=" fl mt5 c_grey02"> 选择作业 : </label>-->
|
||||
<!--<select class=" fl newupload_select w150" style="width:150px; height:30px; background:#fff;">-->
|
||||
<!--<option>全部</option>-->
|
||||
<!--<option>第一作业</option>-->
|
||||
<!--<option>第二次作业</option>-->
|
||||
<!--</select>-->
|
||||
<!--</div>-->
|
||||
|
||||
<div id="project_table_<%=@course.id %>">
|
||||
<% if @tab == 3 %>
|
||||
<%=render :partial => 'project_table' %>
|
||||
<% end %>
|
||||
</div>
|
||||
</div>
|
||||
</div><!--issues_list_content_3 end-->
|
||||
</div><!--issues_con_list end-->
|
||||
</div><!--sy_class_r end-->
|
||||
<div class="cl"></div>
|
||||
|
||||
<script type="text/javascript">
|
||||
$(function(){
|
||||
<% if @tab.nil? %>
|
||||
g('game-setting-content-1').className='dis';
|
||||
g('game-setting-tab-nav-1').className='game-setting-nav-hover';
|
||||
<% else %>
|
||||
g('game-setting-content-<%= @tab %>').className='dis';
|
||||
g('game-setting-tab-nav-<%= @tab %>').className='game-setting-nav-hover';
|
||||
<% end %>
|
||||
});
|
||||
|
||||
function g(o){
|
||||
return document.getElementById(o);
|
||||
}
|
||||
function HoverLi(n){
|
||||
for(var i=1;i<=3;i++){
|
||||
g('game-setting-tab-nav-'+i).className='';
|
||||
g('game-setting-content-'+i).className='undis';
|
||||
}
|
||||
g('game-setting-content-'+n).className='dis';
|
||||
g('game-setting-tab-nav-'+n).className='game-setting-nav-hover';
|
||||
$.get('<%= course_statistics_course_path() %>'+'?tab='+n);
|
||||
}
|
||||
</script>
|
|
@ -1,5 +1,7 @@
|
|||
<% if !params[:tab] || params[:tab] == "activity" %>
|
||||
<% if !params[:tab] || params[:tab] == "1" %>
|
||||
$("#act_table_<%=@course.id %>").html("<%= escape_javascript(render :partial => 'act_table')%>");
|
||||
<% else %>
|
||||
|
||||
<% elsif params[:tab] == "2" %>
|
||||
$("#hero_table_<%=@course.id %>").html("<%= escape_javascript(render :partial => 'hero_table')%>");
|
||||
<% elsif params[:tab] == "3" %>
|
||||
$("#project_table_<%=@course.id %>").html("<%= escape_javascript(render :partial => 'project_table')%>");
|
||||
<% end %>
|
|
@ -55,11 +55,7 @@
|
|||
<% eu = ExerciseUser.where("exercise_id=? and user_id=? and status=?",exercise.id, User.current.id, true).first %>
|
||||
<div>
|
||||
<%= link_to (index.to_i+1).to_s+". "+exercise_name, exercise_path(exercise.id), :title => "#{exercise_name}", :class => "polls_title polls_title_st fl c_dblue "%>
|
||||
<% if exercise.exercise_status == 1 %>
|
||||
<span class="exercise_status_nop fl"></span>
|
||||
<% elsif exercise.exercise_status == 2 %>
|
||||
<span class="exercise_status_pub fl"></span>
|
||||
<% else %>
|
||||
<% if exercise.exercise_status == 3 %>
|
||||
<span class="exercise_status_end fl"></span>
|
||||
<% end%>
|
||||
<% if eu && exercise.end_time >= eu.created_at %>
|
||||
|
|
|
@ -1,38 +1,41 @@
|
|||
<script src="/javascripts/i18n/jquery.ui.datepicker-zh-CN.js" type="text/javascript"></script>
|
||||
<span class="uploadText mb10" style="margin-top: -20px;">发布设置</span>
|
||||
<!--<div class="resourcePopupClose"> <a href="javascript:void(0);" class="resourceClose"></a></div>-->
|
||||
<%= form_tag(republish_file_course_file_path(@course,@file), :multipart => true,:remote => !ie8?,:name=>"upload_form") do %>
|
||||
<div class="mb10">
|
||||
<label class="fl c_dark f14" style="margin-top: 4px;">延期发布:</label>
|
||||
<div class="calendar_div fl">
|
||||
<input type="text" name="publish_time" id="attachment_publish_time" placeholder="发布日期" class="InputBox fl W120 calendar_input" readonly="readonly" value="<%=@file.publish_time %>">
|
||||
<%#= calendar_for('attachment_publish_time')%>
|
||||
<script src="/javascripts/jquery.datetimepicker.js" type="text/javascript"></script>
|
||||
<div id="muban_popup_box" style="width:300px;">
|
||||
<div class="muban_popup_top">
|
||||
<h3 class="fl">发布设置</h3>
|
||||
<a href="javascript:void(0);" class="muban_icons_close fr" onclick="$('#datetimepicker_mask').datetimepicker('destroy');"></a>
|
||||
<div class="cl"></div>
|
||||
</div>
|
||||
|
||||
<div class="muban_popup_con clear mt15" style="margin-left: 47px;">
|
||||
<%= form_tag(republish_file_course_file_path(@course,@file), :multipart => true,:remote => !ie8?,:name=>"upload_form") do %>
|
||||
<div class="mb10">
|
||||
<label class="fl c_dark f14" style="margin-top: 4px;">延期发布:</label>
|
||||
<div class="calendar_div fl">
|
||||
<input type="text" name="publish_time" id="datetimepicker_mask" placeholder="发布时间" style="width: 130px;" class="InputBox fl calendar_input" value="<%=format_time(@file.publish_time) %>">
|
||||
<%#= calendar_for('attachment_publish_time')%>
|
||||
</div>
|
||||
<span class="fl c_red" style="margin-top: 4px;" id="publish_time_notice"></span>
|
||||
<div class="cl"></div>
|
||||
</div>
|
||||
<a href="javascript:void(0);" class="fr sy_btn_blue" style="margin-right: 95px;" id="submit_file" onclick="submit_republish_file();">确定</a>
|
||||
<a href="javascript:void(0);" class="fr sy_btn_grey mr5" onclick="$('#datetimepicker_mask').datetimepicker('destroy');hideModal();">取消</a>
|
||||
<% end %>
|
||||
</div>
|
||||
<span class="fl c_red" style="margin-top: 4px;" id="publish_time_notice"></span>
|
||||
<div class="cl"></div>
|
||||
</div>
|
||||
<!--<div class="mt15"> <span class="f14 fontGrey3 mr10">延期发布:</span>
|
||||
<input type="text" name="" placeholder="请输入0-50数值" class="markInput" />
|
||||
</div>-->
|
||||
<div>
|
||||
<div class="courseSendSubmit"><a href="javascript:void(0);" onclick="submit_republish_file()" class="sendSourceText" id="submit_file">确定</a></div>
|
||||
<div class="courseSendCancel"><a href="javascript:void(0);" onclick="hideModal()" class="sendSourceText linkGrey6">取消</a></div>
|
||||
</div>
|
||||
<% end %>
|
||||
<div class="cl"></div>
|
||||
<script>
|
||||
function regex_publish_time()
|
||||
{
|
||||
var myDate = new Date();
|
||||
if($.trim($("#attachment_publish_time").val()) == "")
|
||||
if($.trim($("#datetimepicker_mask").val()) == "")
|
||||
{
|
||||
$("#publish_time_notice").text("发布日期不能为空");
|
||||
$("#publish_time_notice").text("发布时间不能为空");
|
||||
return false;
|
||||
} else{
|
||||
var publish_time = Date.parse($("#attachment_publish_time").val());
|
||||
if(Date.parse(formate_date(myDate)) > publish_time)
|
||||
var publish_time = Date.parse($("#datetimepicker_mask").val());
|
||||
if(Date.parse(formate_time(myDate)) > publish_time)
|
||||
{
|
||||
$("#publish_time_notice").text("发布日期不能小于当前日期");
|
||||
$("#publish_time_notice").text("发布时间不能小于当前时间");
|
||||
return false;
|
||||
}
|
||||
else
|
||||
|
@ -45,11 +48,17 @@
|
|||
function submit_republish_file()
|
||||
{
|
||||
if(regex_publish_time()) {
|
||||
$('#submit_file').parent().parent().submit();
|
||||
$('#submit_file').parent().submit();
|
||||
}
|
||||
}
|
||||
$(function(){
|
||||
var datepickerOptions={dateFormat: 'yy-mm-dd', firstDay: 0, showOn: 'button', buttonImageOnly: true, buttonImage: '/images/public_icon.png', showButtonPanel: true, showWeek: true, showOtherMonths: true, selectOtherMonths: true};
|
||||
$('#attachment_publish_time').datepicker(datepickerOptions);
|
||||
$('#datetimepicker_mask').datetimepicker({
|
||||
allowBlank:true,
|
||||
lang:'ch',
|
||||
format:'Y-m-d H:i',
|
||||
formatTime:'H:i',
|
||||
formatDate:'Y-m-d',
|
||||
validateOnBlur:false
|
||||
});
|
||||
});
|
||||
</script>
|
|
@ -1,6 +1,6 @@
|
|||
<span class="add_attachment" data-containerid="<%= container.id %>">
|
||||
<% checkBox = (@course.present? && @course.is_public?) ? 'public' : 'private'%>
|
||||
<button name="button" class="sub_btn" onclick="_file<%=container.id %>.click()" onmouseover="this.focus()" style="<%= ie8? ? 'display:none' : ''%>" type="button" ><%= l(:label_browse) %></button>
|
||||
<button name="button" class="sub_btn" onclick="_file<%=container.id %>.click()" onmouseover="this.focus()" style="<%= ie8? ? 'display:none' : ''%>" type="button" >文件浏览</button>
|
||||
<%= file_field_tag 'attachments[dummy][file]',
|
||||
:id => "_file#{container.id}",
|
||||
:class => ie8? ? '':'file_selector',
|
||||
|
@ -26,8 +26,7 @@
|
|||
<span id="upload_file_count<%=container.id %>">
|
||||
<%= l(:label_no_file_uploaded)%>
|
||||
</span>
|
||||
(<%= l(:label_max_size) %>:
|
||||
<%= number_to_human_size(Setting.attachment_max_size.to_i.kilobytes) %>)
|
||||
<span class="fr c_blue" style="margin-right: <%= container.class.to_s == 'Course' ? 58 : 45 %>px;">单个文件最大限制:<%= number_to_human_size(Setting.attachment_max_size.to_i.kilobytes) %></span>
|
||||
<div class="cl"></div>
|
||||
<div>
|
||||
<span id="attachments_fields<%= container.id %>" data-containerid="<%= container.id %>" xmlns="http://www.w3.org/1999/html">
|
||||
|
|
|
@ -41,12 +41,8 @@
|
|||
|
||||
function project_files_upload()
|
||||
{
|
||||
$('#ajax-modal').html('<%= escape_javascript(render :partial => 'files/upload_project_files',:locals => {:project => @project, :project_attachment_type => 1}) %>');
|
||||
showModal('ajax-modal', '513px');
|
||||
$('#ajax-modal').siblings().remove();
|
||||
$('#ajax-modal').before("<a href='javascript:void(0)' onclick='hideModal()' style='margin-left: 480px;'><img src='/images/bid/close.png' width='26px' height='26px' /></a>");
|
||||
$('#ajax-modal').parent().css("top","40%").css("left","36%").css("border","3px solid #269ac9");
|
||||
$('#ajax-modal').parent().addClass("popbox_polls");
|
||||
var htmlvalue = '<%= escape_javascript(render :partial => 'files/upload_project_files',:locals => {:project => @project,:project_attachment_type => 1}) %>';
|
||||
pop_box_new(htmlvalue, 450, 275);
|
||||
}
|
||||
</script>
|
||||
|
||||
|
|
|
@ -24,7 +24,7 @@
|
|||
<%end %>
|
||||
</span>
|
||||
<% if file.is_publish == 0 %>
|
||||
<span class="grey_homework_btn_cir ml5"><%=file.publish_time %> 0点发布</span>
|
||||
<span class="grey_homework_btn_cir ml5"><%= format_time file.publish_time %>点发布</span>
|
||||
<% end %>
|
||||
</div>
|
||||
<div class="mt5">
|
||||
|
|
|
@ -1,50 +1,75 @@
|
|||
<script src="/javascripts/i18n/jquery.ui.datepicker-zh-CN.js" type="text/javascript"></script>
|
||||
<div id="popbox_upload" class="mb10" style="margin-top: -30px;color:#15bccf; font-size:16px;">
|
||||
<div class="upload_con">
|
||||
<h2 style="text-align: center"><%= l(:label_upload_files)%></h2>
|
||||
<div class="upload_box">
|
||||
<script src="/javascripts/jquery.datetimepicker.js" type="text/javascript"></script>
|
||||
<div id="muban_popup_box" style="width:450px;">
|
||||
<div class="muban_popup_top">
|
||||
<h3 class="fl">上传资源</h3>
|
||||
<a href="javascript:void(0);" class="muban_icons_close fr" onclick="$('#datetimepicker_mask').datetimepicker('destroy');"></a>
|
||||
<div class="cl"></div>
|
||||
</div>
|
||||
|
||||
<div class="muban_popup_con clear mt15 ml55">
|
||||
<div class="">
|
||||
<%= error_messages_for 'attachment' %>
|
||||
<div id="network_issue" style="color: red; display: none;"><%= l(:label_file_upload_error_messages)%></div>
|
||||
|
||||
<%= form_tag(course_files_path(course), :multipart => true,:remote => !ie8?,:name=>"upload_form") do %>
|
||||
<input type="hidden" name="in_course_toolbar" value="Y">
|
||||
<!--<p class="c_grey fr mt10 mr5">-->
|
||||
<div class="c_dark">
|
||||
<input name="course_attachment_type[]" type="checkbox" value="1" checked class="c_dark" >课件</input> <span class="c_grey">|</span>
|
||||
<input name="course_attachment_type[]" type="checkbox" value="2" class="c_dblue">软件</input> <span class="c_grey">|</span>
|
||||
<input name="course_attachment_type[]" type="checkbox" value="3" class="c_dblue">媒体</input> <span class="c_grey">|</span>
|
||||
<input name="course_attachment_type[]" type="checkbox" value="4" class="c_dblue">代码</input> <span class="c_grey">|</span>
|
||||
<input name="course_attachment_type[]" type="checkbox" value="6" class="c_dblue">论文</input> <span class="c_grey">|</span>
|
||||
<input name="course_attachment_type[]" type="checkbox" value="5" class="c_dblue">其他</input></a>
|
||||
</div>
|
||||
<ul class="c_dark mt10 mb10 f14 attachment_type_ul">
|
||||
<li class="fl">
|
||||
<input id="atta_type_1" name="course_attachment_type[]" type="checkbox" value="1" checked class="fl" />
|
||||
<label for="atta_type_1" class="c_grey fl ml5">课件 | </label>
|
||||
</li>
|
||||
<li class="fl">
|
||||
<input id="atta_type_2" name="course_attachment_type[]" type="checkbox" value="2" class="fl"/>
|
||||
<label for="atta_type_2" class="c_grey fl ml5">软件 | </label>
|
||||
</li>
|
||||
<li class="fl">
|
||||
<input id="atta_type_3" name="course_attachment_type[]" type="checkbox" value="3" class="fl"/>
|
||||
<label for="atta_type_3" class="c_grey fl ml5">媒体 | </label>
|
||||
</li>
|
||||
<li class="fl">
|
||||
<input id="atta_type_4" name="course_attachment_type[]" type="checkbox" value="4" class="fl"/>
|
||||
<label for="atta_type_4" class="c_grey fl ml5">代码 | </label>
|
||||
</li>
|
||||
<li class="fl">
|
||||
<input id="atta_type_5" name="course_attachment_type[]" type="checkbox" value="5" class="fl"/>
|
||||
<label for="atta_type_5" class="c_grey fl ml5">论文 | </label>
|
||||
</li>
|
||||
<li class="fl">
|
||||
<input id="atta_type_6" name="course_attachment_type[]" type="checkbox" value="6" class="fl"/>
|
||||
<label for="atta_type_6" class="c_grey fl ml5">其他</label>
|
||||
</li>
|
||||
</ul>
|
||||
<div class="cl"></div>
|
||||
<div>
|
||||
<div class="mb10">
|
||||
<%= render :partial => 'files/new_style_attachment_list',:locals => {:container => course} %>
|
||||
</div>
|
||||
<div class="cl"></div>
|
||||
<div class="mb5">
|
||||
|
||||
<% if User.current.allowed_to?(:as_teacher,course) %>
|
||||
<div class="mb10">
|
||||
<label class="fl c_dark f14" style="margin-top: 4px;">延期发布:</label>
|
||||
<div class="calendar_div fl ml10">
|
||||
<input type="text" name="publish_time" id="datetimepicker_mask" placeholder="发布时间(可选)" style="width: 130px;" class="InputBox fl calendar_input" readonly="readonly">
|
||||
</div>
|
||||
<div class="cl"></div>
|
||||
<span class="c_red f12" style="margin-top: 4px;" id="publish_time_notice"></span>
|
||||
<div class="cl"></div>
|
||||
</div>
|
||||
<% end %>
|
||||
|
||||
<div class="mb10">
|
||||
<label class="fl c_dark f14" style="margin-top: 4px;">附件描述:</label>
|
||||
<div class="fl">
|
||||
<input type="text" name="description" placeholder="文件描述" class="InputBox fl W160">
|
||||
<div class="fl ml10">
|
||||
<textarea name="description" placeholder="介绍一下您的资源,让它得到更多人的青睐吧~" style="width: 249px; height: 60px; font-size: 12px;" class="InputBox fl"></textarea>
|
||||
</div>
|
||||
<div class="cl"></div>
|
||||
</div>
|
||||
|
||||
<% if User.current.allowed_to?(:as_teacher,course) %>
|
||||
<div class="mb5">
|
||||
<label class="fl c_dark f14" style="margin-top: 4px;">延期发布:</label>
|
||||
<div class="calendar_div fl">
|
||||
<input type="text" name="publish_time" id="attachment_publish_time" placeholder="发布日期(可选)" class="InputBox fl W120 calendar_input" readonly="readonly">
|
||||
<%#= calendar_for('attachment_publish_time')%>
|
||||
</div>
|
||||
<span class="fl c_red f12" style="margin-top: 4px;" id="publish_time_notice"></span>
|
||||
<div class="cl"></div>
|
||||
</div>
|
||||
<% end %>
|
||||
<a href="javascript:void(0);" class=" fr courseSendCancel mr40" onclick="hideModal();"><%= l(:button_cancel)%></a>
|
||||
<a id="submit_resource" href="javascript:void(0);" class="c_white courseSendSubmit fr" onclick="submit_course_resource();"><%= l(:button_confirm)%></a>
|
||||
<%#= submit_tag '确定',:onclick=>'submit_course_resource();',:onfocus=>'this.blur()',:id=>'submit_resource',:class=>'sendSourceText fr' %>
|
||||
<% end %>
|
||||
<a href="javascript:void(0);" class="fr sy_btn_blue" style="margin-right: 59px;" id="submit_resource" onclick="submit_course_resource();">确定</a>
|
||||
<a href="javascript:void(0);" class="fr sy_btn_grey mr5" onclick="$('#datetimepicker_mask').datetimepicker('destroy');hideModal();">取消</a>
|
||||
<div class="cl"></div>
|
||||
<% end %>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
@ -57,16 +82,15 @@
|
|||
function regex_publish_time()
|
||||
{
|
||||
var myDate = new Date();
|
||||
if($.trim($("#attachment_publish_time").val()) == "")
|
||||
if($.trim($("#datetimepicker_mask").val()) == "")
|
||||
{
|
||||
return true;
|
||||
} else{
|
||||
var publish_time = Date.parse($("#attachment_publish_time").val());
|
||||
if(Date.parse(formate_date(myDate)) > publish_time)
|
||||
var publish_time = Date.parse($("#datetimepicker_mask").val());
|
||||
if(Date.parse(formate_time(myDate)) > publish_time)
|
||||
{
|
||||
$("#publish_time_notice").text("发布日期不能小于当前日期");
|
||||
$("#publish_time_notice").text("发布时间不能小于当前时间");
|
||||
return false;
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -86,7 +110,13 @@
|
|||
<% end %>
|
||||
}
|
||||
$(function(){
|
||||
var datepickerOptions={dateFormat: 'yy-mm-dd', firstDay: 0, showOn: 'button', buttonImageOnly: true, buttonImage: '/images/public_icon.png', showButtonPanel: true, showWeek: true, showOtherMonths: true, selectOtherMonths: true};
|
||||
$('#attachment_publish_time').datepicker(datepickerOptions);
|
||||
$('#datetimepicker_mask').datetimepicker({
|
||||
allowBlank:true,
|
||||
lang:'ch',
|
||||
format:'Y-m-d H:i',
|
||||
formatTime:'H:i',
|
||||
formatDate:'Y-m-d',
|
||||
validateOnBlur:false
|
||||
});
|
||||
});
|
||||
</script>
|
|
@ -1,38 +1,61 @@
|
|||
<div id="muban_popup_box" style="width:450px;">
|
||||
<div class="muban_popup_top">
|
||||
<h3 class="fl">上传资源</h3>
|
||||
<a href="javascript:void(0);" class="muban_icons_close fr"></a>
|
||||
<div class="cl"></div>
|
||||
</div>
|
||||
|
||||
<div id="popbox_upload" class="mb10" style="margin-top: -30px;color:#15bccf; font-size:16px;">
|
||||
<div class="upload_con">
|
||||
<h2 style="text-align: center"><%= l(:label_upload_files)%></h2>
|
||||
<div class="upload_box">
|
||||
<div class="muban_popup_con clear mt15 ml40">
|
||||
<div class="">
|
||||
<%= error_messages_for 'attachment' %>
|
||||
<div id="network_issue" style="color: red; display: none;"><%= l(:label_file_upload_error_messages)%></div>
|
||||
|
||||
<%= form_tag(project_files_path(project), :multipart => true, :remote => !ie8?, :name=>"upload_form") do %>
|
||||
<input type="hidden" name="in_project_toolbar" value="Y">
|
||||
<!--<p class="c_grey fr mt10 mr5">-->
|
||||
<div class="c_dark">
|
||||
<input name="project_attachment_type[]" type="checkbox" value="1" checked class="c_dblue">软件版本</input> <span class="c_grey">|</span>
|
||||
<input name="project_attachment_type[]" type="checkbox" value="2" class="c_dblue">文档</input> <span class="c_grey">|</span>
|
||||
<input name="project_attachment_type[]" type="checkbox" value="3" class="c_dblue">代码</input> <span class="c_grey">|</span>
|
||||
<input name="project_attachment_type[]" type="checkbox" value="4" class="c_dblue">媒体</input> <span class="c_grey">|</span>
|
||||
<input name="project_attachment_type[]" type="checkbox" value="5" class="c_dblue">论文</input> <span class="c_grey">|</span>
|
||||
<input name="project_attachment_type[]" type="checkbox" value="6" class="c_dblue">其他</input></a>
|
||||
</div>
|
||||
<ul class="c_dark mt10 mb10 f14 attachment_type_ul">
|
||||
<li class="fl">
|
||||
<input id="atta_type_1" name="project_attachment_type[]" type="checkbox" value="1" checked class="fl" />
|
||||
<label for="atta_type_1" class="c_grey fl ml5">软件版本 | </label>
|
||||
</li>
|
||||
<li class="fl">
|
||||
<input id="atta_type_2" name="project_attachment_type[]" type="checkbox" value="2" class="fl"/>
|
||||
<label for="atta_type_2" class="c_grey fl ml5">文档 | </label>
|
||||
</li>
|
||||
<li class="fl">
|
||||
<input id="atta_type_3" name="project_attachment_type[]" type="checkbox" value="3" class="fl"/>
|
||||
<label for="atta_type_3" class="c_grey fl ml5">代码 | </label>
|
||||
</li>
|
||||
<li class="fl">
|
||||
<input id="atta_type_4" name="project_attachment_type[]" type="checkbox" value="4" class="fl"/>
|
||||
<label for="atta_type_4" class="c_grey fl ml5">媒体 | </label>
|
||||
</li>
|
||||
<li class="fl">
|
||||
<input id="atta_type_5" name="project_attachment_type[]" type="checkbox" value="5" class="fl"/>
|
||||
<label for="atta_type_5" class="c_grey fl ml5">论文 | </label>
|
||||
</li>
|
||||
<li class="fl">
|
||||
<input id="atta_type_6" name="project_attachment_type[]" type="checkbox" value="6" class="fl"/>
|
||||
<label for="atta_type_6" class="c_grey fl ml5">其他</label>
|
||||
</li>
|
||||
</ul>
|
||||
<div class="cl"></div>
|
||||
<div>
|
||||
<div class="mb10">
|
||||
<%= render :partial => 'files/new_style_attachment_list',:locals => {:container => project} %>
|
||||
</div>
|
||||
<div class="cl"></div>
|
||||
<div class="mb5">
|
||||
<label class="fl c_dark f14" style="margin-top: 4px;">文件描述:</label>
|
||||
<div class="fl">
|
||||
<input type="text" name="description" placeholder="文件描述" class="InputBox fl W160">
|
||||
|
||||
<div class="mb10">
|
||||
<label class="fl c_dark f14" style="margin-top: 4px;">附件描述:</label>
|
||||
<div class="fl ml10">
|
||||
<textarea name="description" placeholder="介绍一下您的资源,让它得到更多人的青睐吧~" style="width: 276px; height: 60px; font-size: 12px;" class="InputBox fl"></textarea>
|
||||
</div>
|
||||
<div class="cl"></div>
|
||||
</div>
|
||||
|
||||
<a href="javascript:void(0);" class="fr grey_btn mr40 f14 ml10" onclick="hideModal();"><%= l(:button_cancel)%></a>
|
||||
<!--<a id="submit_resource" href="javascript:void(0);" class="blue_btn fr" onclick="submit_resource();"><%#= l(:button_confirm)%></a>-->
|
||||
<%= submit_tag '确定',:onclick=>'submit_resource();', :onfocus=>'this.blur()', :id=>'submit_resource', :class=>'sendSourceText fr' %>
|
||||
<a href="javascript:void(0);" class="fr sy_btn_blue" style="margin-right: 47px;" id="submit_resource" onclick="submit_resource();" onfocus="this.blur()">确定</a>
|
||||
<a href="javascript:void(0);" class="fr sy_btn_grey mr5" onclick="hideModal();">取消</a>
|
||||
<div class="cl"></div>
|
||||
<% end %>
|
||||
</div>
|
||||
|
||||
|
|
|
@ -1,9 +1,2 @@
|
|||
$('#ajax-modal').html('<%= escape_javascript(render :partial => 'files/hidden_file',:locals => {:course => @course,:course_attachment_type => 1}) %>');
|
||||
showModal('ajax-modal', '311px');
|
||||
$('#ajax-modal').siblings().remove();
|
||||
$('#ajax-modal').before("<a href='javascript:void(0)' onclick='hideModal()' style='margin-left: 290px;' class='resourceClose'></a>");
|
||||
$('#ajax-modal').parent().css("top","").css("left","").css("border","3px solid #269ac9");
|
||||
$('#ajax-modal').parent().addClass("popbox_polls").removeClass("resourceUploadPopup popbox");
|
||||
//与更新版本弹窗js冲突新增样式代码
|
||||
$('#ajax-modal').parent().css({"border":"3px solid #269ac9", "padding":"4px"});
|
||||
$('#ajax-modal').css({"padding":"","min-height":""});
|
||||
var htmlvalue = '<%= escape_javascript(render :partial => 'files/hidden_file',:locals => {:course => @course,:course_attachment_type => 1}) %>';
|
||||
pop_box_new(htmlvalue, 300, 140);
|
|
@ -124,13 +124,10 @@
|
|||
<%= render :partial => 'layouts/group_children_list', :locals => {:course => @course, :is_teacher => is_teacher} %>
|
||||
</div>
|
||||
<% end %>
|
||||
<% statistics_count = 0 %>
|
||||
<% unless show_nav?(statistics_count) %>
|
||||
<li id="sy_10" class="sy_icons_st">
|
||||
<a href="<%=course_statistics_course_path(@course) %>">统计<span></span></a>
|
||||
<!--<a href="javascript:void(0);" class="sy_class_add"></a>-->
|
||||
</li>
|
||||
<% end %>
|
||||
<li id="sy_010" class="sy_icons_st">
|
||||
<a href="<%=course_statistics_course_path(@course) %>">统计</a>
|
||||
<!--<a href="javascript:void(0);" class="sy_class_add"></a>-->
|
||||
</li>
|
||||
<%# 工具栏展开 %>
|
||||
<% if @course.homework_commons.count == 0 || @course.news.count == 0 || course_file_num == 0 || course_poll_count == 0 || @course.exercises.count == 0 ||
|
||||
course_feedback_count == 0 || @course.exercises.count == 0 || (@course.boards.first ? @course.boards.first.topics.count : 0) == 0 || statistics_count == 0%>
|
||||
|
@ -243,15 +240,8 @@
|
|||
});
|
||||
//资源库上传附件
|
||||
function course_files_upload(){
|
||||
$('#ajax-modal').html('<%= escape_javascript(render :partial => 'files/upload_course_files',:locals => {:course => @course,:course_attachment_type => 1}) %>');
|
||||
showModal('ajax-modal', '513px');
|
||||
$('#ajax-modal').siblings().remove();
|
||||
$('#ajax-modal').before("<a href='javascript:void(0)' onclick='hideModal()' style='margin-left: 480px;'><img src='/images/bid/close.png' width='26px' height='26px' /></a>");
|
||||
$('#ajax-modal').parent().css("top","").css("left","").css("border","3px solid #269ac9");
|
||||
$('#ajax-modal').parent().addClass("popbox_polls");
|
||||
//与更新版本弹窗js冲突新增样式代码
|
||||
$('#ajax-modal').parent().css({"border":"3px solid #269ac9", "padding":"4px"});
|
||||
$('#ajax-modal').css("padding","");
|
||||
var htmlvalue = '<%= escape_javascript(render :partial => 'files/upload_course_files',:locals => {:course => @course,:course_attachment_type => 1}) %>';
|
||||
pop_box_new(htmlvalue, 450, 275);
|
||||
}
|
||||
// 鼠标经过的时候显示内容
|
||||
function message_titile_show(obj,e)
|
||||
|
|
|
@ -37,7 +37,7 @@
|
|||
|
||||
<p>= <%= (project_score.changeset_num||0) * 4 %>
|
||||
+ <%= project_score.issue_num * 4 + project_score.issue_journal_num %> + <%= project_score.attach_num * 5 %>
|
||||
+ <%= project_score.board_num * 2 + project_score.board_message_num + project_score.news_num %></p>
|
||||
+ <%= project_score.board_num * 2 + project_score.board_message_num %></p>
|
||||
<% end %>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -24,15 +24,18 @@
|
|||
<% end%>
|
||||
<div class="cl"></div>
|
||||
|
||||
<li >
|
||||
<span class="tit_fb ">编程代码:</span>
|
||||
<div class="showHworkP break_word"><pre id="work-src_<%= work.id%>" style="display: none;"><%= work.description if work.description%></pre><div class="fontGrey2 font_cus" id="work-code_<%= work.id%>">
|
||||
<li>
|
||||
<span class="tit_fb">编程代码:</span>
|
||||
<div class="showHworkP break_word">
|
||||
<pre id="work-src_<%= work.id%>" style="display: none;"><%= work.description if work.description%></pre>
|
||||
<div class="fontGrey2 font_cus" id="work-code_<%= work.id%>">
|
||||
</div>
|
||||
</div>
|
||||
<div class="cl"></div>
|
||||
</li>
|
||||
|
||||
<li class="mt10 fl">
|
||||
<div class="cl"></div>
|
||||
<li class="mt10">
|
||||
<span class="tit_fb ">
|
||||
测试结果:
|
||||
</span>
|
||||
|
@ -52,50 +55,65 @@
|
|||
<%= test.results.first %>
|
||||
</div>
|
||||
<% else %>
|
||||
<div class="ProResultTable " >
|
||||
<ul class="ProResultUl " >
|
||||
|
||||
<div class="ProResultTable">
|
||||
<div class="ProResultUl">
|
||||
<% test.results.reverse.each_with_index do |x, i| %>
|
||||
<% unless x.nil? %>
|
||||
<li >
|
||||
<span class="w60 T_C">测试<%=test.results.size-i%></span>
|
||||
<% if x["status"].to_i != 0 %>
|
||||
<% if x["status"].to_i == 2 %>
|
||||
<span class="w60 c_red">超时!</span>
|
||||
<% else %>
|
||||
<span class="w60 c_red">测试错误!</span>
|
||||
<% end %>
|
||||
<span class="w60">您的输出:</span>
|
||||
<span class="width120"><pre style="white-space: pre-wrap; margin-right: 15px;"><%=x["result"].force_encoding("UTF-8")%> </pre></span>
|
||||
<span class="w60">正确输出:</span>
|
||||
<% unless x.nil? %>
|
||||
<%= %>
|
||||
<div>
|
||||
<span class="w60 T_C">测试<%=test.results.size-i%></span>
|
||||
<% if x["status"].to_i != 0 %>
|
||||
<% if x["status"].to_i == 2 %>
|
||||
<span class="w60 c_red">超时!</span>
|
||||
<% else %>
|
||||
<span class="w60 c_red">测试错误!</span>
|
||||
<% end %>
|
||||
<span style="width: 340px; padding-left: 20px;">
|
||||
<a href="javascript:void(0)" class="linkBlue test_result_link_expand">查看</a>
|
||||
</span>
|
||||
|
||||
<span class="width120"><pre style="white-space: pre-wrap; margin-right: 15px;"><%=x["output"].force_encoding("UTF-8")%></pre></span>
|
||||
<span class="w50">耗时:</span>
|
||||
<span class="w80"><pre><%=x["time_used"]==0?1:x["time_used"]%>毫秒</pre></span>
|
||||
<div class="cl"></div>
|
||||
<% else %>
|
||||
<span class="w60 c_green">测试正确!</span>
|
||||
<span style="width:360px;"> </span>
|
||||
<span class="w50">耗时:</span>
|
||||
<span class="w80"><pre><%=x["time_used"]==0?1:x["time_used"]%>毫秒</pre></span>
|
||||
<div class="cl"></div>
|
||||
<% end %>
|
||||
</li>
|
||||
<% end %>
|
||||
<span class="w50">耗时:</span>
|
||||
<span class="w80"><pre><%=x["time_used"]==0?1:x["time_used"]%>毫秒</pre></span>
|
||||
<div class="cl"></div>
|
||||
<% else %>
|
||||
<span class="w60 c_green">测试正确!</span>
|
||||
<span style="width:360px;"> </span>
|
||||
<span class="w50">耗时:</span>
|
||||
<span class="w80"><pre><%=x["time_used"]==0?1:x["time_used"]%>毫秒</pre></span>
|
||||
<div class="cl"></div>
|
||||
<% end %>
|
||||
</div>
|
||||
<% if x["status"].to_i != 0 %>
|
||||
<div class="none test_result_block">
|
||||
<div style="max-height: 350px; overflow: auto;">
|
||||
<span style="width: 120px;"> </span>
|
||||
<span class="w60">您的输出:</span>
|
||||
<span class="width120"><pre style="white-space: pre-wrap; margin-right: 15px;"><%=x["result"].force_encoding("UTF-8")%> </pre></span>
|
||||
<span class="w60">正确输出:</span>
|
||||
<span class="width120"><pre style="white-space: pre-wrap; margin-right: 15px;"><%=x["output"].force_encoding("UTF-8")%></pre></span>
|
||||
</div>
|
||||
<div class="cl"></div>
|
||||
<p class="text_c c_blue">
|
||||
<a href="javascript:void(0);" class="test_result_link_hidden linkBlue">收起</a>
|
||||
</p>
|
||||
</div>
|
||||
<% end %>
|
||||
<% end %>
|
||||
<% end %>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<% end %>
|
||||
<% end %>
|
||||
</div>
|
||||
<div class="cl"></div>
|
||||
</li>
|
||||
|
||||
<li >
|
||||
<li>
|
||||
<% if @is_teacher || (@homework.homework_detail_manual.comment_status == 2 && work.user != User.current )%>
|
||||
<!-- 老师 || 开启匿评状态 && 不是当前用户自己的作品 -->
|
||||
<div id="add_student_score_<%= work.id%>" class="mt10 evaluation">
|
||||
<ul id="add_student_score_<%= work.id%>" class="mt10 evaluation">
|
||||
<%= render :partial => 'add_score',:locals => {:work => work,:score => score,:is_member_work => false}%>
|
||||
</div>
|
||||
</ul>
|
||||
<% end%>
|
||||
<div class="cl"></div>
|
||||
</li>
|
||||
|
@ -119,6 +137,12 @@
|
|||
<% if defined?(is_focus) && is_focus.to_i == 1 %>
|
||||
$("#upload_revise_attachment").click();
|
||||
<% end %>
|
||||
$(".test_result_link_expand").on('click', function(){
|
||||
$(this).parent().parent().next().toggle();
|
||||
});
|
||||
$(".test_result_link_hidden").on('click', function(){
|
||||
$(this).parent().parent().toggle();
|
||||
});
|
||||
});
|
||||
function show_upload(){
|
||||
var htmlvalue = "<%= escape_javascript( render :partial => 'student_work/upload_attachment' ,:locals => {:work=>work})%>";
|
||||
|
|
|
@ -6,35 +6,35 @@
|
|||
<th style="width:40px"></th>
|
||||
<th><li class="fl ml5">作业标题</li></th>
|
||||
<th style="width:160px">来源</th>
|
||||
<th style="width:80px">类型</th>
|
||||
<th style="width:80px">未评</th>
|
||||
<th style="width:120px">截止剩余时间</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<% @anonymous_evaluation.each do |ae| %>
|
||||
<tr>
|
||||
<th class="homepageTabAvatar">
|
||||
<td class="homepageTabAvatar">
|
||||
<%= link_to image_tag(url_to_avatar(ae.user), :width => "30", :height => "30"), user_path(ae.user), :target => '_blank' %>
|
||||
</th>
|
||||
<th>
|
||||
</td>
|
||||
<td>
|
||||
<li class="homepageTabTitle">
|
||||
<%= link_to ae.name.to_s, student_work_index_url(:homework => ae.id, :tab => 2), :target => "_blank", :class => "homepageTabTitle fl ml5" %>
|
||||
</li>
|
||||
</th>
|
||||
<th>
|
||||
</td>
|
||||
<td>
|
||||
<li class="homepageTabProjectName ml5">
|
||||
<%= link_to ae.course.try(:name), course_path(ae.course), :class => "homepageTabTitle ml5", :target => "_blank"%>
|
||||
<li>
|
||||
</th>
|
||||
<th>
|
||||
</td>
|
||||
<td>
|
||||
<li class="homepageTabAuthor ml5" >
|
||||
<%= homework_type_tip(ae.homework_type) %>
|
||||
<%= homework_evaluation_num(ae) %>
|
||||
</li>
|
||||
</th>
|
||||
<th>
|
||||
</td>
|
||||
<td>
|
||||
<li class="homepageTabTime ml5" >
|
||||
<% end_time = ae.end_time.to_time.to_i + 24*60*60 - 1 %>
|
||||
<% if end_time > Time.now.to_i %>
|
||||
<% end_time = ae.homework_detail_manual.evaluation_end.to_time.to_i + 24*60*60 - 1 %>
|
||||
<% if end_time > Time.now.to_i %>
|
||||
<span class="c_red"><%= (end_time - Time.now.to_i) / (24*60*60) %></span> 天
|
||||
<span class="c_red"><%= ((end_time - Time.now.to_i) % (24*60*60)) / (60*60)%></span> 小时
|
||||
<span class="c_red"><%= (((end_time - Time.now.to_i) % (24*60*60)) % (60*60)) / 60%></span> 分
|
||||
|
@ -42,7 +42,7 @@
|
|||
<span class="c_red">已截止</span>
|
||||
<% end %>
|
||||
</li>
|
||||
</th>
|
||||
</td>
|
||||
</tr>
|
||||
<% end %>
|
||||
</tbody>
|
||||
|
|
|
@ -0,0 +1,8 @@
|
|||
class ChangeAttachmentColumn < ActiveRecord::Migration
|
||||
def up
|
||||
change_column :attachments, :publish_time, :datetime
|
||||
end
|
||||
|
||||
def down
|
||||
end
|
||||
end
|
|
@ -0,0 +1,53 @@
|
|||
class CreateCourseHomeworkStatistics < ActiveRecord::Migration
|
||||
def change
|
||||
create_table :course_homework_statistics do |t|
|
||||
t.references :user
|
||||
t.references :course
|
||||
t.integer :committed_work_num, :default => 0
|
||||
t.integer :un_commit_work_num, :default => 0
|
||||
t.integer :late_commit_work_num, :default => 0
|
||||
t.integer :absence_evaluation_work_num, :default => 0
|
||||
t.integer :un_evaluation_work_num, :default => 0
|
||||
t.integer :appeal_num, :default => 0
|
||||
t.float :average_score, :default => 0
|
||||
t.float :total_score, :default => 0
|
||||
|
||||
t.timestamps
|
||||
end
|
||||
|
||||
count =Course.all.count / 30 + 2
|
||||
transaction do
|
||||
for i in 1 ... count do i
|
||||
Course.page(i).per(30).each do |course|
|
||||
hw_count = course.homework_commons.includes(:homework_detail_manual).where("homework_detail_manuals.comment_status > 0").count
|
||||
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")
|
||||
is_eva_homeworks = course.homework_commons.includes(:homework_detail_manual).where("homework_commons.anonymous_comment = 0 and homework_detail_manuals.comment_status = 2")
|
||||
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
|
||||
if user
|
||||
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
|
||||
CourseHomeworkStatistics.create(:course_id => course.id, :user_id => user.id, :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
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
|
@ -11,7 +11,7 @@
|
|||
#
|
||||
# It's strongly recommended to check this file into your version control system.
|
||||
|
||||
ActiveRecord::Schema.define(:version => 20170120021457) do
|
||||
ActiveRecord::Schema.define(:version => 20170209020934) do
|
||||
|
||||
create_table "activities", :force => true do |t|
|
||||
t.integer "act_id", :null => false
|
||||
|
@ -196,7 +196,7 @@ ActiveRecord::Schema.define(:version => 20170120021457) do
|
|||
t.integer "copy_from"
|
||||
t.integer "quotes"
|
||||
t.integer "is_publish", :default => 1
|
||||
t.date "publish_time"
|
||||
t.datetime "publish_time"
|
||||
end
|
||||
|
||||
add_index "attachments", ["author_id"], :name => "index_attachments_on_author_id"
|
||||
|
|
|
@ -32,6 +32,10 @@ namespace :homework_evaluation do
|
|||
student_works_evaluation_distributions = StudentWorksEvaluationDistribution.new(user_id: pro_work.user_id, student_work_id: h.id)
|
||||
student_works_evaluation_distributions.save
|
||||
end
|
||||
|
||||
#更新CourseHomeworkStatistics中该学生的待匿评数
|
||||
course_statistics = CourseHomeworkStatistics.find_by_course_id_and_user_id(homework_common.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|
|
||||
|
@ -43,6 +47,10 @@ namespace :homework_evaluation do
|
|||
student_works_evaluation_distributions = StudentWorksEvaluationDistribution.new(user_id: user.id, student_work_id: h.id)
|
||||
student_works_evaluation_distributions.save
|
||||
end
|
||||
|
||||
#更新CourseHomeworkStatistics中该学生的待匿评数
|
||||
course_statistics = CourseHomeworkStatistics.find_by_course_id_and_user_id(homework_common.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)
|
||||
|
@ -87,6 +95,11 @@ namespace :homework_evaluation do
|
|||
absence_penalty_count = student_work.user.student_works_evaluation_distributions.where("student_work_id IN #{work_ids}").count - student_work.user.student_works_scores.where("student_work_id IN #{work_ids} and reviewer_role = 3").count
|
||||
student_work.absence_penalty = absence_penalty_count > 0 ? absence_penalty_count * homework_detail_manual.absence_penalty : 0
|
||||
student_work.save
|
||||
|
||||
#更新CourseHomeworkStatistics中该学生的待匿评数和缺评数
|
||||
course_statistics = CourseHomeworkStatistics.find_by_course_id_and_user_id(homework_common.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
|
||||
|
||||
# 未参与匿评
|
||||
|
|
|
@ -26,6 +26,13 @@ namespace :homework_publishtime do
|
|||
ActiveRecord::Base.connection.execute sql
|
||||
end
|
||||
end
|
||||
|
||||
#更新CourseHomeworkStatistics中每个学生的未交作品数
|
||||
homework.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 = homework.course
|
||||
course.members.each do |m|
|
||||
homework.course_messages << CourseMessage.new(:user_id => m.user_id, :course_id => course.id, :viewed => false, :status => nil)
|
||||
|
|
|
@ -236,6 +236,7 @@ function _getBasePath() {
|
|||
// End of modification by Macrow
|
||||
K.basePath = _getBasePath();
|
||||
K.options = {
|
||||
placeholder : '',
|
||||
designMode : true,
|
||||
fullscreenMode : false,
|
||||
filterMode : true,
|
||||
|
@ -4783,6 +4784,9 @@ function _bindTabEvent() {
|
|||
function _bindFocusEvent() {
|
||||
var self = this;
|
||||
K(self.edit.textarea[0], self.edit.win).focus(function(e) {
|
||||
if(/^\s*<\w*\s*\w*\=\"\w*\"\s*\w*\=\"\w*\:\s*\#\d*\;\s*\w*\-\w*\:\s*\w*\;\"\>[\u4e00-\u9fa5]*[\uFF1A][\u4e00-\u9fa5]*[\uFF0C][\u4e00-\u9fa5]*[\uFF0C][\u4e00-\u9fa5]*[\uFF0C][\u4e00-\u9fa5]*<\/\w*\>\s*$/.test(self.edit.html())){
|
||||
self.edit.html('');
|
||||
}
|
||||
if(typeof self.options.enable_at === 'function'){
|
||||
self.options.enable_at();
|
||||
}
|
||||
|
@ -4790,6 +4794,9 @@ function _bindFocusEvent() {
|
|||
self.afterFocus.call(self, e);
|
||||
}
|
||||
}).blur(function(e) {
|
||||
if(self.isEmpty()) {
|
||||
self.edit.html("<span id='hint' style='color:#999999;font-size:12px;'>" + self.placeholder + "</span>");
|
||||
}
|
||||
if (self.afterBlur) {
|
||||
self.afterBlur.call(self, e);
|
||||
}
|
||||
|
@ -5168,11 +5175,14 @@ KEditor.prototype = {
|
|||
}
|
||||
self.afterCreate();
|
||||
if (self.options.afterCreate) {
|
||||
if (typeof self.options.afterCreate == 'string'){
|
||||
self.options.afterCreate = eval(self.options.afterCreate);
|
||||
}
|
||||
if (typeof self.options.afterCreate == 'string'){
|
||||
self.options.afterCreate = eval(self.options.afterCreate);
|
||||
}
|
||||
self.options.afterCreate.call(self);
|
||||
}
|
||||
if (self.placeholder != "" && self.edit.html() == "") {
|
||||
self.edit.html("<span id='hint' style='color:#999999;font-size:12px;'>" + self.placeholder + "</span>");
|
||||
}
|
||||
}
|
||||
});
|
||||
//statusbar.removeClass('statusbar').addClass('ke-statusbar')
|
||||
|
|
|
@ -1775,7 +1775,7 @@ function notice_box(str){
|
|||
|
||||
//提示框:只有一个确定按钮,点击跳转
|
||||
function notice_box_redirect(url, str){
|
||||
var htmlvalue = '<div id="muban_popup_box" style="width:300px;"><div class="muban_popup_top"><h3 class="fl">提示</h3><a href="javascript:void(0);" class="muban_icons_close fr"></a></div>'+
|
||||
var htmlvalue = '<div id="muban_popup_box" style="width:300px;"><div class="muban_popup_top"><h3 class="fl">提示</h3><a href="'+ url +'" class="muban_icons_close fr"></a></div>'+
|
||||
'<div class="clear mt15"><p class="text_c f14">' + str + '</p><div class="cl"></div>'+
|
||||
'<a href="'+ url +'" class="fr sy_btn_blue mt10 mr10" style="margin-right: 124px;">确定</a></div></div>';
|
||||
pop_box_new(htmlvalue, 300, 140);
|
||||
|
|
|
@ -842,6 +842,23 @@ function formate_date(date){
|
|||
return str;
|
||||
}
|
||||
|
||||
function formate_time(time){
|
||||
var str = "";
|
||||
var year = time.getFullYear();
|
||||
var month = time.getMonth() + 1;
|
||||
var day = time.getDate();
|
||||
var hour = time.getHours();
|
||||
var min = time.getMinutes();
|
||||
if(month < 10) {
|
||||
month = '0' + month;
|
||||
}
|
||||
if(day < 10) {
|
||||
day = '0' + day;
|
||||
}
|
||||
str = year + '-' + month + '-' + day + ' ' + hour + ':' + min;
|
||||
return str;
|
||||
}
|
||||
|
||||
//验证发送到课程
|
||||
function regex_course_id(){
|
||||
var course_id = $("#course_id").val();
|
||||
|
|
File diff suppressed because one or more lines are too long
|
@ -179,6 +179,23 @@ function formate_date(date){
|
|||
return str;
|
||||
}
|
||||
|
||||
function formate_time(time){
|
||||
var str = "";
|
||||
var year = time.getFullYear();
|
||||
var month = time.getMonth() + 1;
|
||||
var day = time.getDate();
|
||||
var hour = time.getHours();
|
||||
var min = time.getMinutes();
|
||||
if(month < 10) {
|
||||
month = '0' + month;
|
||||
}
|
||||
if(day < 10) {
|
||||
day = '0' + day;
|
||||
}
|
||||
str = year + '-' + month + '-' + day + ' ' + hour + ':' + min;
|
||||
return str;
|
||||
}
|
||||
|
||||
//验证发送到课程
|
||||
function regex_course_id(){
|
||||
var course_id = $("#course_id").val();
|
||||
|
|
|
@ -112,7 +112,7 @@ h4{ font-size:14px;}/*color:#3b3b3b;*/
|
|||
.w108 {width:108px;}.w125{width:125px;}.w128{ width:128px;}.w130{ width:130px;}.w140{ width:140px;}.w145{ width:145px;}.w150{ width:150px;}
|
||||
.w160{width:160px !important;}.w170{width:170px;}.w180{width:180px;}.w186{ width:186px;}.w190{width: 190px;}.w196{ width:196px;}.w200{width: 200px;}.w210{ width:210px;}
|
||||
.w230{width:230px !important;}.w235{ width:235px !important;}.w265{ width: 265px;}.w270{ width: 270px;}.w280{ width:280px;}.w289{ width:289px !important;}.w290{ width:290px !important;}
|
||||
.w300{ width:300px !important;}.w305{ width:305px;}.w350 {width:350px;}.w362 {width:362px;}.h400{height:400px !important;}.w430{ width:430px;}
|
||||
.w300{ width:300px !important;}.w305{ width:305px;}.w350 {width:350px;}.w360 {width:360px;}.w362 {width:362px;}.h400{height:400px !important;}.w430{ width:430px;}
|
||||
.W440{ width:440px;}.w450 {width:450px;}.w455{width:455px !important;}.w459{ width:459px;}.w460{ width:460px;}.w465{width:465px !important;}
|
||||
.w490{width:490px;}.w536{ width:536px;}.w543{ width:543px;}.w557{ width:557px;}.w570 {width:570px !important;}.w576{ width:576px;}.w590{ width:590px !important;}
|
||||
.w607 {width:607px;}.w664{ width:664px;}.w683{ width:683px;}.w610{ width:610px;}.w600{ width:600px !important;}.w603{ width:603px !important;}
|
||||
|
|
|
@ -31,7 +31,7 @@ a.remove-upload {background: url(/images/delete.png) no-repeat 1px 50%;width: 1p
|
|||
a.FilesName{ max-width:540px;overflow:hidden; white-space:nowrap; text-overflow:ellipsis; display:block;}
|
||||
a.FilesName02{ max-width:665px;overflow:hidden; white-space:nowrap; text-overflow:ellipsis; display:block;}
|
||||
.ProResultUl span { display:block; float:left;}
|
||||
.ProResultUl li{ line-height:35px; border-bottom:1px solid #dddddd; }
|
||||
.ProResultUl>div{ line-height:35px; border-bottom:1px solid #dddddd; }
|
||||
.DateBorder{border:1px solid #d9d9d9; border-left:none; padding:7px 6px 6px 6px;}
|
||||
a.UsersEditBtn{ display:block; width:55px; height:20px; border:1px solid #6d6d6d; color:#fff; background:#888888 url(/images/homepage_icon.png) -11px -35px no-repeat; padding-left:25px; line-height:1.9;-moz-border-radius:2px; -webkit-border-radius:2px; border-radius:2px;}
|
||||
a:hover.UsersEditBtn{ color:#484848; background:#888888 url(/images/homepage_icon2.png) -11px -74px no-repeat;}
|
||||
|
@ -327,6 +327,7 @@ a.work_list_tit{width:580px; display:block; overflow:hidden; font-size:14px; f
|
|||
.evaluation{position: relative;}
|
||||
.evaluation_submit{position: absolute;right: 0px;bottom: 0px;}
|
||||
.student_work_search{background-color: #3b94d6;color: white !important;padding: 2px 7px;margin-left: 10px;cursor: pointer; }
|
||||
.test_result_block{border-bottom: 1px solid #dddddd; line-height: 35px;}
|
||||
/* 与我相关 */
|
||||
a.about_me{text-align:center;font-size:16px; color:#3b94d6; margin:10px 0 0 10px;}
|
||||
a:hover.about_me{ color:#0781b4;}
|
||||
|
@ -524,12 +525,14 @@ a.banner-course-notice {position: absolute; font-size: 12px; line-height: 20px;
|
|||
.game-setting-h3{ width: 100%; height: 40px; line-height: 40px; font-size: 14px; color: #666; font-weight: normal; background: #fff; border-bottom: 10px solid #eaebec;}
|
||||
.t-center{ text-align: center;}
|
||||
.table-td-w20{ width: 18%;}
|
||||
.table-td-w9{ width: 9%;}
|
||||
.table-td-w10{ width: 10%;}
|
||||
.table-td-w10-5{ width: 10.5%;}
|
||||
.table-td-w30{ width: 30%;}
|
||||
.new_project_title_width {font-size: 14px;color: #666; max-width: 180px;font-weight: normal;white-space: nowrap;overflow: hidden; text-overflow: ellipsis;}
|
||||
.new_project_title_width {font-size: 12px;color: #666; max-width: 170px;font-weight: normal;white-space: nowrap;overflow: hidden; text-overflow: ellipsis;}
|
||||
.syllabus_class_property { font-size: 12px; padding: 0 5px;border-radius: 3px;line-height: 14px;}
|
||||
.syllabus_class_private {color: #ff4a1b;border: 1px solid #ff4a1b;}
|
||||
.syllabus_class_open { color: #7dd26c; border: 1px solid #7dd26c;}
|
||||
.st_tips_box_inner{ position: absolute;line-height: 2.0;padding: 5px 10px; white-space: nowrap; background-color: #fff; left:100px; top: -5px; box-shadow: 0px 2px 8px rgba(146, 153, 169, 0.5);}
|
||||
.st_tips_box_inner span { display: block; border-width: 10px;position: absolute;top: 15px; left: -18px; border-style: dashed solid dashed dashed;border-color: transparent #fff transparent transparent;font-size: 0;line-height: 0;}
|
||||
.course_class_users_st_name{ display: inline-block;width:120px; overflow:hidden;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
|
||||
.course_class_users_st_name{ display: inline-block;width:120px; overflow:hidden;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
|
|
@ -7,7 +7,6 @@ a:hover.muban_icons_close{background: url(/images/sy/sy_icons_close.png) -40px 0
|
|||
#muban_popup_box input,#muban_popup_box select{ border:1px solid #c8c8c8; height: 28px; color: #888;}
|
||||
#muban_popup_box label.pop_box_label{width: 100px; text-align: right; display: inline-block;}
|
||||
input.radio-width90{ width: 90px; }
|
||||
#muban_popup_box input,#muban_popup_box select{ border:1px solid #c8c8c8; height: 28px; color: #888;}
|
||||
#muban_popup_box label.pop_box_label_l {width: 100px; text-align: left; display: inline-block;}
|
||||
/*模板表格 20161013byLB*/
|
||||
.muban_table{ width:100%; background:#fff; border:1px solid #e5e5e5; border-bottom: none; }
|
||||
|
|
|
@ -941,4 +941,6 @@ a.syllabusbox_a_blue{ color:#3b94d6;}
|
|||
|
||||
|
||||
.patner-box li{ float: left; margin:0px 10px 20px; height: 40px; border:1px solid #ddd; padding:10px 5px;}
|
||||
.patner-box li:hover{border:1px solid #ccc;}
|
||||
.patner-box li:hover{border:1px solid #ccc;}
|
||||
|
||||
.attachment_type_ul li label{line-height: 28px;}
|
File diff suppressed because one or more lines are too long
|
@ -0,0 +1,6 @@
|
|||
FactoryGirl.define do
|
||||
factory :course_homework_statistic, :class => 'CourseHomeworkStatistics' do
|
||||
|
||||
end
|
||||
|
||||
end
|
|
@ -0,0 +1,5 @@
|
|||
require 'rails_helper'
|
||||
|
||||
RSpec.describe CourseHomeworkStatistics, :type => :model do
|
||||
pending "add some examples to (or delete) #{__FILE__}"
|
||||
end
|
Loading…
Reference in New Issue