|
|
|
@ -340,14 +340,14 @@ class CoursesController < ApplicationController
|
|
|
|
|
case @role
|
|
|
|
|
when '1'
|
|
|
|
|
@subPage_title = l :label_teacher_list
|
|
|
|
|
@members = searchTeacherAndAssistant(@course)
|
|
|
|
|
@members = paginateHelper @members, 10
|
|
|
|
|
@all_members = searchTeacherAndAssistant(@course)
|
|
|
|
|
@members = paginateHelper @all_members, 10
|
|
|
|
|
when '2'
|
|
|
|
|
@subPage_title = l :label_student_list
|
|
|
|
|
page = params[:page].nil? ? 0 : (params['page'].to_i - 1)
|
|
|
|
|
@members = student_homework_score(0,page, 10,"desc")
|
|
|
|
|
@all_members = student_homework_score(0,page, 10,"desc")
|
|
|
|
|
|
|
|
|
|
@members = paginateHelper_for_members @members, 10
|
|
|
|
|
@members = paginateHelper_for_members @all_members, 10
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
end
|
|
|
|
@ -357,7 +357,6 @@ class CoursesController < ApplicationController
|
|
|
|
|
else
|
|
|
|
|
format.html {render :layout => 'base_courses'}
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# render :layout => 'base_courses'
|
|
|
|
@ -367,6 +366,16 @@ class CoursesController < ApplicationController
|
|
|
|
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
def export_course_member_excel
|
|
|
|
|
@all_members = student_homework_score(0,0,0,"desc")
|
|
|
|
|
respond_to do |format|
|
|
|
|
|
format.xls {
|
|
|
|
|
send_data(member_to_xls(@all_members,@course.course_groups), :type => "text/excel;charset=utf-8; header=present",
|
|
|
|
|
:filename => "#{@course.teacher.lastname.to_s + @course.teacher.firstname.to_s }_#{@course.name}_#{@course.time.to_s + @course.term}#{l(:excel_member_list)}.xls")
|
|
|
|
|
}
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
def member_score_sort
|
|
|
|
|
# @teachers= searchTeacherAndAssistant(@course)
|
|
|
|
|
@canShowCode = isCourseTeacher(User.current.id,@course) && params[:role] != '1'
|
|
|
|
@ -960,4 +969,39 @@ GROUP BY members.user_id ORDER BY score #{score_sort_by}"
|
|
|
|
|
@results = paginateHelper @results, 10
|
|
|
|
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
def member_to_xls members,groups
|
|
|
|
|
xls_report = StringIO.new
|
|
|
|
|
book = Spreadsheet::Workbook.new
|
|
|
|
|
sheet1 = book.create_worksheet :name => "student"
|
|
|
|
|
|
|
|
|
|
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_score)])
|
|
|
|
|
count_row = 1
|
|
|
|
|
group0 = CourseGroup.new();
|
|
|
|
|
group0.id = 0;
|
|
|
|
|
group0.name = l(:excel_member_with_out_class)
|
|
|
|
|
groups_dup = groups.dup
|
|
|
|
|
groups_dup << group0
|
|
|
|
|
groups_dup.each do |group|
|
|
|
|
|
sheet1[count_row,0] = l(:excel_class)
|
|
|
|
|
sheet1[count_row,1] = group.name
|
|
|
|
|
count_row += 1
|
|
|
|
|
members.each do |member|
|
|
|
|
|
if member.course_group_id == group.id
|
|
|
|
|
sheet1[count_row,0]= member.user.id
|
|
|
|
|
sheet1[count_row,1] = member.user.lastname.to_s + member.user.firstname.to_s
|
|
|
|
|
sheet1[count_row,2] = member.user.login
|
|
|
|
|
sheet1[count_row,3] = member.user.user_extensions.student_id
|
|
|
|
|
sheet1[count_row,4] = member.user.mail
|
|
|
|
|
sheet1[count_row,5] = format("%0.2f",member.score.nil? ? 0:member.score.to_s)
|
|
|
|
|
count_row += 1
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
book.write xls_report
|
|
|
|
|
xls_report.string
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|