diff --git a/app/controllers/courses_controller.rb b/app/controllers/courses_controller.rb
index 403119e20..45a3f981b 100644
--- a/app/controllers/courses_controller.rb
+++ b/app/controllers/courses_controller.rb
@@ -184,14 +184,24 @@ class CoursesController < ApplicationController
if params[:incourse]
results = searchmember_by_name(student_homework_score(0,0,0,"desc"), q)
elsif params[:ingroup]
- @group = CourseGroup.find(params[:search_group_id])
- results = searchmember_by_name(student_homework_score(@group.id,0,0,"desc"), q)
+ if params[:search_group_id] == "-1"
+ @group = -1
+ results = searchmember_by_name(student_homework_score(-1,0,0,"desc"), q)
+ else
+ @group = CourseGroup.find(params[:search_group_id])
+ results = searchmember_by_name(student_homework_score(@group.id,0,0,"desc"), q)
+ end
end
@is_remote = true
#@result_count = results.count
#@results = paginateHelper results, 10
@results = results
@search_name = q
+ @limit = 50
+ @page = params[:page].nil? ? 1 : params['page'].to_i
+ @members_count = @results.count
+ @mem_pages = Paginator.new @members_count, @limit, @page
+ @results = paginateHelper @results, @limit
end
def addgroups
@@ -208,6 +218,12 @@ class CoursesController < ApplicationController
@is_remote = true
@members = student_homework_score(0,0, 10,@score_sort_by)
@course_groups = @course.course_groups
+ @limit = 50
+ @page = params[:page].nil? ? 1 : params['page'].to_i
+ @members_count = @members.count
+ @no_group_count = @members_count - @course.members.where("course_group_id != 0").count
+ @mem_pages = Paginator.new @members_count, @limit, @page
+ @members = paginateHelper @members, @limit
end
def deletegroup
@@ -219,6 +235,12 @@ class CoursesController < ApplicationController
@score_sort_by = "desc"
@members = student_homework_score(0,0, 10,@score_sort_by)
@course_groups = @course.course_groups
+ @limit = 50
+ @page = params[:page].nil? ? 1 : params['page'].to_i
+ @members_count = @members.count
+ @no_group_count = @members_count - @course.members.where("course_group_id != 0").count
+ @mem_pages = Paginator.new @members_count, @limit, @page
+ @members = paginateHelper @members, @limit
end
def updategroupname
@@ -232,6 +254,12 @@ class CoursesController < ApplicationController
@is_remote = true
@members = student_homework_score(0,0, 10,"desc")
@course_groups = @course.course_groups
+ @limit = 50
+ @page = params[:page].nil? ? 1 : params['page'].to_i
+ @members_count = @members.count
+ @no_group_count = @members_count - @course.members.where("course_group_id != 0").count
+ @mem_pages = Paginator.new @members_count, @limit, @page
+ @members = paginateHelper @members, @limit
end
def valid_ajax
@@ -268,6 +296,7 @@ class CoursesController < ApplicationController
member.course_group_id = params[:course_group_id].to_i
member.save
@course_groups = @course.course_groups
+ @no_group_count = @course.student.count - @course.members.where("course_group_id != 0").count
@canShowCode = isCourseTeacher(User.current.id,@course) && params[:role] != '1'
respond_to do |format|
format.js
@@ -283,6 +312,7 @@ class CoursesController < ApplicationController
@group = group
@course_groups = @course.course_groups
+ @no_group_count = @course.student.count - @course.members.where("course_group_id != 0").count
search_group_members group
end
@@ -294,6 +324,7 @@ class CoursesController < ApplicationController
member.save
@group = group
@course_groups = @course.course_groups
+ @no_group_count = @course.student.count - @course.members.where("course_group_id != 0").count
search_group_members group
end
@@ -304,14 +335,22 @@ class CoursesController < ApplicationController
@is_remote = true
@sort_type = 'score'
@score_sort_by = "desc"
- if params[:group_id] && params[:group_id] != "0"
+ if params[:group_id] && params[:group_id] != "0" && params[:group_id] != "-1"
@group = CourseGroup.find(params[:group_id])
@results = student_homework_score(@group.id,0, 0,"desc")
# @results = paginateHelper @results, 10
+ elsif params[:group_id] && params[:group_id] == "-1"
+ @group = -1
+ @results = student_homework_score(-1, 0, 10,"desc")
else
page_from = params[:page].nil? ? 0 : (params[:page].to_i - 1)
@results = student_homework_score(0,page_from, 10,"desc")
end
+ @limit = 50
+ @page = params[:page].nil? ? 1 : params['page'].to_i
+ @members_count = @results.count
+ @mem_pages = Paginator.new @members_count, @limit, @page
+ @results = paginateHelper @results, @limit
end
def member
@@ -332,10 +371,15 @@ class CoursesController < ApplicationController
@members = @all_members
when '2'
if @course.open_student == 1 || User.current.member_of_course?(@course) || User.current.admin?
+ @limit = 50
@subPage_title = l :label_student_list
- page = params[:page].nil? ? 0 : (params['page'].to_i - 1)
- @all_members = student_homework_score(0,page, 10,@score_sort_by,@sort_type)
- @members = @all_members
+ @page = params[:page].nil? ? 1 : params['page'].to_i
+ @all_members = student_homework_score(0, @page - 1, @limit, @score_sort_by, @sort_type)
+ @members_count = @all_members.count
+ @no_group_count = @members_count - @course.members.where("course_group_id != 0").count
+ @mem_pages = Paginator.new @members_count, @limit, @page
+ @members = paginateHelper @all_members, @limit
+ @left_nav_type = 9
else
render_403
return
@@ -378,25 +422,35 @@ class CoursesController < ApplicationController
group_id = params[:group_id]
if !@search_name.nil?
if group_id == '0'
- page = params[:page].nil? ? 0 : (params['page'].to_i - 1)
+ #page = params[:page].nil? ? 0 : (params['page'].to_i - 1)
@results = searchmember_by_name(student_homework_score(0,0,0,@score_sort_by,@sort_type), @search_name)
- @result_count = @results.count
# @results = paginateHelper @results, 10
+ elsif group_id == '-1'
+ @group = -1
+ @results = searchmember_by_name(student_homework_score(-1,0,0,@score_sort_by,@sort_type), @search_name)
else
@group = CourseGroup.find(group_id)
@results = searchmember_by_name(student_homework_score(group_id, 0, 0,@score_sort_by,@sort_type),@search_name)
- @result_count = @results.count
# @results = paginateHelper @results, 10
end
else
if group_id == '0'
page = params[:page].nil? ? 0 : (params['page'].to_i - 1)
@results = student_homework_score(0,page, 10,@score_sort_by,@sort_type)
+ elsif group_id == '-1'
+ @group = -1
+ @results = student_homework_score(-1,0, 10,@score_sort_by,@sort_type)
else
@group = CourseGroup.find(group_id)
@results = student_homework_score(group_id, 0, 0,@score_sort_by,@sort_type)
end
end
+ @limit = 50
+ @page = params[:page].nil? ? 1 : params['page'].to_i
+ @members_count = @results.count
+ @no_group_count = @members_count - @course.members.where("course_group_id != 0").count
+ @mem_pages = Paginator.new @members_count, @limit, @page
+ @results = paginateHelper @results, @limit
end
# 显示每个学生的作业评分详情
def show_member_score
@@ -1149,7 +1203,7 @@ class CoursesController < ApplicationController
#统计
def statistics_course
- @left_nav_type = 9
+ @left_nav_type = 10
respond_to do |format|
format.html {render :layout => 'base_courses'}
end
@@ -1223,7 +1277,6 @@ class CoursesController < ApplicationController
def student_homework_score(groupid,start_from, nums, score_sort_by, sort_type = 'score')
start_from = start_from * nums
- sql_select = ""
if groupid == 0
sql_select = "SELECT members.*,(
SELECT SUM(student_works.work_score)
@@ -1231,13 +1284,49 @@ class CoursesController < ApplicationController
WHERE student_works.homework_common_id = homework_commons.id
AND homework_commons.course_id = #{@course.id}
AND student_works.user_id = members.user_id
- ) AS score,(SELECT (message_num*2 + message_reply_num*1 + news_reply_num*1 + news_num*1 +
+ ) AS score,(SELECT max(message_num*2 + message_reply_num*1 + news_reply_num*1 + news_num*1 +
resource_num*5 + journal_num*1 + homework_journal_num*1 ) FROM `course_contributor_scores` AS ccs WHERE ccs.course_id = #{@course.id} AND ccs.user_id = members.user_id
- ) AS act_score
+ ) AS act_score,(SELECT SUM(exercise_users.score) FROM exercise_users,exercises WHERE exercise_users.exercise_id = exercises.id
+ AND exercises.course_id = #{@course.id} AND exercise_users.user_id = members.user_id) AS ex_score,
+ (SELECT max(student_id) FROM user_extensions WHERE user_extensions.user_id = members.user_id) AS student_id,
+ (SELECT max(message_num) FROM course_contributor_scores AS ccs WHERE ccs.course_id = #{@course.id} AND ccs.user_id = members.user_id) AS message_num,
+ (SELECT max(message_reply_num) FROM course_contributor_scores AS ccs WHERE ccs.course_id = #{@course.id} AND ccs.user_id = members.user_id) AS message_reply_num,
+ (SELECT max(news_reply_num) FROM course_contributor_scores AS ccs WHERE ccs.course_id = #{@course.id} AND ccs.user_id = members.user_id) AS news_reply_num,
+ (SELECT max(news_num) FROM course_contributor_scores AS ccs WHERE ccs.course_id = #{@course.id} AND ccs.user_id = members.user_id) AS news_num,
+ (SELECT max(resource_num) FROM course_contributor_scores AS ccs WHERE ccs.course_id = #{@course.id} AND ccs.user_id = members.user_id) AS resource_num,
+ (SELECT max(journal_num) FROM course_contributor_scores AS ccs WHERE ccs.course_id = #{@course.id} AND ccs.user_id = members.user_id) AS journal_num,
+ (SELECT max(homework_journal_num) FROM course_contributor_scores AS ccs WHERE ccs.course_id = #{@course.id} AND ccs.user_id = members.user_id) AS homework_journal_num,
+ (SELECT COUNT(ss.id) FROM student_works AS ss ,homework_commons AS hc WHERE ss.homework_common_id = hc.id AND hc.course_id = #{@course.id} AND ss.work_status != 0 AND ss.user_id = members.user_id) AS homework_num,
+ (SELECT COUNT(eu.id) FROM exercise_users AS eu,exercises WHERE eu.exercise_id = exercises.id AND exercises.course_id = #{@course.id} AND exercises.end_time >= eu.created_at AND eu.user_id = members.user_id) AS exercise_num
FROM members
JOIN students_for_courses
ON students_for_courses.student_id = members.user_id AND students_for_courses.course_id = members.course_id
WHERE members.course_id = #{@course.id} ORDER BY #{sort_type} #{score_sort_by}"
+ elsif groupid == -1
+ sql_select = "SELECT members.*,(
+ SELECT SUM(student_works.work_score)
+ FROM student_works,homework_commons
+ WHERE student_works.homework_common_id = homework_commons.id
+ AND homework_commons.course_id = #{@course.id}
+ AND student_works.user_id = members.user_id
+ ) AS score,(SELECT max(message_num*2 + message_reply_num*1 + news_reply_num*1 + news_num*1 +
+ resource_num*5 + journal_num*1 + homework_journal_num*1 ) FROM `course_contributor_scores` AS ccs WHERE ccs.course_id = #{@course.id} AND ccs.user_id = members.user_id
+ ) AS act_score,(SELECT SUM(exercise_users.score) FROM exercise_users,exercises WHERE exercise_users.exercise_id = exercises.id
+ AND exercises.course_id = #{@course.id} AND exercise_users.user_id = members.user_id) AS ex_score,
+ (SELECT max(student_id) FROM user_extensions WHERE user_extensions.user_id = members.user_id) AS student_id,
+ (SELECT max(message_num) FROM course_contributor_scores AS ccs WHERE ccs.course_id = #{@course.id} AND ccs.user_id = members.user_id) AS message_num,
+ (SELECT max(message_reply_num) FROM course_contributor_scores AS ccs WHERE ccs.course_id = #{@course.id} AND ccs.user_id = members.user_id) AS message_reply_num,
+ (SELECT max(news_reply_num) FROM course_contributor_scores AS ccs WHERE ccs.course_id = #{@course.id} AND ccs.user_id = members.user_id) AS news_reply_num,
+ (SELECT max(news_num) FROM course_contributor_scores AS ccs WHERE ccs.course_id = #{@course.id} AND ccs.user_id = members.user_id) AS news_num,
+ (SELECT max(resource_num) FROM course_contributor_scores AS ccs WHERE ccs.course_id = #{@course.id} AND ccs.user_id = members.user_id) AS resource_num,
+ (SELECT max(journal_num) FROM course_contributor_scores AS ccs WHERE ccs.course_id = #{@course.id} AND ccs.user_id = members.user_id) AS journal_num,
+ (SELECT max(homework_journal_num) FROM course_contributor_scores AS ccs WHERE ccs.course_id = #{@course.id} AND ccs.user_id = members.user_id) AS homework_journal_num,
+ (SELECT COUNT(ss.id) FROM student_works AS ss ,homework_commons AS hc WHERE ss.homework_common_id = hc.id AND hc.course_id = #{@course.id} AND ss.work_status != 0 AND ss.user_id = members.user_id) AS homework_num,
+ (SELECT COUNT(eu.id) FROM exercise_users AS eu,exercises WHERE eu.exercise_id = exercises.id AND exercises.course_id = #{@course.id} AND exercises.end_time >= eu.created_at AND eu.user_id = members.user_id) AS exercise_num
+ FROM members
+ JOIN students_for_courses
+ ON students_for_courses.student_id = members.user_id AND students_for_courses.course_id = members.course_id
+ WHERE members.course_id = #{@course.id} AND members.course_group_id = 0 ORDER BY #{sort_type} #{score_sort_by}"
else
sql_select = "SELECT members.*,(
SELECT SUM(student_works.work_score)
@@ -1247,7 +1336,18 @@ class CoursesController < ApplicationController
AND student_works.user_id = members.user_id
) AS score,(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 ) FROM `course_contributor_scores` AS ccs WHERE ccs.course_id = #{@course.id} AND ccs.user_id = members.user_id
- ) AS act_score
+ ) AS act_score,(SELECT SUM(exercise_users.score) FROM exercise_users,exercises WHERE exercise_users.exercise_id = exercises.id
+ AND exercises.course_id = #{@course.id} AND exercise_users.user_id = members.user_id) AS ex_score,
+ (SELECT max(student_id) FROM user_extensions WHERE user_extensions.user_id = members.user_id) AS student_id,
+ (SELECT max(message_num) FROM course_contributor_scores AS ccs WHERE ccs.course_id = #{@course.id} AND ccs.user_id = members.user_id) AS message_num,
+ (SELECT max(message_reply_num) FROM course_contributor_scores AS ccs WHERE ccs.course_id = #{@course.id} AND ccs.user_id = members.user_id) AS message_reply_num,
+ (SELECT max(news_reply_num) FROM course_contributor_scores AS ccs WHERE ccs.course_id = #{@course.id} AND ccs.user_id = members.user_id) AS news_reply_num,
+ (SELECT max(news_num) FROM course_contributor_scores AS ccs WHERE ccs.course_id = #{@course.id} AND ccs.user_id = members.user_id) AS news_num,
+ (SELECT max(resource_num) FROM course_contributor_scores AS ccs WHERE ccs.course_id = #{@course.id} AND ccs.user_id = members.user_id) AS resource_num,
+ (SELECT max(journal_num) FROM course_contributor_scores AS ccs WHERE ccs.course_id = #{@course.id} AND ccs.user_id = members.user_id) AS journal_num,
+ (SELECT max(homework_journal_num) FROM course_contributor_scores AS ccs WHERE ccs.course_id = #{@course.id} AND ccs.user_id = members.user_id) AS homework_journal_num,
+ (SELECT COUNT(ss.id) FROM student_works AS ss ,homework_commons AS hc WHERE ss.homework_common_id = hc.id AND hc.course_id = #{@course.id} AND ss.work_status != 0 AND ss.user_id = members.user_id) AS homework_num,
+ (SELECT COUNT(eu.id) FROM exercise_users AS eu,exercises WHERE eu.exercise_id = exercises.id AND exercises.course_id = #{@course.id} AND exercises.end_time >= eu.created_at AND eu.user_id = members.user_id) AS exercise_num
FROM members
JOIN students_for_courses
ON students_for_courses.student_id = members.user_id AND students_for_courses.course_id = members.course_id
@@ -1284,25 +1384,32 @@ class CoursesController < ApplicationController
#sheet1.row(0).default_format = blue
#sheet1.row(0).concat([l(:excel_user_id),l(:excel_user_name),l(:excel_nickname),l(:excel_student_id),l(:excel_mail),l(:excel_class),l(:excel_f_score),l(:excel_commit_time)])
sheet1[0,0] = "课程编号"
- sheet1[0,1] = course.id
- sheet1[1,0] = "课程学期"
- sheet1[1,1] = course.time.to_s+"年"+course.term
- sheet1[2,0] = "课程名称"
- sheet1[2,1] = course.name
- sheet1[3,0] = "教师团队"
- sheet1[3,1] = (searchTeacherAndAssistant course).map{|member| member.user.show_name}.join('、')
- sheet1[4,0] = "主讲教师"
- sheet1[4,1] = course.teacher.show_name
- sheet1[5,0] = "排名"
- sheet1[5,1] = "学生姓名"
- sheet1[5,2] = "昵称"
- sheet1[5,3] = "学号"
+ sheet1[0,1] = course.syllabus.id
+ sheet1[1,0] = "课程名称"
+ sheet1[1,1] = course.syllabus.title
+ sheet1[2,0] = "班级编号"
+ sheet1[2,1] = course.id
+ sheet1[3,0] = "班级学期"
+ sheet1[3,1] = course.time.to_s+"年"+course.term
+ sheet1[4,0] = "班级名称"
+ sheet1[4,1] = course.name
+ sheet1[5,0] = "教师团队"
+ sheet1[5,1] = (searchTeacherAndAssistant course).map{|member| member.user.show_name}.join('、')
+ sheet1[6,0] = "主讲教师"
+ sheet1[6,1] = course.teacher.show_name
+ sheet1[7,0] = "排名"
+ sheet1[7,1] = "学生姓名"
+ sheet1[7,2] = "昵称"
+ sheet1[7,3] = "学号"
for i in 0 ... homeworks.count
- sheet1[5,i+4] = "第"+(i+1).to_s+"次"
- end
- sheet1[5,homeworks.count+4] = "总成绩"
- sheet1[5,homeworks.count+5] = "活跃度"
- count_row = 6
+ sheet1[7,i+4] = "第"+(i+1).to_s+"次"
+ end
+ sheet1[7,homeworks.count+4] = "作业得分"
+ sheet1[7,homeworks.count+5] = "测评得分"
+ sheet1[7,homeworks.count+6] = "社区得分"
+ sheet1[7,homeworks.count+7] = "总得分"
+ sheet1[7,homeworks.count+8] = "分班"
+ count_row = 8
members.each_with_index do |member, i|
sheet1[count_row,0]= i+1
sheet1[count_row,1] = member.user.lastname.to_s + member.user.firstname.to_s
@@ -1318,36 +1425,47 @@ class CoursesController < ApplicationController
sheet1[count_row,j+4] = score <0 ? 0:score.round(2)
end
end
- sheet1[count_row,homeworks.count+4] = member.score.nil? ? 0:member.score.round(2)
- sheet1[count_row,homeworks.count+5] = member.act_score.nil? ? 0:member.act_score
+ hw_score = member.score.nil? ? 0 : member.score
+ ex_score = member.ex_score.nil? ? 0 : member.ex_score
+ act_score = member.act_score.nil? ? 0 : member.act_score
+ sum = hw_score + ex_score + act_score
+ sheet1[count_row,homeworks.count+4] = hw_score.round(2)
+ sheet1[count_row,homeworks.count+5] = ex_score
+ sheet1[count_row,homeworks.count+6] = act_score
+ sheet1[count_row,homeworks.count+7] = sum.round(2)
+ sheet1[count_row,homeworks.count+8] = member.course_group_id == 0 ? "暂无" : member.course_group.name
count_row += 1
end
homeworks.each_with_index do |home, i|
sheet = book.create_worksheet :name => "第#{i+1}次作业"
sheet[0,0] = "课程编号"
- sheet[0,1] = course.id
- sheet[1,0] = "课程学期"
- sheet[1,1] = course.time.to_s+"年"+course.term
- sheet[2,0] = "课程名称"
- sheet[2,1] = course.name
- sheet[3,0] = "教师团队"
- sheet[3,1] = (searchTeacherAndAssistant course).map{|member| member.user.show_name}.join('、')
- sheet[4,0] = "主讲教师"
- sheet[4,1] = course.teacher.show_name
- sheet[4,0] = "作业批次"
- sheet[4,1] = "第#{i+1}次作业"
- sheet[4,0] = "作业名称"
- sheet[4,1] = home.name
+ sheet[0,1] = course.syllabus.id
+ sheet[1,0] = "课程名称"
+ sheet[1,1] = course.syllabus.title
+ sheet[2,0] = "班级编号"
+ sheet[2,1] = course.id
+ sheet[3,0] = "班级学期"
+ sheet[3,1] = course.time.to_s+"年"+course.term
+ sheet[4,0] = "班级名称"
+ sheet[4,1] = course.name
+ sheet[5,0] = "教师团队"
+ sheet[5,1] = (searchTeacherAndAssistant course).map{|member| member.user.show_name}.join('、')
+ sheet[6,0] = "主讲教师"
+ sheet[6,1] = course.teacher.show_name
+ sheet[6,0] = "作业批次"
+ sheet[6,1] = "第#{i+1}次作业"
+ sheet[6,0] = "作业名称"
+ sheet[6,1] = home.name
if home.homework_type == 1 #普通作业
if home.anonymous_comment ==0
- sheet.row(5).concat([l(:excel_rank),l(:excel_user_name),l(:excel_nickname),l(:excel_student_id),l(:excel_homework_name),l(:excel_homework_des),
+ sheet.row(7).concat([l(:excel_rank),l(:excel_user_name),l(:excel_nickname),l(:excel_student_id),l(:excel_homework_name),l(:excel_homework_des),
l(:excel_t_score),l(:excel_ta_score), l(:excel_n_score),l(:excel_a_penalty),l(:excel_l_penalty),l(:excel_f_score),l(:excel_commit_time)])
else
- sheet.row(5).concat([l(:excel_rank),l(:excel_user_name),l(:excel_nickname),l(:excel_student_id),l(:excel_homework_name),l(:excel_homework_des),
+ sheet.row(7).concat([l(:excel_rank),l(:excel_user_name),l(:excel_nickname),l(:excel_student_id),l(:excel_homework_name),l(:excel_homework_des),
l(:excel_t_score),l(:excel_ta_score),l(:excel_l_penalty),l(:excel_f_score),l(:excel_commit_time)])
end
- count_row = 6
+ count_row = 8
items = home.student_works.order("work_score desc")
items.each_with_index do |stu, j|
sheet[count_row,0]= j + 1
@@ -1373,13 +1491,13 @@ class CoursesController < ApplicationController
end
elsif home.homework_type == 2 #编程作业
if home.anonymous_comment ==0
- sheet.row(5).concat([l(:excel_rank),l(:excel_user_name),l(:excel_nickname),l(:excel_student_id),l(:excel_homework_name),l(:excel_homework_des),
+ sheet.row(7).concat([l(:excel_rank),l(:excel_user_name),l(:excel_nickname),l(:excel_student_id),l(:excel_homework_name),l(:excel_homework_des),
l(:excel_t_score),l(:excel_ta_score), l(:excel_s_score),l(:excel_n_score),l(:excel_a_penalty),l(:excel_l_penalty),l(:excel_f_score),l(:excel_commit_time)])
else
- sheet.row(5).concat([l(:excel_rank),l(:excel_user_name),l(:excel_nickname),l(:excel_student_id),l(:excel_homework_name),l(:excel_homework_des),
+ sheet.row(7).concat([l(:excel_rank),l(:excel_user_name),l(:excel_nickname),l(:excel_student_id),l(:excel_homework_name),l(:excel_homework_des),
l(:excel_t_score),l(:excel_ta_score), l(:excel_s_score),l(:excel_l_penalty),l(:excel_f_score),l(:excel_commit_time)])
end
- count_row = 6
+ count_row = 8
items = home.student_works.order("work_score desc")
items.each_with_index do |stu, j|
sheet[count_row,0]= j + 1
@@ -1406,13 +1524,13 @@ class CoursesController < ApplicationController
end
elsif home.homework_type == 3 #分组作业
if home.anonymous_comment ==0
- sheet.row(5).concat([l(:excel_rank),l(:excel_group_member),l(:excel_homework_name),l(:excel_homework_project),l(:excel_homework_des),
+ sheet.row(7).concat([l(:excel_rank),l(:excel_group_member),l(:excel_homework_name),l(:excel_homework_project),l(:excel_homework_des),
l(:excel_t_score),l(:excel_ta_score),l(:excel_n_score),l(:excel_a_penalty),l(:excel_l_penalty),l(:excel_f_score),l(:excel_commit_time)])
else
- sheet.row(5).concat([l(:excel_rank),l(:excel_group_member),l(:excel_homework_name),l(:excel_homework_project),l(:excel_homework_des),
+ sheet.row(7).concat([l(:excel_rank),l(:excel_group_member),l(:excel_homework_name),l(:excel_homework_project),l(:excel_homework_des),
l(:excel_t_score),l(:excel_ta_score),l(:excel_l_penalty),l(:excel_f_score),l(:excel_commit_time)])
end
- count_row = 6
+ count_row = 8
items = home.student_works.order("work_score desc")
items.each_with_index do |stu, j|
sheet[count_row,0] = j + 1
diff --git a/app/controllers/homework_common_controller.rb b/app/controllers/homework_common_controller.rb
index 4511e5a1f..9fe29746e 100644
--- a/app/controllers/homework_common_controller.rb
+++ b/app/controllers/homework_common_controller.rb
@@ -146,7 +146,7 @@ class HomeworkCommonController < ApplicationController
@homework_detail_group = @homework.homework_detail_group
@homework_detail_group.min_num = params[:min_num].to_i if params[:min_num]
@homework_detail_group.max_num = params[:max_num].to_i if params[:max_num]
- @homework_detail_group.base_on_project = params[:base_on_project].to_i if params[:base_on_project]
+ @homework_detail_group.base_on_project = params[:base_on_project] ? 1 : 0
end
@homework.anonymous_comment = params[:homework_common][:anonymous_comment] ? params[:homework_common][:anonymous_comment].to_i : 1
@@ -202,24 +202,24 @@ class HomeworkCommonController < ApplicationController
if @homework_detail_manual.comment_status == 1
student_works = @homework.student_works.has_committed
if student_works && student_works.size >= 2
- if @homework.homework_type == 3
- student_work_projects = @homework.student_work_projects.where("student_work_id is not null")
- student_work_projects.each_with_index do |pro_work, pro_index|
- n = @homework_detail_manual.evaluation_num
- n = n < student_works.size ? n : student_works.size - 1
- work_index = -1
- student_works.each_with_index do |stu_work, stu_index|
- if stu_work.id.to_i == pro_work.student_work_id.to_i
- work_index = stu_index
- end
- end
- assigned_homeworks = get_assigned_homeworks(student_works, n, work_index)
- assigned_homeworks.each do |h|
- student_works_evaluation_distributions = StudentWorksEvaluationDistribution.new(user_id: pro_work.user_id, student_work_id: h.id)
- student_works_evaluation_distributions.save
- end
- end
- else
+ # if @homework.homework_type == 3
+ # student_work_projects = @homework.student_work_projects.where("student_work_id is not null")
+ # student_work_projects.each_with_index do |pro_work, pro_index|
+ # n = @homework_detail_manual.evaluation_num
+ # n = n < student_works.size ? n : student_works.size - 1
+ # work_index = -1
+ # student_works.each_with_index do |stu_work, stu_index|
+ # if stu_work.id.to_i == pro_work.student_work_id.to_i
+ # work_index = stu_index
+ # end
+ # end
+ # assigned_homeworks = get_assigned_homeworks(student_works, n, work_index)
+ # assigned_homeworks.each do |h|
+ # student_works_evaluation_distributions = StudentWorksEvaluationDistribution.new(user_id: pro_work.user_id, student_work_id: h.id)
+ # student_works_evaluation_distributions.save
+ # end
+ # end
+ # else
student_works.each_with_index do |work, index|
user = work.user
n = @homework_detail_manual.evaluation_num
@@ -230,7 +230,7 @@ class HomeworkCommonController < ApplicationController
student_works_evaluation_distributions.save
end
end
- end
+ #end
@homework_detail_manual.update_column('comment_status', 2)
@homework_detail_manual.update_column('evaluation_start', Date.today)
@statue = 1
@@ -255,11 +255,28 @@ class HomeworkCommonController < ApplicationController
@homework_detail_manual.update_column('evaluation_end', Date.today)
#计算缺评扣分
work_ids = "(" + @homework.student_works.has_committed.map(&:id).join(",") + ")"
- @homework.student_works.has_committed.each do |student_work|
- 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}").count
- student_work.absence_penalty = absence_penalty_count > 0 ? absence_penalty_count * @homework_detail_manual.absence_penalty : 0
- student_work.save
+ if @homework.homework_type != 3
+ @homework.student_works.has_committed.each do |student_work|
+ 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}").count
+ student_work.absence_penalty = absence_penalty_count > 0 ? absence_penalty_count * @homework_detail_manual.absence_penalty : 0
+ student_work.save
+ end
+ else
+ @homework.student_works.has_committed.each do |student_work|
+ 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}").count
+ student_work.absence_penalty = absence_penalty_count > 0 ? absence_penalty_count * @homework_detail_manual.absence_penalty : 0
+ student_work.save
+ if student_work.absence_penalty != 0
+ pros = student_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}")
+ student_works.each do |st_work|
+ st_work.update_attribute("absence_penalty", student_work.absence_penalty)
+ end
+ end
+ end
end
+
# 匿评关闭消息邮件通知
send_message_anonymous_comment(@homework, m_status = 3)
Mailer.send_mail_anonymous_comment_close(@homework).deliver
diff --git a/app/controllers/messages_controller.rb b/app/controllers/messages_controller.rb
index 5731244c3..226d24afa 100644
--- a/app/controllers/messages_controller.rb
+++ b/app/controllers/messages_controller.rb
@@ -47,6 +47,9 @@ class MessagesController < ApplicationController
all_comments = []
@replies = get_all_children(all_comments, @topic)
@reply_count = @replies.count
+ @page = params[:page] ? params[:page].to_i + 1 : 0
+ @limit = 10
+ @replies = @replies[@page * @limit..@page * @limit + 9]
@reply = Message.new(:subject => "RE: #{@message.subject}")
if @course
#@replies = @topic.children.
@@ -57,7 +60,11 @@ class MessagesController < ApplicationController
#all
#@replies = paginateHelper messages_replies,10
@left_nav_type = 2
- render :action => "show", :layout => "base_courses"#by young
+ respond_to do |format|
+ format.js
+ format.html {render :layout => 'base_courses'}
+ end
+ #render :action => "show", :layout => "base_courses"#by young
elsif @project
#@reply_pages = Paginator.new @reply_count, REPLIES_PER_PAGE, page
# @replies = @topic.children.
@@ -66,8 +73,10 @@ class MessagesController < ApplicationController
# limit(@reply_pages.per_page).
# offset(@reply_pages.offset).
# all
-
- render :action => "show", :layout => "base_projects"#by young
+ respond_to do |format|
+ format.js
+ format.html {render :layout => 'base_projects'}
+ end
else
# @reply_pages = Paginator.new @reply_count, REPLIES_PER_PAGE, page
# @replies = @topic.children.
@@ -78,7 +87,10 @@ class MessagesController < ApplicationController
# all
@organization = @org_subfield.organization
- render :action => "show", :layout => "base_org"#by young
+ respond_to do |format|
+ format.js
+ format.html {render :layout => 'base_org'}
+ end
end
end
diff --git a/app/controllers/news_controller.rb b/app/controllers/news_controller.rb
index 660e4d76c..07a3ba393 100644
--- a/app/controllers/news_controller.rb
+++ b/app/controllers/news_controller.rb
@@ -171,6 +171,10 @@ class NewsController < ApplicationController
result = cs.show_course_news params,User.current
@news = result[:news]
@comments = result[:comments]
+ @comments_count = @comments.count
+ @page = params[:page] ? params[:page].to_i + 1 : 0
+ @limit = 10
+ @comments = @comments[@page * @limit..@page * @limit + 9]
@comment = Comment.new
#@comments = @news.comments
#@comments.reverse! if User.current.wants_comments_in_reverse_order?
@@ -179,12 +183,23 @@ class NewsController < ApplicationController
@course = Course.find(@news.course_id)
if @course
@left_nav_type = 4
- render :layout => 'base_courses'
+ respond_to do |format|
+ format.js
+ format.html {render :layout => 'base_courses'}
+ end
+ end
+ elsif @project
+ respond_to do |format|
+ format.js
+ format.html {render :layout => 'base_projects'}
end
elsif @news.org_subfield_id
@org_subfield = OrgSubfield.find(@news.org_subfield_id)
@organization = @org_subfield.organization
- render :layout => 'base_org'
+ respond_to do |format|
+ format.js
+ format.html {render :layout => 'base_org'}
+ end
end
end
diff --git a/app/controllers/syllabus_member_controller.rb b/app/controllers/syllabus_member_controller.rb
index ac686c0a2..b6da3290e 100644
--- a/app/controllers/syllabus_member_controller.rb
+++ b/app/controllers/syllabus_member_controller.rb
@@ -45,12 +45,12 @@ class SyllabusMemberController < ApplicationController
member = SyllabusMember.find(params[:id])
@syllabus = member.syllabus
members = @syllabus.syllabus_members
- if params[:opr] == 'up' && member.rank > 2
+ if params[:opr] == 'up' && member.rank > 1
before_mem = members.where("rank = #{member.rank - 1}").first
if before_mem && member.update_attribute('rank', member.rank - 1)
before_mem.update_attribute('rank', before_mem.rank + 1)
end
- elsif params[:opr] == 'down' && member.rank > 1 && member.rank < members.count
+ elsif params[:opr] == 'down' && member.rank < members.count
after_mem = members.where("rank = #{member.rank + 1}").first
if after_mem && member.update_attribute('rank', member.rank + 1)
after_mem.update_attribute('rank', after_mem.rank - 1)
diff --git a/app/controllers/syllabuses_controller.rb b/app/controllers/syllabuses_controller.rb
index f0d1254bc..a6b11cfbf 100644
--- a/app/controllers/syllabuses_controller.rb
+++ b/app/controllers/syllabuses_controller.rb
@@ -33,6 +33,8 @@ class SyllabusesController < ApplicationController
@syllabus.user_id = User.current.id
@syllabus.description = Message.where("id = 19412").first.nil? ? '' : Message.where("id = 19412").first.content
if @syllabus && @syllabus.save
+ member = SyllabusMember.create(:user_id => @syllabus.user_id, :rank => 1)
+ @syllabus.syllabus_members << member
respond_to do |format|
flash[:notice] = l(:notice_successful_create)
format.html {redirect_to syllabus_path(@syllabus)}
diff --git a/app/controllers/users_controller.rb b/app/controllers/users_controller.rb
index 87dc127a0..78c60599a 100644
--- a/app/controllers/users_controller.rb
+++ b/app/controllers/users_controller.rb
@@ -625,7 +625,7 @@ class UsersController < ApplicationController
visible_course_ids = visible_course.empty? ? "(-1)" : "(" + visible_course.map{|course| course.id}.join(",") + ")"
@homeworks = HomeworkCommon.where("course_id in #{visible_course_ids} and publish_time <= '#{Date.today}'").order("#{@order} #{@b_sort}")
end
- @type = params[:type]
+ @type = params[:type] ? params[:type] : '1'
@limit = 10
@is_remote = true
@hw_count = @homeworks.count
@@ -808,7 +808,7 @@ class UsersController < ApplicationController
#@homeworks = @homeworks.where("homework_type = 3").reorder("#{@order} #{@b_sort}")
end
end
- @type = params[:type]
+ @type = params[:type] ? params[:type] : '1'
@property = params[:property]
@is_import = params[:is_import]
@limit = params[:is_import].to_i == 1 ? 15 : 10
@@ -1033,7 +1033,7 @@ class UsersController < ApplicationController
update_org_activity(homework.class,homework.id)
flash[:notice] = l(:notice_successful_create)
- redirect_to student_work_index_url(:homework => params[:homework])
+ redirect_to student_work_index_url(:homework => params[:homework], :tab => 2)
else
render_403
end
@@ -3200,6 +3200,7 @@ class UsersController < ApplicationController
ori = Attachment.find_by_id(send_id)
# 如果该附件已经存课程中,则只更新附件创建时间
mul_container.attachments.each do |att|
+ @exist = false
if att.id == ori.id || (!att.copy_from.nil? && !ori.copy_from.nil? && att.copy_from == ori.copy_from) || att.copy_from == ori.id || att.id == ori.copy_from
att.created_on = Time.now
att.save
diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb
index 6215a79d0..6474a0eae 100644
--- a/app/helpers/application_helper.rb
+++ b/app/helpers/application_helper.rb
@@ -2280,6 +2280,8 @@ module ApplicationHelper
candown = true
elsif attachment.container.class.to_s=="Memo" #论坛资源允许下载
candown = true
+ elsif attachment.container.class.to_s=="Syllabus" #论坛资源允许下载
+ candown = true
elsif attachment.container.class.to_s == "User"
candown = (attachment.is_public == 1 || attachment.is_public == true || attachment.author_id == User.current.id)
elsif attachment.container_type == "Bid" && attachment.container && attachment.container.courses
@@ -2829,7 +2831,7 @@ module ApplicationHelper
link_to "补交作品(#{count})", new_student_work_url_without_domain(homework.id),:class => 'c_red'
end
else
- if homework.homework_detail_manual && homework.homework_detail_manual.comment_status == 2 && StudentWorksEvaluationDistribution.where("student_work_id = #{work.id}").count > 0 #匿评作业,且作业状态不是在开启匿评之前
+ if homework.homework_detail_manual && homework.homework_detail_manual.comment_status == 2 && StudentWorksEvaluationDistribution.where("student_work_id = #{work.id}").count > 0 && work.user_id == User.current.id #匿评作业,且作业状态不是在开启匿评之前
link_to "作品匿评", student_work_index_url_in_org(homework.id, 2), :class => 'c_blue', :title => "开启匿评后不可修改作品"
elsif homework.homework_detail_manual && homework.homework_detail_manual.comment_status == 3
link_to "查看作品(#{count})",student_work_index_url_in_org(homework.id, 2), :class => 'c_blue', :title => "匿评已结束"
@@ -3311,17 +3313,32 @@ def get_reply_parents_no_root parents_rely, comment
parents_rely
end
+def get_all_children_ex result, jour
+ if jour.kind_of? Message
+ jour.children.includes(:author, :praise_tread_cache).each do |jour_child|
+ result << jour_child
+ get_all_children_ex result, jour_child
+ end
+ elsif (jour.kind_of? JournalsForMessage) || (jour.kind_of? BlogComment) || (jour.kind_of? OrgDocumentComment)
+ jour.children.each do |jour_child|
+ result << jour_child
+ get_all_children_ex result, jour_child
+ end
+ end
+ result
+end
+
#获取所有子节点
def get_all_children result, jour
if jour.kind_of? Message
jour.children.includes(:author, :praise_tread_cache).each do |jour_child|
result << jour_child
- get_all_children result, jour_child
+ get_all_children_ex result, jour_child
end
elsif (jour.kind_of? JournalsForMessage) || (jour.kind_of? BlogComment) || (jour.kind_of? OrgDocumentComment)
jour.children.each do |jour_child|
result << jour_child
- get_all_children result, jour_child
+ get_all_children_ex result, jour_child
end
end
if jour.respond_to?(:created_on)
@@ -3563,7 +3580,9 @@ def get_group_member_names work
end
def course_syllabus_option user = User.current
- syllabuses = user.syllabuses
+ syllabus_members = SyllabusMember.where("user_id = #{user.id}")
+ syllabus_ids = syllabus_members.empty? ? "(-1)" : "(" + syllabus_members.map{|mem| mem.syllabus_id}.join(',') + ")"
+ syllabuses = Syllabus.where("id in #{syllabus_ids}")
type = []
option1 = []
option1 << "请选择课程"
diff --git a/app/models/student_work.rb b/app/models/student_work.rb
index a3f692341..a33200b3b 100644
--- a/app/models/student_work.rb
+++ b/app/models/student_work.rb
@@ -1,6 +1,6 @@
#学生提交作品表 #work_status :0 未提交 1 已提交 2 迟交 3 分组作品复制的组员作品
class StudentWork < ActiveRecord::Base
- attr_accessible :name, :description, :homework_common_id, :user_id, :final_score, :teacher_score, :student_score, :teaching_asistant_score, :system_score, :work_score, :project_id, :is_test, :simi_id, :simi_value, :work_status, :commit_time
+ attr_accessible :name, :description, :homework_common_id, :user_id, :final_score, :teacher_score, :student_score, :teaching_asistant_score, :system_score, :work_score, :project_id, :is_test, :simi_id, :simi_value, :work_status, :commit_time, :late_penalty, :absence_penalty
belongs_to :homework_common
belongs_to :user
diff --git a/app/models/user.rb b/app/models/user.rb
index c1a830809..3386836ed 100644
--- a/app/models/user.rb
+++ b/app/models/user.rb
@@ -853,6 +853,13 @@ class User < Principal
OrgMember.where("user_id =? and organization_id =?", self.id, org.id).count > 0
end
+ def member_of_syl?(syllabus)
+ if !self.logged?
+ return false
+ end
+ SyllabusMember.where("user_id =? and syllabus_id =?", self.id, syllabus.id).count > 0
+ end
+
def admin_of_org?(org)
if self.admin?
return true
diff --git a/app/services/courses_service.rb b/app/services/courses_service.rb
index b97fa1a64..69864f226 100644
--- a/app/services/courses_service.rb
+++ b/app/services/courses_service.rb
@@ -418,7 +418,7 @@ class CoursesService
course.send(:safe_attributes=, params[:course], current_user)
#course.safe_attributes = params[:course]
#course.password = params[:course][:password]
- course.syllabus_id = params[:syllabus_id].to_i
+ #course.syllabus_id = params[:syllabus_id].to_i
course.time = params[:time]
course.term = params[:term]
course.end_time = params[:end_time]
diff --git a/app/views/admin/homework.html.erb b/app/views/admin/homework.html.erb
index 03472d0a0..aaf21999d 100644
--- a/app/views/admin/homework.html.erb
+++ b/app/views/admin/homework.html.erb
@@ -38,11 +38,13 @@
<%=link_to(homework.try(:name), student_work_index_path(:homework => homework.id))%>
- <% if homework.course %>
-
- <%= link_to(homework.course.name, course_path(homework.course.id)) %>
+
+
+ <% if homework.course %>
+ <%= link_to homework.course.name, course_path(homework.course.id) %>
+ <% end %>
- <% end %>
+
<%= homework.try(:user)%><% else %><%=homework.try(:user).try(:realname) %><% end %>'>
<% if homework.try(:user).try(:realname) == ' '%>
<%= link_to(homework.try(:user), user_path(homework.user_id)) %>
diff --git a/app/views/blog_comments/show.html.erb b/app/views/blog_comments/show.html.erb
index 45a621816..7143e980b 100644
--- a/app/views/blog_comments/show.html.erb
+++ b/app/views/blog_comments/show.html.erb
@@ -106,7 +106,8 @@
<% all_comments = []%>
- <% count=get_all_children(all_comments, @article).count %>
+ <% all_replies = get_all_children(all_comments, @article) %>
+ <% count= all_replies.count %>
- <% all_comments = []%>
- <% comments = get_all_children(all_comments, @article) %>
+ <% comments = all_replies %>
<% if count > 0 %>
<% comments.each do |comment| %>
diff --git a/app/views/blogs/_homepage.html.erb b/app/views/blogs/_homepage.html.erb
index a076ed15c..6e45fdd88 100644
--- a/app/views/blogs/_homepage.html.erb
+++ b/app/views/blogs/_homepage.html.erb
@@ -46,12 +46,12 @@
<% all_comments = []%>
- <% count=get_all_children(all_comments, activity).count %>
+ <% all_repies = get_all_children(all_comments, activity) %>
+ <% count = all_repies.count %>
<%= render :partial => 'users/reply_banner', :locals => {:count => count, :activity => activity, :user_activity_id => user_activity_id, :homepage => 1} %>
- <% all_comments = []%>
- <% comments = get_all_children(all_comments, activity)[0..2] %>
+ <% comments = all_repies[0..2] %>
<% if count > 0 %>
<%= render :partial => 'users/message_replies', :locals => {:comments => comments, :user_activity_id => user_activity_id, :type => 'BlogComment', :activity_id =>activity.id, :homepage => 1, :user_id => activity.author_id}%>
diff --git a/app/views/calendars/show.html.erb b/app/views/calendars/show.html.erb
index 05ce3bcac..408a6f8e6 100644
--- a/app/views/calendars/show.html.erb
+++ b/app/views/calendars/show.html.erb
@@ -36,5 +36,5 @@
<% html_title(l(:label_calendar)) -%>
diff --git a/app/views/courses/_course_student.html.erb b/app/views/courses/_course_student.html.erb
index 8da3987a8..59c0dc641 100644
--- a/app/views/courses/_course_student.html.erb
+++ b/app/views/courses/_course_student.html.erb
@@ -1,10 +1,10 @@
-
-
+
+
<%= render :partial => 'searchmembers' %>
-
+
<%= render :partial => 'new_groups_name', :locals => {:course_groups => @course_groups} %>
@@ -12,5 +12,4 @@
<%= render :partial => 'new_member_list', :locals => {:members => members} %>
-
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/app/views/courses/_new_groups_name.html.erb b/app/views/courses/_new_groups_name.html.erb
index 6ffbb6dd2..24be067ba 100644
--- a/app/views/courses/_new_groups_name.html.erb
+++ b/app/views/courses/_new_groups_name.html.erb
@@ -1,56 +1,42 @@
- 分班:
-
+ 分班:
+
<%= link_to l(:label_all), searchgroupmembers_course_path(@course,:group_id => 0), :onclick => "checkclass('course_group_0')", method: 'get', remote: true%>
+
+ <%= link_to "未分班", searchgroupmembers_course_path(@course,:group_id => -1), :onclick => "checkclass('course_group_0')", method: 'get', remote: true, :class => 'fl mr5'%>
+ (<%=@no_group_count %>人)
+
<% unless course_groups.nil? %>
<% course_groups.each do |group| %>
- <% group_name = " #{ group.name}( #{group.members.count.to_s}人 )".html_safe %>
-
- <%= link_to group_name, searchgroupmembers_course_path(@course,:group_id => group.id), method: 'get', remote: true,:onclick => "checkclass('group_name_#{group.id}')"%>
+ <%# group_name = " #{ group.name}( #{group.members.count.to_s}人 )".html_safe %>
+
+ <%= link_to group.name, searchgroupmembers_course_path(@course,:group_id => group.id), class: 'fl mr5', method: 'get', remote: true,:onclick => "checkclass('group_name_#{group.id}')"%>
+ (<%=group.members.count.to_s %>人)
<% if @canShowCode%>
+
<% if group.members.empty?%>
<%= link_to '', deletegroup_course_path(:group_id => group.id), :method => 'delete', :remote => true,
:data => {confirm: l(:label_delete_group)},
- :class => 'f_1',
- :style => "width: 11px;height: 16px;margin-top:3px;margin-left:5px;background: url(/images/pic_del.gif) no-repeat 0 0;"
- %>
+ :class => 'sy_icons_del fl'
+ %>
<% else%>
-
-
-
+
<% end%>
-
-
-
- <% end %>
-
-
-
- <% if @canShowCode%>
- <%= form_tag(updategroupname_course_path(@course,:group_id => group.id), method: 'get', remote:true, :id => 'update_group_'+group.id.to_s) do %>
-
-
-
-
- <% end %>
<% end %>
<% end %>
- <% end %>
-
- <% if @canShowCode %>
-
- +添加分班
-
-
-
- <%= form_tag( addgroups_course_path(@course), method: 'get',:remote=>true,:id => 'add_group_name') do %>
-
-
- <% end %>
-
+
+ <% if @canShowCode%>
+
+ <%= form_tag(updategroupname_course_path(@course), method: 'get', remote:true, :id => 'update_group_form') do %>
+
+
+ 确定
+ 取消
+ <% end %>
+ <% end %>
<% end %>
\ No newline at end of file
diff --git a/app/views/courses/_new_member_list.html.erb b/app/views/courses/_new_member_list.html.erb
index 08df18175..681838599 100644
--- a/app/views/courses/_new_member_list.html.erb
+++ b/app/views/courses/_new_member_list.html.erb
@@ -1,123 +1,156 @@
-
-
- <% if User.current.logged? && User.current.member_of_course?(@course) && @group %>
- <%= join_in_course_group(@course.course_groups,@group, User.current) unless @canShowCode %>
-
- <%= l(:label_current_group)%>:
- <%= @group.name %>
-
- <% end %>
-
-
-
<% if members.any? %>
- <% if @result_count %>
-
- <%= l(:label_search_member_count) %>
- <%= @result_count %>
- <%= l(:label_member_people) %>
+
+
+
+ 序号
+ 姓名
+
+ <%= link_to '学号', member_score_sort_course_path(:sort_type => 'student_id', :sort_by => (@score_sort_by == "desc" ? "asc" : "desc"), :group_id => (@group ? (@group == -1 ? -1 : @group.id) : 0), :search_name => (@search_name ? @search_name : nil)), :result => members, method: 'get', remote: true, :style => 'color:#000000;'%>
+ <% if @sort_type == "student_id" && @score_sort_by == 'desc' %>
+
+ <% elsif @sort_type == "student_id" && @score_sort_by == 'asc' %>
+
+ <% end %>
+
+
+ <%= link_to '作业得分', member_score_sort_course_path(:sort_type => 'score', :sort_by => (@score_sort_by == "desc" ? "asc" : "desc"), :group_id => (@group ? (@group == -1 ? -1 : @group.id) : 0), :search_name => (@search_name ? @search_name : nil)), :result => members, method: 'get', remote: true, :style => 'color:#000000;'%>
+ <% if @sort_type == "score" && @score_sort_by == 'desc' %>
+
+ <% elsif @sort_type == "score" && @score_sort_by == 'asc' %>
+
+ <% end %>
+
+
+
+ <%= link_to '测评得分', member_score_sort_course_path(:sort_type => 'ex_score', :sort_by => (@score_sort_by == "desc" ? "asc" : "desc"), :group_id => (@group ? (@group == -1 ? -1 : @group.id) : 0), :search_name => (@search_name ? @search_name : nil)), :result => members, method: 'get', remote: true, :style => 'color:#000000;'%>
+ <% if @sort_type == "ex_score" && @score_sort_by == 'desc' %>
+
+ <% elsif @sort_type == "ex_score" && @score_sort_by == 'asc' %>
+
+ <% end %>
+
+
+
+ <%= link_to '社区得分', member_score_sort_course_path(:sort_type => 'act_score', :sort_by => (@score_sort_by == "desc" ? "asc" : "desc"), :group_id => (@group ? (@group == -1 ? -1 : @group.id) : 0),:search_name => (@search_name ? @search_name : nil)) ,:result => members,method: 'get', remote: true, :style => 'color:#000000;'%>
+ <% if @sort_type == "act_score" && @score_sort_by == 'desc' %>
+
+ <% elsif @sort_type == "act_score" && @score_sort_by == 'asc' %>
+
+ <% end %>
+
+
积分规则
+ 资源发布:资源数 x 5
+ 问答发布:发帖数 x 2
+ 通知发布:通知数 x 1
+ 问答回复:回复数 x 1
+ 作业留言:留言数 x 1
+ 通知留言:留言数 x 1
+ 班级留言:留言数 x 1
+ 总得分为以上得分之和
-
- <% end %>
-
-
-
- 姓名
- 学号
- <% unless @course.course_groups.empty? %>
- 分班
- <% end %>
-
- <%= link_to '英雄榜', member_score_sort_course_path(:sort_type => 'score', :sort_by => (@score_sort_by == "desc" ? "asc" : "desc"), :group_id => (@group ? @group.id : 0),:search_name => (@search_name ? @search_name : nil)) ,:result => members,method: 'get', remote: true, :class => 'ml35'%>
- <% if @sort_type == "score" && @score_sort_by == 'desc' %>
-
- <% elsif @sort_type == "score" && @score_sort_by == 'asc' %>
-
- <% end %>
-
-
- <%= link_to '活跃度', member_score_sort_course_path(:sort_type => 'act_score', :sort_by => (@score_sort_by == "desc" ? "asc" : "desc"), :group_id => (@group ? @group.id : 0),:search_name => (@search_name ? @search_name : nil)) ,:result => members,method: 'get', remote: true, :class => 'ml35'%>
- <% if @sort_type == "act_score" && @score_sort_by == 'desc' %>
-
- <% elsif @sort_type == "act_score" && @score_sort_by == 'asc' %>
-
- <% end %>
-
- 加入时间
-
-
-
- <% members.each do |member| %>
-
-
- <%= member.user.nil? ? '' : (image_tag(url_to_avatar(member.user), :width => 32, :height => 32)) %>
-
-
-
- <%= link_to("#{l(:label_bidding_user_studentname)}:#{member.user.show_name} ".html_safe,user_path(member.user)) %>
-
-
- <% unless member.user.user_extensions.student_id == ''%>
- <%= link_to("#{l(:label_bidding_user_studentcode)}:#{member.user.user_extensions.student_id} ".html_safe,user_path(member.user)) %>
- <% end%>
-
- <% unless @course.course_groups.empty? %>
- <% if User.current.allowed_to?(:as_teacher, @course) || User.current.admin? %>
- <% if @course.course_groups.nil? || @group %>
-
- <%=member.course_group_id == 0 ? "暂无" : member.course_group.name %>
-
- <% else %>
- <%= form_tag({:controller => 'courses', :action => 'teacher_assign_group', :id => @course.id,:user_id => member.user_id},:remote=>'true', :method => 'post', :id=>"join_group_form_#{member.id}", :class => 'query_form') do %>
-
<%=member.course_group_id == 0 ? "暂无" : member.course_group.name %>
-
-
- <%= select( :name,:group_id, course_group_option(@course),
- { :include_blank => false,:selected => member.course_group_id},
- {:onchange=>"join_group_function('#join_group_form_#{member.id}');", :id =>"course_group_id", :name => "course_group_id",:class=>"w125 undis class-edit fl", :style => "margin-left: 5px;"}) %>
- <% end %>
- <% end %>
- <% else %>
-
- <%=member.course_group_id == 0 ? "暂无" : member.course_group.name %>
-
- <% end %>
- <% end %>
- <%= link_to format("%0.2f",member.score.nil? ? 0 : member.score.to_s), {
- :action => 'show_member_score',
- :member_id => member.id,
- :remote => true},
- :class => "st_list_score c_red #{@course.course_groups.empty? ? 'ml130' : ''}" %>
- <%= link_to member.act_score.nil? ? 0 : member.act_score.to_s, {
- :action => 'show_member_act_score',
- :member_id => member.id,
- :remote => true},
- :class => 'st_list_score c_red' %>
-
<%= format_date(member.created_on)%>
- <%= call_hook(:view_projects_settings_members_table_row, { :course => @course, :member => member}) %>
+
+
+ 总得分
+
+
积分规则
+ 作业得分+测评得分+社区得分
+
+
+ 分班
+
+
+
+ <% members.each_with_index do |member, i| %>
+
+ <% user = member.user %>
+ <% hw_score = member.score.nil? ? 0 : member.score %>
+ <% ex_score = member.ex_score.nil? ? 0 : member.ex_score %>
+ <% act_score = member.act_score.nil? ? 0 : member.act_score %>
+ <% sum = hw_score + ex_score + act_score %>
+ <%= (@page - 1) * @limit + i + 1 %>
+
+ <%= link_to image_tag(url_to_avatar(user), :width => "30", :height => "30", :style => "display:block;"), user_path(member.user_id), :class => 'sy_class_users_st fl mt5 mr5' ,:alt => "用户头像" %>
+ <%= user.show_name %>
+
+
+ <%= user.user_extensions.student_id %>
+
+
+ <%= link_to format("%0.2f", hw_score), {
+ :action => 'show_member_score',
+ :member_id => member.id,
+ :remote => true},
+ :class => "" %>
+
+ <%= ex_score %>
+
+ <%= link_to act_score, {
+ :action => 'show_member_act_score',
+ :member_id => member.id,
+ :remote => true},
+ :class => '' %>
+
+
+ <%= format("%0.2f", sum) %>
+
+
+
+ <%= user.show_name %>
+ 资源 发布数:<%= member.resource_num.nil? ? 0 : member.resource_num %>
+ 问答 发布数:<%= member.message_num.nil? ? 0 : member.message_num %> 回复数:<%= member.message_reply_num.nil? ? 0 : member.message_reply_num %>
+ 通知 提交数:<%= member.news_num.nil? ? 0 : member.news_num %> 留言数:<%= member.news_reply_num.nil? ? 0 : member.news_reply_num %>
+ 作业 提交数:<%= member.homework_num.nil? ? 0 : member.homework_num %> 留言数:<%= member.homework_journal_num.nil? ? 0 : member.homework_journal_num %>
+ 班级 留言数:<%= member.journal_num.nil? ? 0 : member.journal_num %>
+ 测验 提交数:<%= member.exercise_num.nil? ? 0 : member.exercise_num %>
+
-
- <% end; reset_cycle %>
-
-
-
+
+
+ <% if User.current.allowed_to?(:as_teacher, @course) || User.current.admin? || User.current == user %>
+ <% if @course.course_groups.empty? %>
+ <%=member.course_group_id == 0 ? "暂无" : member.course_group.name %>
+ <% else %>
+ <%= form_tag({:controller => 'courses', :action => 'teacher_assign_group', :id => @course.id,:user_id => member.user_id},:remote=>'true', :method => 'post', :id=>"join_group_form_#{member.id}", :class => 'query_form') do %>
+
+
<%=member.course_group_id == 0 ? "暂无" : member.course_group.name %>
+
+
+ <%= select( :name,:group_id, course_group_option(@course),
+ { :include_blank => false,:selected => member.course_group_id},
+ {:onchange=>"join_group_function('#join_group_form_#{member.id}');", :id =>"course_group_id", :name => "course_group_id",:class=>"w100 undis class-edit sy_fenban_select", :style => "margin-left: 5px;"}) %>
+ <% end %>
+ <% end %>
+ <% else %>
+ <%=member.course_group_id == 0 ? "暂无" : member.course_group.name %>
+ <% end %>
+
+
+ <% end %>
+
+
+
+
+
+ <%= pagination_links_full @mem_pages, @members_count, :per_page_links => false, :remote => @is_remote, :flag => true, :is_new => true%>
+
+
+
+
<% else%>
-
- <%= l(:label_no_data) %>
-
-<% end%>
+
+ <%= l(:label_no_data) %>
+
+<% end %>
diff --git a/app/views/courses/_searchmembers.html.erb b/app/views/courses/_searchmembers.html.erb
index b864bfd8f..8c7f684df 100644
--- a/app/views/courses/_searchmembers.html.erb
+++ b/app/views/courses/_searchmembers.html.erb
@@ -1,11 +1,35 @@
-<%= form_tag( searchmembers_course_path(@course), method: 'get',:class => "f_l",:remote=>true,:id => "search_student") do %>
- <%= text_field_tag 'name', params[:name], name: "name", :class => 'st_search_input', :placeholder => '输入学生登录名、姓名、学号进行搜索'%>
- <% if @group %>
- <%= hidden_field "search_group_id", params[:search_group_id],:value => "#{@group.id}", name: 'search_group_id' %>
-
- <% else %>
-
+
+ <% if @canShowCode %>
+
添加分班
+
+ <%= form_tag( addgroups_course_path(@course), method: 'get',:remote=>true,:id => 'add_group_name') do %>
+
+
确定
+
取消
+ <% end %>
+
+ <% end %>
+
+ <%= form_tag( searchmembers_course_path(@course), method: 'get',:class => "f_l",:remote=>true,:id => "search_student") do %>
+
+ <% if @group %>
+ <%= hidden_field "search_group_id", params[:search_group_id],:value => "#{@group == -1 ? -1 : @group.id}", name: 'search_group_id' %>
+
+ <% else %>
+
+ <% end %>
<% end %>
-<% end %>
-
搜索
-<%= link_to l(:label_export_excel), export_course_member_excel_course_path(@course,:format => 'xls'),:class=>'xls'%>
\ No newline at end of file
+
+
+
+
+
\ No newline at end of file
diff --git a/app/views/courses/_tool_expand.html.erb b/app/views/courses/_tool_expand.html.erb
index 8f9530e35..e5fcd8314 100644
--- a/app/views/courses/_tool_expand.html.erb
+++ b/app/views/courses/_tool_expand.html.erb
@@ -45,7 +45,8 @@
<%= link_to( "", new_exercise_path(:course_id => @course.id), :class => 'sy_class_add', :title =>"新建试卷") if is_teacher %>
<% end %>
-<% if (User.current.logged? && @course.open_student == 1) || (User.current.member_of_course?(@course)) || User.current.admin? %>
+<% group_count = @course.course_groups.count %>
+<% if show_nav?(group_count) && ((User.current.logged? && @course.open_student == 1) || (User.current.member_of_course?(@course)) || User.current.admin?) %>
<%=link_to "分班", course_member_path(@course, :role => 2) %>
diff --git a/app/views/courses/addgroups.js.erb b/app/views/courses/addgroups.js.erb
index f0c0f4be3..494f26bae 100644
--- a/app/views/courses/addgroups.js.erb
+++ b/app/views/courses/addgroups.js.erb
@@ -1,2 +1,4 @@
$("#st_groups").html("<%= escape_javascript( render :partial => 'new_groups_name', locals: {:course_groups => @course_groups})%>");
-$("#member_content").html("<%= escape_javascript( render :partial => 'new_member_list', :locals => {:members => @members})%>");
\ No newline at end of file
+$("#member_content").html("<%= escape_javascript( render :partial => 'new_member_list', :locals => {:members => @members})%>");
+$('#group_name').val('');
+$('#new_group_name').hide();
\ No newline at end of file
diff --git a/app/views/courses/member.html.erb b/app/views/courses/member.html.erb
index 4eeef6d1a..2d2eecab1 100644
--- a/app/views/courses/member.html.erb
+++ b/app/views/courses/member.html.erb
@@ -1,17 +1,35 @@
-
-
-
<%= @subPage_title%>
- <% if User.current.allowed_to?(:as_teacher,@course) %>
-
- <%=link_to "成员管理", :controller => 'courses', :action => 'settings', :id => @course.id, :tab=>'member' %>
-
- <% end %>
+<% if @role.to_i == 1 %>
+
+
+
<%= @subPage_title%>
+ <% if User.current.allowed_to?(:as_teacher,@course) %>
+
+ <%=link_to "成员管理", :controller => 'courses', :action => 'settings', :id => @course.id, :tab=>'member', :class => 'hw_more_li' %>
+
+ <% end %>
+
+ <%= render :partial => 'course_teacher', :locals => {:members => @members} %>
+
+<% else %>
+
+
+
<%= @subPage_title %>
+
+
+
+
+ <%= link_to l(:label_export_excel), export_course_member_excel_course_path(@course,:format => 'xls'), :class => 'hw_more_li'%>
+ <% if User.current.allowed_to?(:as_teacher,@course) %>
+
+ <%=link_to "成员管理", {:controller => 'courses', :action => 'settings', :id => @course.id, :tab => 'member'}, :class => 'hw_more_li' %>
+
+ <% end %>
+
+
+
+
+
+ <%= render :partial => 'course_student', :locals => {:members => @members} %>
-<% if @subPage_title == l(:label_student_list)%>
- <%= render :partial => 'course_student', :locals => {:members => @members} %>
-<% else%>
- <%= render :partial => 'course_teacher', :locals => {:members => @members} %>
-<% end%>
-
-
+<% end %>
diff --git a/app/views/courses/settings.html.erb b/app/views/courses/settings.html.erb
index a86b4b123..4c54e2289 100644
--- a/app/views/courses/settings.html.erb
+++ b/app/views/courses/settings.html.erb
@@ -1,5 +1,5 @@
-
+
<%= l(:label_course_modify_settings)%>
diff --git a/app/views/homework_common/_homework_index_list.html.erb b/app/views/homework_common/_homework_index_list.html.erb
index dcbe8d411..063621399 100644
--- a/app/views/homework_common/_homework_index_list.html.erb
+++ b/app/views/homework_common/_homework_index_list.html.erb
@@ -1,6 +1,6 @@
<%= render :partial => 'users/user_homework_list', :locals => {:homework_commons => homework_commons,:page => 0,:course_id => course_id} %>
-
+
<%= pagination_links_full @obj_pages, @obj_count, :per_page_links => false, :remote => false, :flag => true%>
diff --git a/app/views/homework_common/edit.html.erb b/app/views/homework_common/edit.html.erb
index ec5ecc31c..b2bc236ca 100644
--- a/app/views/homework_common/edit.html.erb
+++ b/app/views/homework_common/edit.html.erb
@@ -47,7 +47,7 @@
<% elsif @homework.homework_type == 2 %>
已有<%=committed_work_count %>个学生提交作品,不允许再修改作业类型和测试集。
<% elsif @homework.homework_type == 3 %>
-
已有<%=committed_work_count %>个学生提交作品,不允许再修改作业类型和分组设置。
+
已有<%=committed_work_count %>个学生提交作品,不允许再修改作业类型和分组设置(可扩大分组范围)。
<% end %>
<% elsif stu_pro_count != 0 && @homework.homework_type == 3 %>
已有<%=stu_pro_count %>个学生关联项目,不允许再修改作业类型。
diff --git a/app/views/issues/_project_issue.html.erb b/app/views/issues/_project_issue.html.erb
index cf04baa14..25b7a6954 100644
--- a/app/views/issues/_project_issue.html.erb
+++ b/app/views/issues/_project_issue.html.erb
@@ -10,10 +10,6 @@
@@ -58,7 +54,12 @@
<%= activity.fixed_version %>
<%= activity.status.name%>
<%= activity.done_ratio %>%
-
+
+ <% if activity.journals.count > 0%>
+
+ <%= activity.journals.count %>
+ <% end %>
+
<%= link_to "", issue_path(activity.id, :edit => 'true'), :class => 'sy_icons_edit fl mt15', :accesskey => accesskey(:edit) if activity.editable? && User.current.allowed_to?(:edit_issues, activity.project) %>
<% if !defined?(project_id) && !defined?(user_id) %>
<%= link_to "", issue_path(activity.id), :data => {:confirm => issues_destroy_confirmation_message(activity)}, :method => :delete, :class => 'sy_icons_del fl mt15' if User.current.allowed_to?(:delete_issues, activity.project) %>
@@ -67,8 +68,32 @@
<% elsif defined?(user_id) %>
<%= link_to "", issue_path(activity.id, :page_classify => "user_page", :page_id => user_id), :data => {:confirm => issues_destroy_confirmation_message(activity)}, :method => :delete, :class => 'sy_icons_del fl mt15' if User.current.allowed_to?(:delete_issues, activity.project) %>
<% end %>
+
<% end %>
+
+
diff --git a/app/views/issues/index.html.erb b/app/views/issues/index.html.erb
index 732e4d9af..655f0714a 100644
--- a/app/views/issues/index.html.erb
+++ b/app/views/issues/index.html.erb
@@ -27,7 +27,10 @@
});
function remote_function() {
- $("#issue_query_form").submit();
+ if($.trim($("#issue_create_date_end_show").val()) !="" && Date.parse($.trim($("#issue_create_date_end_show").val())) < Date.parse($.trim($("#issue_create_date_start_show").val()))){
+ alert("开始日期不能大于结束日期!");
+ }
+ $("#issue_query_form").submit();
// $.ajax({
// url:'<%#= project_issues_path(@project)%>',
// data:{
@@ -119,7 +122,7 @@
新 增
@@ -156,8 +159,8 @@
@@ -62,6 +63,9 @@
<%= link_to "修改资料", my_account_path, :class => "menuGrey"%>
+
+ <%= link_to '我的课程',{:controller => "users", :action => "user_courselist", :id => User.current.id}, :class => "menuGrey" %>
+
<%= link_to "我的组织", user_organizations_user_path(:id => User.current.id), :class => "menuGrey"%>
diff --git a/app/views/layouts/_unlogin_header.html.erb b/app/views/layouts/_unlogin_header.html.erb
index bc21ff8d2..18d56fc72 100644
--- a/app/views/layouts/_unlogin_header.html.erb
+++ b/app/views/layouts/_unlogin_header.html.erb
@@ -8,7 +8,7 @@
diff --git a/app/views/layouts/base_courses.html.erb b/app/views/layouts/base_courses.html.erb
index 84aa054e0..fe400bfbc 100644
--- a/app/views/layouts/base_courses.html.erb
+++ b/app/views/layouts/base_courses.html.erb
@@ -110,9 +110,16 @@
<%= link_to( "", new_exercise_path(:course_id => @course.id), :class => 'sy_class_add', :title =>"新建试卷") if is_teacher %>
<% end %>
+ <% group_count = @course.course_groups.count %>
+ <% if !show_nav?(group_count) && ((User.current.logged? && @course.open_student == 1) || (User.current.member_of_course?(@course)) || User.current.admin?) %>
+
+ 分班<%=group_count %>
+
+
+ <% end %>
<% statistics_count = 0 %>
<% unless show_nav?(statistics_count) %>
-
+
统计
diff --git a/app/views/layouts/base_projects.html.erb b/app/views/layouts/base_projects.html.erb
index b0de79d7c..fced40737 100644
--- a/app/views/layouts/base_projects.html.erb
+++ b/app/views/layouts/base_projects.html.erb
@@ -89,7 +89,7 @@
-
+
<%= render_flash_messages %>
<%= yield %>
<%= call_hook :view_layouts_base_content %>
diff --git a/app/views/layouts/base_users_new.html.erb b/app/views/layouts/base_users_new.html.erb
index 976de8235..2f3ef2928 100644
--- a/app/views/layouts/base_users_new.html.erb
+++ b/app/views/layouts/base_users_new.html.erb
@@ -146,13 +146,13 @@
<% if @center_flag %>
-
+
我的项目
(<%=@user.projects.count%>)
@@ -166,13 +166,13 @@
<% else%>
-
+
TA的项目
(<%=@user.projects.visible.count%>)
diff --git a/app/views/messages/_course_show.html.erb b/app/views/messages/_course_show.html.erb
index abdeef255..80661078a 100644
--- a/app/views/messages/_course_show.html.erb
+++ b/app/views/messages/_course_show.html.erb
@@ -95,58 +95,8 @@
<%# all_comments = []%>
<%# comments = get_all_children(all_comments, @topic) %>
-
- <% @replies.each do |reply| %>
-
-
-
- <%= link_to image_tag(url_to_avatar(reply.author), :width => 33,:height => 33), user_path(reply.author) %>
-
-
- <%= render :partial => 'users/message_contents', :locals => {:comment => reply}%>
-
-
- <%= reply.content.html_safe%>
-
-
-
-
-
- <%= render :partial => "praise_tread/praise", :locals => {:activity => reply, :user_activity_id => reply.id, :type => "reply"} %>
-
-
- <%= link_to(
- l(:button_reply),
- {:action => 'quote', :id => reply},
- :remote => true,
- :method => 'get',
- :title => l(:button_reply)) if !@topic.locked? && authorize_for('messages', 'reply') %>
- ︿
-
- <%= link_to(
- l(:button_delete),
- {:action => 'destroy', :id => reply},
- :method => :post,
- :id => "delete_reply_#{reply.id}",
- :class => 'fr mr20 undis',
- :data => {:confirm => l(:text_are_you_sure)},
- :title => l(:button_delete)
- ) if reply.course_destroyable_by?(User.current) %>
-
-
-
-
-
-
-
-
-
- <% end %>
+
+ <%= render :partial => "messages/course_show_replies" %>
diff --git a/app/views/messages/_course_show_replies.html.erb b/app/views/messages/_course_show_replies.html.erb
new file mode 100644
index 000000000..ad715df20
--- /dev/null
+++ b/app/views/messages/_course_show_replies.html.erb
@@ -0,0 +1,60 @@
+<% @replies.each do |reply| %>
+
+
+
+ <%= link_to image_tag(url_to_avatar(reply.author), :width => 33,:height => 33), user_path(reply.author) %>
+
+
+ <%= render :partial => 'users/message_contents', :locals => {:comment => reply}%>
+
+
+ <%= reply.content.html_safe%>
+
+
+
+
+
+ <%= render :partial => "praise_tread/praise", :locals => {:activity => reply, :user_activity_id => reply.id, :type => "reply"} %>
+
+
+ <%= link_to(
+ l(:button_reply),
+ {:action => 'quote', :id => reply},
+ :remote => true,
+ :method => 'get',
+ :title => l(:button_reply)) if !@topic.locked? && authorize_for('messages', 'reply') %>
+ ︿
+
+ <%= link_to(
+ l(:button_delete),
+ {:action => 'destroy', :id => reply},
+ :method => :post,
+ :id => "delete_reply_#{reply.id}",
+ :class => 'fr mr20 undis',
+ :data => {:confirm => l(:text_are_you_sure)},
+ :title => l(:button_delete)
+ ) if reply.course_destroyable_by?(User.current) %>
+
+
+
+
+
+
+
+
+
+<% end %>
+<% if @reply_count > @page * @limit + 10 %>
+
+
+ ↓
+ ↑
+ <%= link_to '点击展开更多回复', board_message_path(@topic.board_id, @topic, :page => @page),:remote=>true %>
+
+
+<% end %>
\ No newline at end of file
diff --git a/app/views/messages/_org_show_replies.html.erb b/app/views/messages/_org_show_replies.html.erb
new file mode 100644
index 000000000..fbde35fcf
--- /dev/null
+++ b/app/views/messages/_org_show_replies.html.erb
@@ -0,0 +1,59 @@
+<% @replies.each_with_index do |reply, i| %>
+
+
+
+ <%= link_to image_tag(url_to_avatar(reply.author), :width => 33, :height => 33), user_path(reply.author) %>
+
+
+ <%= render :partial => 'users/message_contents', :locals => {:comment => reply} %>
+
+
+ <%= reply.content.html_safe %>
+
+
+
+
+
+ <%= render :partial => "praise_tread/praise", :locals => {:activity => reply, :user_activity_id => reply.id, :type => "reply"} %>
+
+
+ <%= link_to(
+ l(:button_reply),
+ {:action => 'quote', :id => reply},
+ :remote => true,
+ :method => 'get',
+ :title => l(:button_reply)) if !@topic.locked? && authorize_for('messages', 'reply') %>
+ ︿
+
+ <%= link_to(
+ l(:button_delete),
+ {:action => 'destroy', :id => reply},
+ :method => :post,
+ :class => 'fr mr20',
+ :data => {:confirm => l(:text_are_you_sure)},
+ :title => l(:button_delete)
+ ) if reply.course_destroyable_by?(User.current) %>
+
+
+
+
+
+
+
+
+
+<% end %>
+<% if @reply_count > @page * @limit + 10 %>
+
+
+ ↓
+ ↑
+ <%= link_to '点击展开更多回复', board_message_path(@topic.board_id, @topic, :page => @page),:remote=>true %>
+
+
+<% end %>
\ No newline at end of file
diff --git a/app/views/messages/_org_subfield_show.html.erb b/app/views/messages/_org_subfield_show.html.erb
index 6b6983bb1..19e8b30d5 100644
--- a/app/views/messages/_org_subfield_show.html.erb
+++ b/app/views/messages/_org_subfield_show.html.erb
@@ -130,56 +130,7 @@
<%# all_comments = [] %>
<%# comments = get_all_children(all_comments, @topic) %>
- <% @replies.each_with_index do |reply, i| %>
-
-
-
- <%= link_to image_tag(url_to_avatar(reply.author), :width => 33, :height => 33), user_path(reply.author) %>
-
-
- <%= render :partial => 'users/message_contents', :locals => {:comment => reply} %>
-
-
- <%= reply.content.html_safe %>
-
-
-
-
-
- <%= render :partial => "praise_tread/praise", :locals => {:activity => reply, :user_activity_id => reply.id, :type => "reply"} %>
-
-
- <%= link_to(
- l(:button_reply),
- {:action => 'quote', :id => reply},
- :remote => true,
- :method => 'get',
- :title => l(:button_reply)) if !@topic.locked? && authorize_for('messages', 'reply') %>
- ︿
-
- <%= link_to(
- l(:button_delete),
- {:action => 'destroy', :id => reply},
- :method => :post,
- :class => 'fr mr20',
- :data => {:confirm => l(:text_are_you_sure)},
- :title => l(:button_delete)
- ) if reply.course_destroyable_by?(User.current) %>
-
-
-
-
-
-
-
-
-
- <% end %>
+ <%= render :partial => "messages/org_show_replies" %>
<% end %>
diff --git a/app/views/messages/_project_show.html.erb b/app/views/messages/_project_show.html.erb
index f46d70ad2..e7d12c3d3 100644
--- a/app/views/messages/_project_show.html.erb
+++ b/app/views/messages/_project_show.html.erb
@@ -160,57 +160,7 @@
<%# all_comments = []%>
<%# comments = get_all_children(all_comments, @topic) %>
- <% @replies.each_with_index do |reply,i| %>
-
-
-
- <%= link_to image_tag(url_to_avatar(reply.author), :width => 33,:height => 33), user_path(reply.author) %>
-
-
- <%= render :partial => 'users/message_contents', :locals => {:comment => reply}%>
-
-
- <%= reply.content.html_safe%>
-
-
-
-
-
- <%= render :partial => "praise_tread/praise", :locals => {:activity => reply, :user_activity_id => reply.id, :type => "reply"} %>
-
-
- <%= link_to(
- l(:button_reply),
- {:action => 'quote', :id => reply},
- :remote => true,
- :method => 'get',
- :title => l(:button_reply)) if !@topic.locked? && authorize_for('messages', 'reply') %>
- ︿
-
- <%= link_to(
- l(:button_delete),
- {:action => 'destroy', :id => reply},
- :method => :post,
- :id => "delete_reply_#{reply.id}",
- :class => 'fr mr20 undis',
- :data => {:confirm => l(:text_are_you_sure)},
- :title => l(:button_delete)
- ) if reply.destroyable_by?(User.current) %>
-
-
-
-
-
-
-
-
-
- <% end %>
+ <%= render :partial => "messages/project_show_replies" %>
<% if !@topic.locked? && authorize_for('messages', 'reply') %>
diff --git a/app/views/messages/_project_show_replies.html.erb b/app/views/messages/_project_show_replies.html.erb
new file mode 100644
index 000000000..ea0b64069
--- /dev/null
+++ b/app/views/messages/_project_show_replies.html.erb
@@ -0,0 +1,60 @@
+<% @replies.each_with_index do |reply,i| %>
+
+
+
+ <%= link_to image_tag(url_to_avatar(reply.author), :width => 33,:height => 33), user_path(reply.author) %>
+
+
+ <%= render :partial => 'users/message_contents', :locals => {:comment => reply}%>
+
+
+ <%= reply.content.html_safe%>
+
+
+
+
+
+ <%= render :partial => "praise_tread/praise", :locals => {:activity => reply, :user_activity_id => reply.id, :type => "reply"} %>
+
+
+ <%= link_to(
+ l(:button_reply),
+ {:action => 'quote', :id => reply},
+ :remote => true,
+ :method => 'get',
+ :title => l(:button_reply)) if !@topic.locked? && authorize_for('messages', 'reply') %>
+ ︿
+
+ <%= link_to(
+ l(:button_delete),
+ {:action => 'destroy', :id => reply},
+ :method => :post,
+ :id => "delete_reply_#{reply.id}",
+ :class => 'fr mr20 undis',
+ :data => {:confirm => l(:text_are_you_sure)},
+ :title => l(:button_delete)
+ ) if reply.destroyable_by?(User.current) %>
+
+
+
+
+
+
+
+
+
+<% end %>
+<% if @reply_count > @page * @limit + 10 %>
+
+
+ ↓
+ ↑
+ <%= link_to '点击展开更多回复', board_message_path(@topic.board_id, @topic, :page => @page),:remote=>true %>
+
+
+<% end %>
\ No newline at end of file
diff --git a/app/views/messages/show.js.erb b/app/views/messages/show.js.erb
new file mode 100644
index 000000000..fcfaa3858
--- /dev/null
+++ b/app/views/messages/show.js.erb
@@ -0,0 +1,7 @@
+<% if @project %>
+$("#more_message_replies").replaceWith("<%= escape_javascript(render :partial => 'messages/project_show_replies')%>");
+<% elsif @course %>
+$("#more_message_replies").replaceWith("<%= escape_javascript(render :partial => 'messages/course_show_replies')%>");
+<% else %>
+$("#more_message_replies").replaceWith("<%= escape_javascript(render :partial => 'messages/org_show_replies')%>");
+<% end %>
\ No newline at end of file
diff --git a/app/views/news/_news_all_replies.html.erb b/app/views/news/_news_all_replies.html.erb
index 8333ac4e1..4bfad4c96 100644
--- a/app/views/news/_news_all_replies.html.erb
+++ b/app/views/news/_news_all_replies.html.erb
@@ -1,6 +1,6 @@
回复
- <%= @comments.count>0 ? "(#{@comments.count})" : "" %> ▪
+ <%= @comments_count>0 ? "(#{@comments_count})" : "" %> ▪
<%=render :partial=> "praise_tread/praise", :locals => {:activity=>@news, :user_activity_id=>@news.id,:type=>"activity"}%>
@@ -8,60 +8,7 @@
<% unless @comments.empty? %>
- <% @comments.each_with_index do |comment,i| %>
-
-
-
- <%= link_to image_tag(url_to_avatar(comment.creator_user), :width => 33, :height => 33, :alt => "用户头像"), user_url_in_org(comment.creator_user.id) %>
-
-
- <%= render :partial => 'users/news_contents', :locals => {:comment => comment}%>
-
- <% if !comment.content_detail.blank? %>
-
-
-
-
-
-
- <%= link_to(
- l(:button_reply),
- {:controller => 'comments',:action => 'quote', :id => comment},
- :remote => true,
- :method => 'get',
- :title => l(:button_reply))%>
-
-
- <%= link_to(
- l(:button_delete),
- {:controller => 'comments',
- :action => 'destroy', :id => @news,
- :comment_id => comment},
- :method => :delete,
- :id => "delete_reply_#{comment.id}",
- :class => 'fr mr20 undis',
- :data => {:confirm => l(:text_are_you_sure)},
- :title => l(:button_delete)
- ) if User.current.allowed_to?(:manage_news, object) %>
-
-
-
-
-
- <% end %>
-
-
-
- <% end %>
+ <%= render :partial => 'news/news_replies_detail', :locals => {:object => object} %>
<% end %>
diff --git a/app/views/news/_news_replies_detail.html.erb b/app/views/news/_news_replies_detail.html.erb
new file mode 100644
index 000000000..f79bbdfc0
--- /dev/null
+++ b/app/views/news/_news_replies_detail.html.erb
@@ -0,0 +1,63 @@
+<% @comments.each_with_index do |comment,i| %>
+
+
+
+ <%= link_to image_tag(url_to_avatar(comment.creator_user), :width => 33, :height => 33, :alt => "用户头像"), user_url_in_org(comment.creator_user.id) %>
+
+
+ <%= render :partial => 'users/news_contents', :locals => {:comment => comment}%>
+
+ <% if !comment.content_detail.blank? %>
+
+
+
+
+
+
+ <%= link_to(
+ l(:button_reply),
+ {:controller => 'comments',:action => 'quote', :id => comment},
+ :remote => true,
+ :method => 'get',
+ :title => l(:button_reply))%>
+
+
+ <%= link_to(
+ l(:button_delete),
+ {:controller => 'comments',
+ :action => 'destroy', :id => @news,
+ :comment_id => comment},
+ :method => :delete,
+ :id => "delete_reply_#{comment.id}",
+ :class => 'fr mr20 undis',
+ :data => {:confirm => l(:text_are_you_sure)},
+ :title => l(:button_delete)
+ ) if ((object.kind_of? Organization) ? User.current.allowed_to?(:manage_news, object) : (User.current.admin_of_org?(object) || User.current == comment.author)) %>
+
+
+
+
+
+ <% end %>
+
+
+
+<% end %>
+<% if @comments_count > @page * @limit + 10 %>
+
+
+ ↓
+ ↑
+ <%= link_to '点击展开更多回复', news_path(@news, :page => @page), :remote=>true %>
+
+
+<% end %>
\ No newline at end of file
diff --git a/app/views/news/_organization_show.html.erb b/app/views/news/_organization_show.html.erb
index 9790c1305..c86d71d63 100644
--- a/app/views/news/_organization_show.html.erb
+++ b/app/views/news/_organization_show.html.erb
@@ -72,7 +72,7 @@
- <%= render :partial => 'news/news_all_replies' %>
+ <%= render :partial => 'news/news_all_replies', :locals => {:object => @organization} %>
\ No newline at end of file
diff --git a/app/views/projects/member.html.erb b/app/views/projects/member.html.erb
index eb46a41e6..12944e1f5 100644
--- a/app/views/projects/member.html.erb
+++ b/app/views/projects/member.html.erb
@@ -12,6 +12,6 @@
diff --git a/app/views/projects/settings.html.erb b/app/views/projects/settings.html.erb
index 0d4a55ff9..ce12b6b76 100644
--- a/app/views/projects/settings.html.erb
+++ b/app/views/projects/settings.html.erb
@@ -16,7 +16,7 @@
<% end%>
<% end%>
$("div[nhname='pro_setting']").show();
- $("#RSide").css('width',"730px");
+ $(".project_r_h").parent().css({"width":"730px","background-color":"#fff","padding":"10px","margin-left":"10px","margin-bottom":"10px"});
});
diff --git a/app/views/projects/watcherlist.html.erb b/app/views/projects/watcherlist.html.erb
index 180cd22b0..a8a948a11 100644
--- a/app/views/projects/watcherlist.html.erb
+++ b/app/views/projects/watcherlist.html.erb
@@ -26,5 +26,5 @@
<% html_title(l(:label_followers)) -%>
\ No newline at end of file
diff --git a/app/views/pull_requests/_new.html.erb b/app/views/pull_requests/_new.html.erb
index 54c7434b0..8a376d995 100644
--- a/app/views/pull_requests/_new.html.erb
+++ b/app/views/pull_requests/_new.html.erb
@@ -10,7 +10,7 @@
diff --git a/app/views/quality_analysis/_show.html.erb b/app/views/quality_analysis/_show.html.erb
index 0e2b9b4d4..e127b635e 100644
--- a/app/views/quality_analysis/_show.html.erb
+++ b/app/views/quality_analysis/_show.html.erb
@@ -162,6 +162,6 @@
<% end %>
diff --git a/app/views/repositories/changes.html.erb b/app/views/repositories/changes.html.erb
index 8471b503c..b7e744288 100644
--- a/app/views/repositories/changes.html.erb
+++ b/app/views/repositories/changes.html.erb
@@ -25,5 +25,5 @@
<% html_title(l(:label_change_plural)) -%>
diff --git a/app/views/repositories/quality_analyses.html.erb b/app/views/repositories/quality_analyses.html.erb
index 69dae2629..273721bee 100644
--- a/app/views/repositories/quality_analyses.html.erb
+++ b/app/views/repositories/quality_analyses.html.erb
@@ -1,76 +1,80 @@
-<%= javascript_include_tag 'highcharts','highcharts-more' %>
-
-
<%= l(:label_quality_analyses) %>
-
-
-
- <%#= render :partial => 'navigation' %>
-
-
-
-
-
-
-
-
-
-
-
<%= link_to l(:button_back), :action => 'show', :id => @project %>
-<% html_title(l(:label_repository), l(:label_statistics)) -%>
\ No newline at end of file
+<%= javascript_include_tag 'highcharts','highcharts-more' %>
+
+
<%= l(:label_quality_analyses) %>
+
+
+
+ <%#= render :partial => 'navigation' %>
+
+
+
+
+
+
+
+
+
+
+
<%= link_to l(:button_back), :action => 'show', :id => @project %>
+<% html_title(l(:label_repository), l(:label_statistics)) -%>
+
+
\ No newline at end of file
diff --git a/app/views/repositories/show.html.erb b/app/views/repositories/show.html.erb
index b12302e6e..a0ae74d73 100644
--- a/app/views/repositories/show.html.erb
+++ b/app/views/repositories/show.html.erb
@@ -77,7 +77,7 @@
<%= render :partial => 'dir_list' %>
<% end %>
-
如何提交代码
+
<%=Setting.host_name %>/forums/1/memos/1232" >如何提交代码
导出统计结果:
<%= link_to "最近一周", {:controller => 'repositories', :action => 'export_rep_static', :format => 'xls', :rev => @rev, :cycle => "week" } %>
|
@@ -94,5 +94,5 @@
<% html_title(l(:label_repository)) -%>
diff --git a/app/views/repositories/stats.html.erb b/app/views/repositories/stats.html.erb
index 4b35e64f6..f14022810 100644
--- a/app/views/repositories/stats.html.erb
+++ b/app/views/repositories/stats.html.erb
@@ -1,195 +1,199 @@
-<%= javascript_include_tag 'highcharts','highcharts-more' %>
-
-
<%= l(:label_statistics) %>
-
-<% if false %>
-
请在版本库中提交代码,统计信息将更准确
-<% else %>
-
- <%= render :partial => 'navigation' %>
-
-
-
-
-
-
-
-
-
-
-
<%= link_to l(:button_back), :action => 'show', :id => @project %>
- <% html_title(l(:label_repository), l(:label_statistics)) -%>
-<% end %>
\ No newline at end of file
+<%= javascript_include_tag 'highcharts','highcharts-more' %>
+
+
<%= l(:label_statistics) %>
+
+<% if false %>
+
请在版本库中提交代码,统计信息将更准确
+<% else %>
+
+ <%= render :partial => 'navigation' %>
+
+
+
+
+
+
+
+
+
+
+
<%= link_to l(:button_back), :action => 'show', :id => @project %>
+ <% html_title(l(:label_repository), l(:label_statistics)) -%>
+<% end %>
+
+
\ No newline at end of file
diff --git a/app/views/student_work/_evaluation_title.html.erb b/app/views/student_work/_evaluation_title.html.erb
index 55e1b57c1..094df203e 100644
--- a/app/views/student_work/_evaluation_title.html.erb
+++ b/app/views/student_work/_evaluation_title.html.erb
@@ -33,7 +33,7 @@
<%= render :partial => "evaluation_work", :locals => {:student_work => student_work, :index => i}%>
-
diff --git a/app/views/student_work/_evaluation_un_group.html.erb b/app/views/student_work/_evaluation_un_group.html.erb
index 05cc7c5c1..9a3364258 100644
--- a/app/views/student_work/_evaluation_un_group.html.erb
+++ b/app/views/student_work/_evaluation_un_group.html.erb
@@ -1,9 +1,9 @@
<% @stundet_works.each_with_index do |student_work, i| %>
-
+
<%= render :partial => 'evaluation_un_group_work', :locals => {:student_work => student_work} %>
-
+
<%= render :partial => 'group_member_work', :locals => {:student_work => student_work} %>
diff --git a/app/views/student_work/_evaluation_un_group_member_work.html.erb b/app/views/student_work/_evaluation_un_group_member_work.html.erb
index 842e1c899..efd3440f7 100644
--- a/app/views/student_work/_evaluation_un_group_member_work.html.erb
+++ b/app/views/student_work/_evaluation_un_group_member_work.html.erb
@@ -1,24 +1,25 @@
+<% is_expand = st.student_work_projects.empty? %>
-
+
>
<%= link_to(image_tag(url_to_avatar(st.user),:width =>"40",:height => "40", :style => "display:block;"),user_activities_path(st.user), :class => "fl") %>
- <% if !st.student_work_projects.empty? %>
-
- <%= st.user.show_name %>
+ <% if !is_expand %>
+
+ <%= st.user.show_name %>
(组长)
-
+
学号 :<%= st.user.user_extensions.nil? ? "--" : st.user.user_extensions.student_id%>
<% else %>
-
- <%= st.user.show_name %>
+
+ <%= st.user.show_name %>
-
+
学号 :<%= st.user.user_extensions.nil? ? "--" : st.user.user_extensions.student_id%>
<% end %>
-
+
<%= st.teacher_score.nil? ? "--" : format("%.1f",st.teacher_score)%>
<%= st.teaching_asistant_score.nil? ? "--" : format("%.1f",st.teaching_asistant_score)%>
<% if @homework.anonymous_comment == 0 %>
@@ -48,26 +49,29 @@
<%= score.nil? ? "--" : format("%.1f",score<0 ? 0 : score)%>
<% unless score.nil?%>
-
+
作品最终评分为
- <%= st.final_score%> 分。
+ <%= st.final_score%> 分
迟交扣分
<%= st.homework_common && st.homework_common.teacher_priority == 1 && st.teacher_score ? 0 : st.late_penalty %>
- 分,
+ 分
缺评扣分
<%= st.homework_common && st.homework_common.teacher_priority == 1 && st.teacher_score ? 0 : st.absence_penalty%>
- 分,
+ 分
最终成绩为
- <%= format("%.1f",score<0 ? 0 : score)%> 分。
+ <%= format("%.1f",score<0 ? 0 : score)%> 分
<% end%>
+ <% if is_expand %>
+
评分
+ <% end %>
- <%= !st.student_work_projects.empty? ? '大作品评分即组长的评分' : '点击查看详情' %>
+ <%= !st.student_work_projects.empty? ? '大作品评分即组长的评分' : '点击进行评分' %>
@@ -79,4 +83,11 @@
}).mouseleave(function(){
$("#work_click_<%= st.id%>").hide();
}).mouse;
+
+ $(".syllabus_class_list").mouseenter(function(){
+ $(this).css("background-color","#f6fafd");
+ });
+ $(".syllabus_class_list").mouseleave(function(){
+ $(this).css("background-color","#fff");
+ });
\ No newline at end of file
diff --git a/app/views/student_work/_evaluation_un_group_work.html.erb b/app/views/student_work/_evaluation_un_group_work.html.erb
index 25b42e5f6..fb0efd9c8 100644
--- a/app/views/student_work/_evaluation_un_group_work.html.erb
+++ b/app/views/student_work/_evaluation_un_group_work.html.erb
@@ -1,7 +1,7 @@
- <%=student_work.name %>
+ <%=student_work.name %>
<% if student_work.work_status%>
<%=get_status student_work.work_status %>
@@ -9,19 +9,18 @@
<% if @homework.homework_detail_group.base_on_project == 1 %>
-
关联项目:
<% if student_work.project.is_public || User.current.member_of?(student_work.project) || User.current.admin? %>
- <%= link_to student_work.project.name, project_path(student_work.project.id), :class => 'link-blue fl hidden', :style => "width:200px;", :title => "项目名称"%>
+ <%= link_to student_work.project.name, project_path(student_work.project.id), :class => 'link-blue fr hidden', :style => "max-width:200px;", :title => "项目名称"%>
<% else %>
-
<%= student_work.project.name %>
+
<%= student_work.project.name %>
<% end %>
+
关联项目:
<% end %>
-
评分
-
提交时间:<%=format_date(student_work.commit_time) %>
-
+
提交时间:<%=format_date(student_work.commit_time) %>
+
教师:<%= student_work.teacher_score.nil? ? "--" : format("%.1f",student_work.teacher_score)%>
助教:<%= student_work.teaching_asistant_score.nil? ? "--" : format("%.1f",student_work.teaching_asistant_score)%>
<% if @homework.anonymous_comment == 0 %>
@@ -53,15 +52,15 @@
<% unless score.nil?%>
作品最终评分为
- <%= student_work.final_score%> 分。
+ <%= student_work.final_score%> 分。
迟交扣分
<%= student_work.homework_common && student_work.homework_common.teacher_priority == 1 && student_work.teacher_score ? 0 : student_work.late_penalty %>
- 分,
+ 分,
缺评扣分
<%= student_work.homework_common && student_work.homework_common.teacher_priority == 1 && student_work.teacher_score ? 0 : student_work.absence_penalty%>
- 分,
+ 分,
最终成绩为
<%= format("%.1f",score<0 ? 0 : score)%> 分。
@@ -69,5 +68,6 @@
+ 评分
\ No newline at end of file
diff --git a/app/views/student_work/_evaluation_un_title.html.erb b/app/views/student_work/_evaluation_un_title.html.erb
index 4fdd6384f..902c8fa50 100644
--- a/app/views/student_work/_evaluation_un_title.html.erb
+++ b/app/views/student_work/_evaluation_un_title.html.erb
@@ -78,7 +78,7 @@
<%= render :partial => "evaluation_un_work", :locals => {:student_work => student_work, :index => i} %>
-
diff --git a/app/views/student_work/_evaluation_un_work.html.erb b/app/views/student_work/_evaluation_un_work.html.erb
index bb87bfde1..2a2b7faee 100644
--- a/app/views/student_work/_evaluation_un_work.html.erb
+++ b/app/views/student_work/_evaluation_un_work.html.erb
@@ -95,19 +95,19 @@
<%= score.nil? ? "--" : format("%.1f",score<0 ? 0 : score)%>
<% unless score.nil?%>
-
+
作品最终评分为
- <%= student_work.final_score%> 分。
+ <%= student_work.final_score%> 分
迟交扣分
<%= student_work.homework_common && student_work.homework_common.teacher_priority == 1 && student_work.teacher_score ? 0 : student_work.late_penalty %>
- 分,
+ 分
缺评扣分
<%= student_work.homework_common && student_work.homework_common.teacher_priority == 1 && student_work.teacher_score ? 0 : student_work.absence_penalty%>
- 分,
+ 分
最终成绩为
- <%= format("%.1f",score<0 ? 0 : score)%> 分。
+ <%= format("%.1f",score<0 ? 0 : score)%> 分
<% end%>
diff --git a/app/views/student_work/_group_member_work.html.erb b/app/views/student_work/_group_member_work.html.erb
index bfe25c982..d9a2cf726 100644
--- a/app/views/student_work/_group_member_work.html.erb
+++ b/app/views/student_work/_group_member_work.html.erb
@@ -2,10 +2,10 @@
<% student_work_groups = @homework.student_works.where("user_id in #{user_ids}").order("created_at asc") %>
<% anon_count = student_work.student_works_scores.where(:reviewer_role => 3).group_by(&:user_id).count %>
<% student_work_groups.each_with_index do |st, j| %>
-
+
<%= render :partial => 'evaluation_un_group_member_work', :locals => {:st => st, :anon_count => anon_count} %>
<% if j != 0 %>
-
+
<% end %>
<% end %>
\ No newline at end of file
diff --git a/app/views/student_work/_student_work_list.html.erb b/app/views/student_work/_student_work_list.html.erb
index 6bcb2bb5e..77517f747 100644
--- a/app/views/student_work/_student_work_list.html.erb
+++ b/app/views/student_work/_student_work_list.html.erb
@@ -54,10 +54,6 @@
\ No newline at end of file
diff --git a/app/views/student_work/_work_information.html.erb b/app/views/student_work/_work_information.html.erb
index f9da89c11..eabab8ed0 100644
--- a/app/views/student_work/_work_information.html.erb
+++ b/app/views/student_work/_work_information.html.erb
@@ -39,6 +39,6 @@
\ No newline at end of file
diff --git a/app/views/student_work/index.html.erb b/app/views/student_work/index.html.erb
index 8ab08b7e0..b92152049 100644
--- a/app/views/student_work/index.html.erb
+++ b/app/views/student_work/index.html.erb
@@ -57,29 +57,6 @@
"
");
$('#ajax-modal').parent().css("top","25%").css("left","35%").css("position","fixed").css("border","3px solid #269ac9");
}
-
- function show_or_hide_info(){
- $("#homeworkInformation").toggle();
- $("#homework_info_hidden").toggle();
- $("#homework_info_show").toggle();
- }
-
- $(function(){
- if($("#homework_description").height() > 54) {
- $("#homeworkDetailShow").show();
- }
- $("#homeworkDetailShow").click(function(){
- $("#homeworkDetail").toggleClass("max_h54");
- $("#homeworkDetailShow").hide();
- $("#homeworkDetailHide").show();
- });
- $("#homeworkDetailHide").click(function(){
- $("#homeworkDetail").toggleClass("max_h54");
- $("#homeworkDetailHide").hide();
- $("#homeworkDetailShow").show();
- });
- });
-
<% else %>
-
- <% if User.current == @syllabus.user %>
-
您建立的课程还未创建班级,请
+
+ <% if User.current.member_of_syl?(@syllabus) %>
+
该课程还未创建班级,请
<%= link_to "新建班级", new_course_path(:host=> Setting.host_course, :syllabus_id => @syllabus.id), :class => "sy_corange", :target => '_blank'%>
,谢谢啦!
<% else %>
diff --git a/app/views/syllabuses/_syllabus_member_list.html.erb b/app/views/syllabuses/_syllabus_member_list.html.erb
index 2a726ac18..97a500f56 100644
--- a/app/views/syllabuses/_syllabus_member_list.html.erb
+++ b/app/views/syllabuses/_syllabus_member_list.html.erb
@@ -13,13 +13,14 @@
+ <% count = @members.count %>
<% @members.each_with_index do |member, i| %>
<% user = member.user %>
- <% allow_delete = @syllabus.courses.where(:tea_id => member.user_id).empty? && i != 0 %>
+ <% allow_delete = is_admin && @syllabus.courses.where(:tea_id => member.user_id).empty? %>
<%= member.rank %>
- <% if member.rank == 1 %>
+ <% if user == @syllabus.user %>
<%= user.show_name %> 创建者
<% else %>
<%= user.show_name %>
@@ -35,23 +36,22 @@
<%= courses.where("tea_id != #{user.id}").count %>
<% if is_admin %>
- <% if i == 0 %>
-
+ <% if user == @syllabus.user %>
+ <% elsif allow_delete %>
+ <%= link_to('删除', {:controller => 'syllabus_member', :action => 'destroy', :id => member.id, :syllabus => @syllabus.id},:remote => true, :method => 'delete', :confirm => l(:text_are_you_sure), :class => "fr sy_btn_grey mr5", :title => l(:button_delete)) %>
<% else %>
- <% if allow_delete %>
- <%= link_to('删除', {:controller => 'syllabus_member', :action => 'destroy', :id => member.id, :syllabus => @syllabus.id},:remote => true, :method => 'delete', :confirm => l(:text_are_you_sure), :class => "fr sy_btn_grey mr5", :title => l(:button_delete)) %>
- <% else %>
- 删除
- <% end %>
- <% if i == 1 %>
- <%= link_to('下移', {:controller => 'syllabus_member', :action => 'update_rank', :id => member.id, :syllabus => @syllabus.id, :opr => 'down'},:remote => true, :method => 'post', :class => "fr sy_btn_blue mr5", :title => '下移') %>
- <% elsif i == @members.count - 1 %>
- <%= link_to('上移', {:controller => 'syllabus_member', :action => 'update_rank', :id => member.id, :syllabus => @syllabus.id, :opr => 'up'},:remote => true, :method => 'post', :class => "fr sy_btn_blue mr5", :title => '上移') %>
- <% else %>
- <%= link_to('下移', {:controller => 'syllabus_member', :action => 'update_rank', :id => member.id, :syllabus => @syllabus.id, :opr => 'down'},:remote => true, :method => 'post', :class => "fr sy_btn_blue mr5", :title => '下移') %>
- <%= link_to('上移', {:controller => 'syllabus_member', :action => 'update_rank', :id => member.id, :syllabus => @syllabus.id, :opr => 'up'},:remote => true, :method => 'post', :class => "fr sy_btn_blue mr5", :title => '上移') %>
- <% end %>
+ 删除
<% end %>
+ <% if i == 0 && count == 1 %>
+
+ <% elsif i != 0 && i < count - 1 %>
+ <%= link_to('下移', {:controller => 'syllabus_member', :action => 'update_rank', :id => member.id, :syllabus => @syllabus.id, :opr => 'down'},:remote => true, :method => 'post', :class => "fr sy_btn_blue mr5", :title => '下移') %>
+ <%= link_to('上移', {:controller => 'syllabus_member', :action => 'update_rank', :id => member.id, :syllabus => @syllabus.id, :opr => 'up'},:remote => true, :method => 'post', :class => "fr sy_btn_blue mr5", :title => '上移') %>
+ <% elsif i < count - 1 %>
+ <%= link_to('下移', {:controller => 'syllabus_member', :action => 'update_rank', :id => member.id, :syllabus => @syllabus.id, :opr => 'down'},:remote => true, :method => 'post', :class => "fr sy_btn_blue mr5", :title => '下移') %>
+ <% elsif i == count - 1 %>
+ <%= link_to('上移', {:controller => 'syllabus_member', :action => 'update_rank', :id => member.id, :syllabus => @syllabus.id, :opr => 'up'},:remote => true, :method => 'post', :class => "fr sy_btn_blue mr5", :title => '上移') %>
+ <% end %>
<% end %>
diff --git a/app/views/syllabuses/members.html.erb b/app/views/syllabuses/members.html.erb
index 456845400..2eb560116 100644
--- a/app/views/syllabuses/members.html.erb
+++ b/app/views/syllabuses/members.html.erb
@@ -13,11 +13,11 @@
<%= render :partial => 'syllabus_member_list' %>
- <% if User.current == @syllabus.user %>
+ <% if User.current == @syllabus.user || User.current.admin? %>
添加成员
<% end %>
- <% if User.current == @syllabus.user %>
+ <% if User.current == @syllabus.user || User.current.admin? %>
<%= form_tag url_for(:controller => 'syllabus_member', :action => 'create', :syllabus => @syllabus),:id => 'syllabus_member_add_form', :remote => true do |f|%>
diff --git a/app/views/syllabuses/show.html.erb b/app/views/syllabuses/show.html.erb
index 03eb3f90a..7e5af4ec0 100644
--- a/app/views/syllabuses/show.html.erb
+++ b/app/views/syllabuses/show.html.erb
@@ -5,6 +5,15 @@
$(function() {
sd_create_editor_from_data(<%= @syllabus.id %>, null, "100%", "<%= @syllabus.class.to_s %>");
showNormalImage('syllabus_description_<%= @syllabus.id %>');
+ $("#syllabus_description_<%= @syllabus.id%> p,#syllabus_description_<%= @syllabus.id%> span,#syllabus_description_<%= @syllabus.id%> em").each(function(){
+ var postContent = $(this).html();
+ postContent = postContent.replace(/ /g," ");
+ postContent= postContent.replace(/ {2}/g," ");
+ postContent=postContent.replace(/ /g," ");
+ postContent=postContent.replace(/ /g," ");
+ $(this).html(postContent);
+ });
+ autoUrl('syllabus_description_<%= @syllabus.id %>');
});
@@ -29,9 +38,9 @@
<%=@syllabus.description.html_safe %>
-
- <%= render :partial=>"attachments/activity_attach", :locals=>{:activity => @syllabus} %>
-
+
+
+ <%= render :partial=>"attachments/activity_attach", :locals=>{:activity => @syllabus} %>
<% if User.current.logged? && User.current == @syllabus.user%>
diff --git a/app/views/users/_course_journalsformessage.html.erb b/app/views/users/_course_journalsformessage.html.erb
index ae5b50619..f93efefe3 100644
--- a/app/views/users/_course_journalsformessage.html.erb
+++ b/app/views/users/_course_journalsformessage.html.erb
@@ -41,12 +41,12 @@
<% all_comments = []%>
- <% count=get_all_children(all_comments, activity).count %>
+ <% all_replies = get_all_children(all_comments, activity) %>
+ <% count = all_replies.count %>
<%= render :partial => 'users/reply_banner', :locals => {:count => count, :activity => activity, :user_activity_id => user_activity_id} %>
- <% all_comments = []%>
- <% comments = get_all_children(all_comments, activity)[0..2] %>
+ <% comments = all_replies[0..2] %>
<% if count > 0 %>
<%= render :partial => 'users/message_replies', :locals => {:comments => comments, :user_activity_id => user_activity_id, :type => 'JournalsForMessage', :activity_id =>activity.id}%>
diff --git a/app/views/users/_course_message.html.erb b/app/views/users/_course_message.html.erb
index 9cbe9d61d..99e3aca62 100644
--- a/app/views/users/_course_message.html.erb
+++ b/app/views/users/_course_message.html.erb
@@ -81,12 +81,12 @@
<% all_comments = []%>
- <% count=get_all_children(all_comments, activity).count %>
+ <% all_replies = get_all_children(all_comments, activity) %>
+ <% count = all_replies.count %>
<%= render :partial => 'users/reply_banner', :locals => {:count => count, :activity => activity, :user_activity_id => user_activity_id,:is_course => is_course,:is_board =>is_board} %>
- <% all_comments = []%>
- <% comments = get_all_children(all_comments, activity)[0..2] %>
+ <% comments = all_replies[0..2] %>
<% if count > 0 %>
<%= render :partial => 'users/message_replies', :locals => {:comments => comments, :user_activity_id => user_activity_id, :type => 'Message', :activity_id =>activity.id, :is_course => is_course, :is_board =>is_board}%>
diff --git a/app/views/users/_homework_opr.html.erb b/app/views/users/_homework_opr.html.erb
index 53d16b15d..1074496d8 100644
--- a/app/views/users/_homework_opr.html.erb
+++ b/app/views/users/_homework_opr.html.erb
@@ -15,7 +15,7 @@
<%= user_for_homework_common activity,is_teacher %>
<% work = cur_user_works_for_homework activity %>
-<% if activity.end_time < Date.today && !is_teacher && !work.nil? && work.user == User.current %>
+<% if !is_teacher && !work.nil? && work.user == User.current && activity.end_time < Date.today %>
<%=link_to "追加附件", student_work_index_url_in_org(activity.id, 2, 1), :class => 'c_blue', :title => "可追加作品修订附件" %>
diff --git a/app/views/users/_project_message.html.erb b/app/views/users/_project_message.html.erb
index d590b9a66..8005d9694 100644
--- a/app/views/users/_project_message.html.erb
+++ b/app/views/users/_project_message.html.erb
@@ -82,14 +82,14 @@
<% all_comments = []%>
- <% count=get_all_children(all_comments, activity).count %>
+ <% all_replies = get_all_children(all_comments, activity) %>
+ <% count = all_replies.count %>
<%# allow_delete = (activity.user == User.current || User.current.admin? || User.current.allowed_to?(:as_teacher,activity.course)) %>
<%# count = fetch_user_leaveWord_reply(activity).count %>
<%= render :partial => 'users/reply_banner', :locals => {:count => count, :activity => activity, :user_activity_id => user_activity_id,:is_course => is_course,:is_board =>is_board} %>
- <% all_comments = []%>
- <% comments = get_all_children(all_comments, activity)[0..2] %>
+ <% comments = all_replies[0..2] %>
<% if count > 0 %>
<%= render :partial => 'users/message_replies', :locals => {:comments => comments, :user_activity_id => user_activity_id, :type => 'Message', :activity_id =>activity.id, :is_course => is_course, :is_board =>is_board}%>
diff --git a/app/views/users/_resources_list.html.erb b/app/views/users/_resources_list.html.erb
index 0190e60dc..3c78e3a0c 100644
--- a/app/views/users/_resources_list.html.erb
+++ b/app/views/users/_resources_list.html.erb
@@ -249,7 +249,7 @@
}
line.children().css("background-color", 'white');
id = line.children().last().html();
- user_id = line.children().eq(5).html();
+ user_id = line.children().eq(4).html();
if(user_id === '<%= User.current.id%>') {
if(line.children().first().children().data('hasHistory') == 'Y'){
alert('该资源存在历史版本,不能删除');
diff --git a/app/views/users/_user_blog.html.erb b/app/views/users/_user_blog.html.erb
index 5361a37ad..7906f7a7c 100644
--- a/app/views/users/_user_blog.html.erb
+++ b/app/views/users/_user_blog.html.erb
@@ -42,12 +42,12 @@
<% all_comments = []%>
- <% count=get_all_children(all_comments, activity).count %>
+ <% all_replies = get_all_children(all_comments, activity) %>
+ <% count = all_replies.count %>
<%= render :partial => 'users/reply_banner', :locals => {:count => count, :activity => activity, :user_activity_id => user_activity_id, :homepage => 0} %>
- <% all_comments = []%>
- <% comments = get_all_children(all_comments, activity)[0..2] %>
+ <% comments = all_replies[0..2] %>
<% if count > 0 %>
<%= render :partial => 'users/message_replies', :locals => {:comments => comments, :user_activity_id => user_activity_id, :type => 'BlogComment', :activity_id =>activity.id, :homepage => 0, :user_id => activity.author_id}%>
diff --git a/app/views/users/_user_group_attr.html.erb b/app/views/users/_user_group_attr.html.erb
index 4596ef411..864ce4f76 100644
--- a/app/views/users/_user_group_attr.html.erb
+++ b/app/views/users/_user_group_attr.html.erb
@@ -1,10 +1,10 @@
分组设置:
每组最小人数:
- />人
+ />人
每组最大人数:
- />人
+ />人
@@ -21,7 +21,29 @@
\ No newline at end of file
diff --git a/app/views/users/_user_homework_form.html.erb b/app/views/users/_user_homework_form.html.erb
index f225e4fcd..842cf50f4 100644
--- a/app/views/users/_user_homework_form.html.erb
+++ b/app/views/users/_user_homework_form.html.erb
@@ -7,14 +7,14 @@
var first_click = true;
$(function(){
$("#homework_type_option").on("change",function(){
- var type = $(this).children('option:selected').val()
+ var type = $(this).children('option:selected').val();
if(type == "1"){
$("#homeworkSetting").addClass("undis");
$("#homeworkSetting").html("");
}else if(type == "2"){
$("#homeworkSetting").removeClass("undis");
$("#homeworkSetting").html("<%=escape_javascript(render :partial => 'users/user_programing_attr', :locals => {:edit_mode => edit_mode, :homework=>homework, :not_allow_select => not_allow_select}) %>");
- }else{
+ }else if(type == "3"){
$("#homeworkSetting").removeClass("undis");
$("#homeworkSetting").html("<%=escape_javascript(render :partial => 'users/user_group_attr', :locals => {:edit_mode => edit_mode, :homework=>homework, :not_allow_select => not_allow_select}) %>");
}
diff --git a/app/views/users/_user_journalsformessage.html.erb b/app/views/users/_user_journalsformessage.html.erb
index 7880cde99..e4bad29b4 100644
--- a/app/views/users/_user_journalsformessage.html.erb
+++ b/app/views/users/_user_journalsformessage.html.erb
@@ -63,12 +63,12 @@
<% all_comments = []%>
- <% count=get_all_children(all_comments, activity).count %>
+ <% all_replies = get_all_children(all_comments, activity) %>
+ <% count = all_replies.count %>
<%= render :partial => 'users/reply_banner', :locals => {:count => count, :activity => activity, :user_activity_id => user_activity_id} %>
- <% all_comments = []%>
- <% comments = get_all_children(all_comments, activity)[0..2] %>
+ <% comments = all_replies[0..2] %>
<% if count > 0 %>
<%= render :partial => 'users/message_replies', :locals => {:comments => comments, :user_activity_id => user_activity_id, :type => 'JournalsForMessage', :activity_id =>activity.id}%>
diff --git a/app/views/users/_user_resource_info.html.erb b/app/views/users/_user_resource_info.html.erb
index d3b169a17..d5a31bdf7 100644
--- a/app/views/users/_user_resource_info.html.erb
+++ b/app/views/users/_user_resource_info.html.erb
@@ -225,7 +225,7 @@
document.oncontextmenu = function() {return true;}
line.children().css("background-color",'white');
id = line.children().last().html();
- user_id = line.children().eq(5).html();
+ user_id = line.children().eq(4).html();
if(user_id === '<%= User.current.id %>') {
res_name = line.children().eq(1).children().attr('title');
res_link = line.children().eq(1).html();
diff --git a/app/views/versions/index.html.erb b/app/views/versions/index.html.erb
index 6b42dc3d8..ee940f342 100644
--- a/app/views/versions/index.html.erb
+++ b/app/views/versions/index.html.erb
@@ -25,8 +25,8 @@
<% @versions.each do |version| %>
-
- <%= version_anchor(version)%>
+
+ <%= version_anchor(version)%>
<%#= link_to_version_show version, :name => version_anchor(version) %>
<% if version.completed? %>
<%= format_date(version.effective_date) %>
@@ -74,5 +74,5 @@
<%= context_menu issues_context_menu_path %>
diff --git a/app/views/wiki/edit.html.erb b/app/views/wiki/edit.html.erb
index 17723f633..a14cc01c1 100644
--- a/app/views/wiki/edit.html.erb
+++ b/app/views/wiki/edit.html.erb
@@ -1,7 +1,7 @@
<%= wiki_page_breadcrumb(@page) %>
-
+
Wiki
@@ -21,8 +21,8 @@
-
-
+
+
<%=text_area_tag 'content[text]', @text, :required => true, :id => 'editor02', :cols => 100, :rows => 25 %>
diff --git a/app/views/wiki/show.html.erb b/app/views/wiki/show.html.erb
index 4d100e9d7..bd9a0dc90 100644
--- a/app/views/wiki/show.html.erb
+++ b/app/views/wiki/show.html.erb
@@ -1,4 +1,4 @@
-
+
Wiki
@@ -94,5 +94,7 @@
}
});
};
+
+ $(".project_r_h").parent().css({"width":"730px","background-color":"#fff","padding":"10px","margin-left":"10px","margin-bottom":"10px"});
\ No newline at end of file
diff --git a/config/locales/projects/zh.yml b/config/locales/projects/zh.yml
index 98e13a865..8944fad0c 100644
--- a/config/locales/projects/zh.yml
+++ b/config/locales/projects/zh.yml
@@ -209,7 +209,7 @@ zh:
issue_xls_description: 描述
issue_xls_created_at: 创建时间
issue_xls_tracker_id: 类型
- issue_xls_author: 作者
+ issue_xls_author: 发布人
issue_xls_assign: 指派给
issue_xls_status: 状态
issue_xls_priority: 优先级
diff --git a/db/migrate/20161008015936_add_syllabus_members.rb b/db/migrate/20161008015936_add_syllabus_members.rb
new file mode 100644
index 000000000..6c477cd51
--- /dev/null
+++ b/db/migrate/20161008015936_add_syllabus_members.rb
@@ -0,0 +1,13 @@
+class AddSyllabusMembers < ActiveRecord::Migration
+ def up
+ Syllabus.all.each do |syllabus|
+ if syllabus.syllabus_members.empty?
+ member = SyllabusMember.create(:user_id => syllabus.user_id, :rank => 1)
+ syllabus.syllabus_members << member
+ end
+ end
+ end
+
+ def down
+ end
+end
diff --git a/lib/redmine/scm/adapters/git_adapter.rb b/lib/redmine/scm/adapters/git_adapter.rb
index 927018b34..76666b071 100644
--- a/lib/redmine/scm/adapters/git_adapter.rb
+++ b/lib/redmine/scm/adapters/git_adapter.rb
@@ -61,7 +61,7 @@ module Redmine
end
end
- def initialize(url, root_url=nil, login=nil, password=nil, path_encoding=nil)
+ def initialize(url, root_url=nil, login=nil, password=nil, path_encoding=nil, project_id)
super
@path_encoding = path_encoding.blank? ? 'UTF-8' : path_encoding
end
diff --git a/lib/tasks/homework_evaluation.rake b/lib/tasks/homework_evaluation.rake
index a8356ea5a..448137441 100644
--- a/lib/tasks/homework_evaluation.rake
+++ b/lib/tasks/homework_evaluation.rake
@@ -14,24 +14,24 @@ namespace :homework_evaluation do
if homework_common.anonymous_comment == 0 && homework_detail_manual.comment_status == 1 #新建状态才可开启匿评
student_works = homework_common.student_works.has_committed
if student_works && student_works.size >= 2
- if homework_common.homework_type == 3
- student_work_projects = homework_common.student_work_projects.where("student_work_id is not null")
- student_work_projects.each_with_index do |pro_work, pro_index|
- n = homework_detail_manual.evaluation_num
- n = n < student_works.size ? n : student_works.size - 1
- work_index = -1
- student_works.each_with_index do |stu_work, stu_index|
- if stu_work.id.to_i == pro_work.student_work_id.to_i
- work_index = stu_index
- end
- end
- assigned_homeworks = get_assigned_homeworks(student_works, n, work_index)
- assigned_homeworks.each do |h|
- student_works_evaluation_distributions = StudentWorksEvaluationDistribution.new(user_id: pro_work.user_id, student_work_id: h.id)
- student_works_evaluation_distributions.save
- end
- end
- else
+ # if homework_common.homework_type == 3
+ # student_work_projects = homework_common.student_work_projects.where("student_work_id is not null")
+ # student_work_projects.each_with_index do |pro_work, pro_index|
+ # n = homework_detail_manual.evaluation_num
+ # n = n < student_works.size ? n : student_works.size - 1
+ # work_index = -1
+ # student_works.each_with_index do |stu_work, stu_index|
+ # if stu_work.id.to_i == pro_work.student_work_id.to_i
+ # work_index = stu_index
+ # end
+ # end
+ # assigned_homeworks = get_assigned_homeworks(student_works, n, work_index)
+ # assigned_homeworks.each do |h|
+ # student_works_evaluation_distributions = StudentWorksEvaluationDistribution.new(user_id: pro_work.user_id, student_work_id: h.id)
+ # student_works_evaluation_distributions.save
+ # end
+ # end
+ # else
student_works.each_with_index do |work, index|
user = work.user
n = homework_detail_manual.evaluation_num
@@ -42,7 +42,7 @@ namespace :homework_evaluation do
student_works_evaluation_distributions.save
end
end
- end
+ #end
homework_detail_manual.update_column('comment_status', 2)
# 匿评开启消息邮件通知,# 所有人
#send_message_anonymous_comment(homework_common, 2)
@@ -77,10 +77,26 @@ namespace :homework_evaluation do
if homework_common.anonymous_comment == 0 && homework_detail_manual.comment_status == 2 #开启匿评状态才可关闭匿评
#计算缺评扣分
work_ids = "(" + homework_common.student_works.has_committed.map(&:id).join(",") + ")"
- homework_common.student_works.has_committed.each do |student_work|
- 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}").count
- student_work.absence_penalty = absence_penalty_count > 0 ? absence_penalty_count * homework_detail_manual.absence_penalty : 0
- student_work.save
+ if homework_common.homework_type != 3
+ homework_common.student_works.has_committed.each do |student_work|
+ 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}").count
+ student_work.absence_penalty = absence_penalty_count > 0 ? absence_penalty_count * homework_detail_manual.absence_penalty : 0
+ student_work.save
+ end
+ else
+ homework_common.student_works.has_committed.each do |student_work|
+ 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}").count
+ student_work.absence_penalty = absence_penalty_count > 0 ? absence_penalty_count * homework_detail_manual.absence_penalty : 0
+ student_work.save
+ if student_work.absence_penalty != 0
+ pros = student_work.student_work_projects.where("is_leader = 0")
+ user_ids = pros.empty? ? "(-1)" : "(" + pros.map{|stu|stu.user_id}.join(",") + ")"
+ student_works = homework_common.student_works.where("user_id in #{user_ids}")
+ student_works.each do |st_work|
+ st_work.update_attribute("absence_penalty", student_work.absence_penalty)
+ end
+ end
+ end
end
homework_detail_manual.update_column('comment_status', 3)
# 匿评关闭消息通知 给所有人发
diff --git a/public/images/sy/icons_sy.png b/public/images/sy/icons_sy.png
index 645dc4e35..d9cf42db8 100644
Binary files a/public/images/sy/icons_sy.png and b/public/images/sy/icons_sy.png differ
diff --git a/public/javascripts/course.js b/public/javascripts/course.js
index b9d02d18e..dbf68ea39 100644
--- a/public/javascripts/course.js
+++ b/public/javascripts/course.js
@@ -46,6 +46,7 @@ function add_group(url,course_id) {
function edit_group(id,url,course_id,group_id)
{
var group_name = $('#'+id).val();
+ var group_id = $('#'+group_id).val();
$.get(
url,
{
@@ -56,7 +57,7 @@ function edit_group(id,url,course_id,group_id)
},
function (data) {
if (data.valid) {
- $("#update_group_"+group_id).submit();
+ $("#update_group_form").submit();
}
else
{
diff --git a/public/stylesheets/css/common.css b/public/stylesheets/css/common.css
index a6cfc5894..defbdbed1 100644
--- a/public/stylesheets/css/common.css
+++ b/public/stylesheets/css/common.css
@@ -81,7 +81,7 @@ h4{ font-size:14px;}/*color:#3b3b3b;*/
/* Float & Clear */
.clear{ zoom:1;}
-.clear:after {content:".";height:0;visibility:hidden;display:block;clear:both;}
+.clear:after {clear:both;content:".";display:block;font-size:0;height:0;line-height:0;visibility:hidden}
.cl{ clear:both; overflow:hidden; }
.fl{float:left;}
.fr{float:right;}
diff --git a/public/stylesheets/css/courses.css b/public/stylesheets/css/courses.css
index eccbcc9b1..a21633e44 100644
--- a/public/stylesheets/css/courses.css
+++ b/public/stylesheets/css/courses.css
@@ -530,7 +530,7 @@ a:hover.blueCir{ background:#3598db; color:#fff;}
.courseR {width:220px; padding:10px; background-color:#ffffff; margin-top:10px;}
/*20160310分班样式*/
-.select-class-option {width:125px;}
+.select-class-option {width:100px;}
/*20160520作品列表table*/
.hwork-table-wrap {width:720px; border-collapse:collapse; vertical-align:middle; table-layout:fixed;}
diff --git a/public/stylesheets/css/project.css b/public/stylesheets/css/project.css
index 7da1e671b..44b607b3b 100644
--- a/public/stylesheets/css/project.css
+++ b/public/stylesheets/css/project.css
@@ -564,7 +564,7 @@ a:hover.upload_btn_grey{background:#8a8a8a;}
.sy_class_infobox{
padding:15px;
background:#fff;
- margin:12px auto 0;
+ margin:0px auto ;
width:968px;
border:1px solid #e5e5e5;
position: relative;
@@ -798,8 +798,8 @@ a:hover.hw_btn_blue,a:active.hw_btn_blue{ background: #3b94d6; color:#fff;}
input.issues_calendar_input{ padding-left:5px; color:#444; border-right:none;}
.issues_data_img{ display:block; width:25px; height:33px; border:1px solid #c8c8c8; border-left:none; background: url("/images/public_icon.png") -29px 9px no-repeat; }
/* 缺陷Tab */
-.issues_con_list{border:1px solid #c8c8c8; }
-#issues_list_nav {border-bottom:1px solid #d0d0d0;}
+.issues_con_list{border:1px solid #e5e3da; }
+#issues_list_nav {border-bottom:1px solid #e5e3da;}
#issues_list_nav li {float:left; padding:10px 15px; text-align:center; }
#issues_list_nav li a{font-size:12px; color:#444;}
.issues_nav_hover{border-bottom:3px solid #3498db; font-weight:bold; }
@@ -816,9 +816,9 @@ input.issues_calendar_input{ padding-left:5px; color:#444; border-right:none;}
input.issues_calendar_input{ padding-left:5px; color:#444; border-right:none;}
.issues_data_img{ display:block; width:25px; height:28px; border:1px solid #c8c8c8; border-left:none; background: url("/images/public_icon.png") -29px 9px no-repeat; }
-.issues_list_box{ padding:15px; padding-right: 0px; border-bottom:1px dashed #c8c8c8;}
+.issues_list_box{ padding:15px; padding-right: 0px; border-bottom:1px dashed #e5e3da;}
.issues_list_titlebox{ font-size:14px; font-weight:bold; margin-bottom:8px;}
-a.issues_list_title{ color:#444; max-width:260px; overflow:hidden; text-overflow:ellipsis; -o-text-overflow:ellipsis; white-space:nowrap; }
+a.issues_list_title{ color:#444; max-width:300px; overflow:hidden; text-overflow:ellipsis; -o-text-overflow:ellipsis; white-space:nowrap; }
a:hover.issues_list_title{color:#3b94d6;}
.issues_list_titlebox span{ font-size: 12px;color: #888; font-weight: normal; }
.issues_ciricons_01{ width: 22px; height: 22px; display: inline-block; background: url("/images/new_project/icons_issue.png") 0 0 no-repeat;}
@@ -827,7 +827,7 @@ a:hover.issues_list_title{color:#3b94d6;}
.issues_list_name{ font-size: 12px;}
.issues_list_name:hover{ color: #3b94d6;}
.issues_list_small{ font-size: 12px; color: #666;}
-.issues_list_txt li{ height: 50px; line-height: 50px; float: left; font-size: 12px; width: 70px; text-align: center; overflow:hidden; text-overflow:ellipsis; -o-text-overflow:ellipsis; white-space:nowrap;}
+.issues_list_txt li{ height: 50px; float: left; font-size: 12px; width: 70px; text-align: center; overflow:hidden; text-overflow:ellipsis; -o-text-overflow:ellipsis; white-space:nowrap;}
.issues_list_txt li.issues_list_min{ width: 52px;}
diff --git a/public/stylesheets/css/public.css b/public/stylesheets/css/public.css
index 4937bd883..514139513 100644
--- a/public/stylesheets/css/public.css
+++ b/public/stylesheets/css/public.css
@@ -1404,6 +1404,7 @@ a:hover.comment_ding_link{ color:#269ac9;}
.orig_icon{ color:#888; margin-right:10px; font-size:14px; font-weight:bold;}
.relateText {font-size:16px; color:#269ac9; line-height:16px; padding-top:20px; display:inline-block; font-weight: bold;}
+.detail_cont_hide{ text-align:center; width:690px; display:block; font-size:14px; color:#333; border-bottom:1px solid #e3e3e3; padding:8px 0; margin: 0px auto;}
/* 未登录的提示信息 */
.syllabusbox_tishi{
diff --git a/public/stylesheets/syllabus.css b/public/stylesheets/syllabus.css
index 1a04c73a5..12f3ecb6c 100644
--- a/public/stylesheets/syllabus.css
+++ b/public/stylesheets/syllabus.css
@@ -498,6 +498,11 @@ a:hover.sy_btn_orange{
.accordion li.sy_icons_exercise:target > a:before,
.accordion li.ssy_icons_exercise > a.active:before { background-position: -23px -290px; }
+.accordion li.sy_icons_group > a:before { background-position: 7px -570px; }
+.accordion li.sy_icons_group:hover > a:before,
+.accordion li.sy_icons_group:target > a:before,
+.accordion li.sy_icons_group > a.active:before { background-position: -23px -570px; }
+
.accordion li.sy_icons_st > a:before { background-position: 5px -330px; }
.accordion li.sy_icons_st:hover > a:before,
.accordion li.sy_icons_st:target > a:before,
@@ -620,7 +625,7 @@ a:hover.sy_class_ltitle{ color:#333;}
/*20160918教师团队*/
.sy_new_tablebox{ padding:15px; padding-bottom:none;}
-.sy_new_table{ width:100%; background:#fff; border:1px solid #e5e5e5; padding-bottom:30px;}
+.sy_new_table{ width:100%; background:#fff; border:1px solid #e5e5e5;}
.sy_new_table thead tr{ height:40px; line-height:40px;}
.sy_new_table thead tr th{ border-bottom:1px solid #e5e5e5;}
.sy_new_table tbody tr:hover{ background:#f5f5f5;}
@@ -634,3 +639,40 @@ a:hover.sy_class_ltitle{ color:#333;}
.sy_new_name{ display:block;max-width:120px; overflow:hidden;white-space: nowrap; text-overflow:ellipsis;}
.sy_new_long_name{ display:block;width:180px; overflow:hidden;white-space: nowrap; text-overflow:ellipsis;}
.mt12{ margin-top:12px;}
+
+/*20160919分班*/
+.sy_class_nobg{ background-color:#eaebec;}
+.sy_class_r_head{ border: 1px solid #e7e7e7; background-color: #fff; padding:10px 15px; position: relative;}
+.sy_class_r_head h3{ font-size: 14px; color: #333;}
+.sy_class_r_more{ display: block;}
+.sy_class_fenban{border: 1px solid #e7e7e7; background-color: #fff; padding:15px;}
+.sy_fenban_input{ height: 28px; background-color: #fff; border: 1px solid #d1d1d1;-webkit-border-radius:3px;-moz-border-radius:3px;-o-border-radius:3px;border-radius:3px; border:1px solid #d3d3d3;padding-left:5px; color:#888; box-shadow: inset 0px 0px 5px #dcdcdc; }
+.sy_icons_edit{ display: inline-block; padding:9px;background:url(../images/sy/sy_icons02.png) 0 1px no-repeat; }
+.sy_icons_del{ padding:9px;background:url(../images/sy/sy_icons02.png) 0 -21px no-repeat;}
+.sy_icons_edit:hover{ background:url(../images/sy/sy_icons02.png) -20px 1px no-repeat; }
+.sy_icons_del:hover{ background:url(../images/sy/sy_icons02.png) -20px -21px no-repeat;}
+.sy_icons_tips{padding:9px;background:url(../images/sy/sy_icons02.png) 0 -66px no-repeat;}
+.sy_sortupbtn{display: inline-block; width:15px; height:18px;background:url(../images/sy/sy_icons02.png) 0 -39px no-repeat;}
+.sy_sortdownbtn{display: inline-block; width:15px; height:18px;background:url(../images/sy/sy_icons02.png) -22px -39px no-repeat;}
+.sy_fenban_list{-webkit-border-radius:3px;-moz-border-radius:3px;-o-border-radius:3px;border-radius:3px; border:1px solid #d2d8e6; padding:5px 10px;background: #f8f9fd}
+.sy_fenban_list a{ color:#3b94d6;}
+.sy_fenban_list a:hover{ color:#2788d0;}
+.sy_class_users_st{ width:30px; }
+.sy_class_users_st_name{ display: inline-block;width:70px; overflow:hidden;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
+.sy_class_users_st_num{ display: block;width:90px; overflow:hidden;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
+.sy_class_users_st img{ width:30px;height:30px; border: 1px solid #fff;-webkit-border-radius:50px;-moz-border-radius:50px;-o-border-radius:50px;border-radius:50px;}
+.sy_fenban_select{height: 28px; background-color: #fff; border: 1px solid #d1d1d1;-webkit-border-radius:3px;-moz-border-radius:3px;-o-border-radius:3px;border-radius:3px; border:1px solid #d3d3d3;padding-left:5px; color:#888; box-shadow: inset 0px 0px 5px #dcdcdc; }
+.sy_new_table_width tr th.sy_th10{ width: 10%; }
+.sy_new_table_width tr th.sy_th0{ width: 12.5%; }
+.sy_new_table_width tr th.sy_th15{ width: 15%; }
+.sy_new_table_width tr th.sy_th7{ width: 7%;}
+.sy_new_table_width tr th.sy_th13{ width: 13%;}
+.sy_fenban_tap{ cursor: pointer; position: relative;}
+.sy_fenban_tap:hover .sy_fenban_show{ display: block;}
+.sy_fenban_show{ width:140px; z-index: 999;text-align: center; line-height:2.0; font-size:12px; font-weight: normal;color:#888;background-color:#fff; border:1px solid #eaeaea;border-radius:5px;position:absolute;left:20px; top:30px;padding:5px 0px;display:none; box-shadow: 0px 2px 8px rgba(146, 153, 169, 0.5);}
+.sy_tips_box{ position: relative; cursor: pointer;}
+.sy_tips_box:hover .sy_tips_box_inner{ display: block;}
+.sy_tips_box_inner{ position: absolute;line-height: 2.0;padding: 5px 10px; white-space: nowrap; background-color: #fff; left:30px; top: -5px; box-shadow: 0px 2px 8px rgba(146, 153, 169, 0.5);}
+.sy_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;}
+.hw_search_box a.hw_btn_search{display:block; width:20px; height:20px; background:url(../images/hw/icons_hw.png) 0 -57px no-repeat; position:absolute; right:5px; top:5px;}
+