|
|
|
@ -128,7 +128,7 @@ class StudentWorkController < ApplicationController
|
|
|
|
|
solutions = {
|
|
|
|
|
student_work_id:stundet_work.id,
|
|
|
|
|
src:Base64.encode64(stundet_work.description),
|
|
|
|
|
language:1
|
|
|
|
|
language:@homework.homework_detail_programing.language
|
|
|
|
|
}
|
|
|
|
|
uri = URI(url)
|
|
|
|
|
body = solutions.to_json
|
|
|
|
@ -157,7 +157,7 @@ class StudentWorkController < ApplicationController
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
def edit
|
|
|
|
|
if @homework.homework_type == 2 #编程作业不能修改作业
|
|
|
|
|
if !User.current.admin? && @homework.homework_type == 2 #编程作业不能修改作业
|
|
|
|
|
render_403
|
|
|
|
|
else
|
|
|
|
|
respond_to do |format|
|
|
|
|
@ -396,6 +396,7 @@ class StudentWorkController < ApplicationController
|
|
|
|
|
if student_work_test.result == 0
|
|
|
|
|
student_score_count += 1
|
|
|
|
|
end
|
|
|
|
|
student_work_test.error_msg = params[:compile_error_msg]
|
|
|
|
|
student_work_test.save!
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
@ -444,7 +445,7 @@ class StudentWorkController < ApplicationController
|
|
|
|
|
#判断是不是当前作品的提交者
|
|
|
|
|
#提交者 && (非匿评作业 || 未开启匿评) 可以编辑作品
|
|
|
|
|
def author_of_work
|
|
|
|
|
render_403 unless (User.current.id == @work.user_id || User.current.admin?) && (@homework.homework_type != 1 || @homework.homework_detail_manual.comment_status == 1 )
|
|
|
|
|
render_403 unless User.current.admin? || (User.current.id == @work.user_id && @homework.homework_type != 1 || @homework.homework_detail_manual.comment_status == 1 )
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
def teacher_of_course
|
|
|
|
@ -467,22 +468,60 @@ class StudentWorkController < ApplicationController
|
|
|
|
|
sheet1 = book.create_worksheet :name => "homework"
|
|
|
|
|
blue = Spreadsheet::Format.new :color => :blue, :weight => :bold, :size => 10
|
|
|
|
|
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_homework_name),
|
|
|
|
|
l(:excel_t_score),l(:excel_ta_score),l(:excel_n_score),l(:excel_f_score),l(:excel_commit_time)])
|
|
|
|
|
count_row = 1
|
|
|
|
|
items.each do |homework|
|
|
|
|
|
sheet1[count_row,0]=homework.user.id
|
|
|
|
|
sheet1[count_row,1] = homework.user.lastname.to_s + homework.user.firstname.to_s
|
|
|
|
|
sheet1[count_row,2] = homework.user.login
|
|
|
|
|
sheet1[count_row,3] = homework.user.user_extensions.student_id
|
|
|
|
|
sheet1[count_row,4] = homework.user.mail
|
|
|
|
|
sheet1[count_row,5] = homework.name
|
|
|
|
|
sheet1[count_row,6] = homework.teacher_score.nil? ? l(:label_without_score) : format("%.2f",homework.teacher_score)
|
|
|
|
|
sheet1[count_row,7] = homework.teaching_asistant_score.nil? ? l(:label_without_score) : format("%.2f",homework.teaching_asistant_score)
|
|
|
|
|
sheet1[count_row,8] = homework.student_score.nil? ? l(:label_without_score) : format("%.2f",homework.student_score)
|
|
|
|
|
sheet1[count_row,9] = homework.respond_to?("score") ? homework.score.nil? ? l(:label_without_score) : format("%.2f",homework.score) : l(:label_without_score)
|
|
|
|
|
sheet1[count_row,10] = format_time(homework.created_at)
|
|
|
|
|
count_row += 1
|
|
|
|
|
if @homework.homework_type == 0 #普通作业
|
|
|
|
|
sheet1.row(0).concat([l(:excel_user_id),l(:excel_user_name),l(:excel_nickname),l(:excel_student_id),l(:excel_mail),l(:excel_homework_name),
|
|
|
|
|
l(:excel_t_score),l(:excel_ta_score),l(:excel_f_score),l(:excel_commit_time)])
|
|
|
|
|
count_row = 1
|
|
|
|
|
items.each do |homework|
|
|
|
|
|
sheet1[count_row,0]=homework.user.id
|
|
|
|
|
sheet1[count_row,1] = homework.user.lastname.to_s + homework.user.firstname.to_s
|
|
|
|
|
sheet1[count_row,2] = homework.user.login
|
|
|
|
|
sheet1[count_row,3] = homework.user.user_extensions.student_id
|
|
|
|
|
sheet1[count_row,4] = homework.user.mail
|
|
|
|
|
sheet1[count_row,5] = homework.name
|
|
|
|
|
sheet1[count_row,6] = homework.teacher_score.nil? ? l(:label_without_score) : format("%.2f",homework.teacher_score)
|
|
|
|
|
sheet1[count_row,7] = homework.teaching_asistant_score.nil? ? l(:label_without_score) : format("%.2f",homework.teaching_asistant_score)
|
|
|
|
|
# sheet1[count_row,8] = homework.student_score.nil? ? l(:label_without_score) : format("%.2f",homework.student_score)
|
|
|
|
|
sheet1[count_row,8] = homework.respond_to?("score") ? homework.score.nil? ? l(:label_without_score) : format("%.2f",homework.score) : l(:label_without_score)
|
|
|
|
|
sheet1[count_row,9] = format_time(homework.created_at)
|
|
|
|
|
count_row += 1
|
|
|
|
|
end
|
|
|
|
|
elsif @homework.homework_type == 1 #匿评作业
|
|
|
|
|
sheet1.row(0).concat([l(:excel_user_id),l(:excel_user_name),l(:excel_nickname),l(:excel_student_id),l(:excel_mail),l(:excel_homework_name),
|
|
|
|
|
l(:excel_t_score),l(:excel_ta_score), l(:excel_n_score),l(:excel_f_score),l(:excel_commit_time)])
|
|
|
|
|
count_row = 1
|
|
|
|
|
items.each do |homework|
|
|
|
|
|
sheet1[count_row,0]=homework.user.id
|
|
|
|
|
sheet1[count_row,1] = homework.user.lastname.to_s + homework.user.firstname.to_s
|
|
|
|
|
sheet1[count_row,2] = homework.user.login
|
|
|
|
|
sheet1[count_row,3] = homework.user.user_extensions.student_id
|
|
|
|
|
sheet1[count_row,4] = homework.user.mail
|
|
|
|
|
sheet1[count_row,5] = homework.name
|
|
|
|
|
sheet1[count_row,6] = homework.teacher_score.nil? ? l(:label_without_score) : format("%.2f",homework.teacher_score)
|
|
|
|
|
sheet1[count_row,7] = homework.teaching_asistant_score.nil? ? l(:label_without_score) : format("%.2f",homework.teaching_asistant_score)
|
|
|
|
|
sheet1[count_row,8] = homework.student_score.nil? ? l(:label_without_score) : format("%.2f",homework.student_score)
|
|
|
|
|
sheet1[count_row,9] = homework.respond_to?("score") ? homework.score.nil? ? l(:label_without_score) : format("%.2f",homework.score) : l(:label_without_score)
|
|
|
|
|
sheet1[count_row,10] = format_time(homework.created_at)
|
|
|
|
|
count_row += 1
|
|
|
|
|
end
|
|
|
|
|
elsif @homework.homework_type == 2 #编程作业
|
|
|
|
|
sheet1.row(0).concat([l(:excel_user_id),l(:excel_user_name),l(:excel_nickname),l(:excel_student_id),l(:excel_mail),l(:excel_homework_name),
|
|
|
|
|
l(:excel_t_score),l(:excel_ta_score), l(:excel_s_score),l(:excel_f_score),l(:excel_commit_time)])
|
|
|
|
|
count_row = 1
|
|
|
|
|
items.each do |homework|
|
|
|
|
|
sheet1[count_row,0]=homework.user.id
|
|
|
|
|
sheet1[count_row,1] = homework.user.lastname.to_s + homework.user.firstname.to_s
|
|
|
|
|
sheet1[count_row,2] = homework.user.login
|
|
|
|
|
sheet1[count_row,3] = homework.user.user_extensions.student_id
|
|
|
|
|
sheet1[count_row,4] = homework.user.mail
|
|
|
|
|
sheet1[count_row,5] = homework.name
|
|
|
|
|
sheet1[count_row,6] = homework.teacher_score.nil? ? l(:label_without_score) : format("%.2f",homework.teacher_score)
|
|
|
|
|
sheet1[count_row,7] = homework.teaching_asistant_score.nil? ? l(:label_without_score) : format("%.2f",homework.teaching_asistant_score)
|
|
|
|
|
sheet1[count_row,8] = homework.student_score.nil? ? l(:label_without_score) : format("%.2f",homework.student_score)
|
|
|
|
|
sheet1[count_row,9] = homework.respond_to?("score") ? homework.score.nil? ? l(:label_without_score) : format("%.2f",homework.score) : l(:label_without_score)
|
|
|
|
|
sheet1[count_row,10] = format_time(homework.created_at)
|
|
|
|
|
count_row += 1
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
book.write xls_report
|
|
|
|
|
xls_report.string
|
|
|
|
|