@ -23,7 +23,7 @@ class CoursesController < ApplicationController
before_filter :require_login , :only = > [ :join , :unjoin ]
#before_filter :allow_join, :only => [:join]
@@result = nil
def join
if User . current . logged?
course = Course . find_by_id params [ :object_id ]
@ -213,12 +213,13 @@ class CoursesController < ApplicationController
q = " #{ params [ :name ] . strip } "
#(redirect_to stores_url, :notice => l(:label_sumbit_empty);return) if params[:name].blank?
if params [ :incourse ]
@results = searchmember_by_name ( student_homework_score , q )
@results = searchmember_by_name ( student_homework_score ( 0 , 0 , 0 ) , q )
elsif params [ :ingroup ]
@group = CourseGroup . find ( params [ :search_group_id ] )
@results = search group member_by_name( student_homework_score , @group , q )
@results = search member_by_name( student_homework_score (@group . id , 0 , 0 ) , q )
end
@is_remote = true
@result_count = @results . count
@results = paginateHelper @results
@ -287,7 +288,7 @@ class CoursesController < ApplicationController
@group = group
@course_groups = @course . course_groups
@membercount = @members . count
search_group_members group
end
def unjoin_group
@ -299,7 +300,6 @@ class CoursesController < ApplicationController
@group = group
@course_groups = @course . course_groups
@membercount = @members . count
search_group_members group
end
def searchgroupmembers
@ -309,15 +309,19 @@ class CoursesController < ApplicationController
@is_remote = true
if params [ :group_id ] && params [ :group_id ] != " 0 "
@group = CourseGroup . find ( params [ :group_id ] )
@results = student_homework_score . find_all { | mem | mem . course_group_id == group . id }
@results = student_homework_score ( @group . id , 0 , 0 )
@results = paginateHelper @results , 10
else
@results = student_homework_score
page_from = params [ :page ] . nil? ? 0 : ( params [ :page ] . to_i - 1 )
@results = student_homework_score ( 0 , page_from , 10 )
@results = paginateHelper_for_members @results , 10
end
@@result = @results
@members = searchStudent ( @course )
@membercount = @members . count
@results = paginateHelper @results
end
@ -325,30 +329,36 @@ class CoursesController < ApplicationController
## 有角色参数的才是课程,没有的就是项目
if ( User . current . admin? || @course . is_public == 1 || ( @course . is_public == 0 && User . current . member_of_course? ( @course ) ) )
@render_file = 'member_list'
@teachers = searchTeacherAndAssistant ( @course )
@canShowCode = isCourseTeacher ( User . current . id , @course ) && params [ :role ] != '1'
@role = params [ :role ]
@role = params [ :role ] . nil? ? '2' :params [ :role ]
@is_remote = true
@course_groups = @course . course_groups if @course . course_groups
@show_serch = params [ :role ] == '2'
case params [ :role ]
case @role
when '1'
@subPage_title = l :label_teacher_list
@members = @teachers
@members = searchTeacherAndAssistant ( @course )
@members = paginateHelper @members , 10
when '2'
@subPage_title = l :label_student_list
@members = student_homework_score
page = params [ :page ] . nil? ? 0 : ( params [ 'page' ] . to_i - 1 )
@members = student_homework_score ( 0 , page , 10 )
# @member_scores = @@member_scores
# @members = searchStudent_sort(@course, 'desc', @@member_scores)
@membercount = @members . count
@members = paginateHelper_for_members @members , 10
end
respond_to do | format |
if params [ :page ]
format . js
else
@subPage_title = ''
@members = @course . member_principals . includes ( :roles , :principal ) . all . sort
format . html { render :layout = > 'base_courses' }
end
@@result = @members
@members = paginateHelper @members
render :layout = > 'base_courses'
end
# render :layout => 'base_courses'
else
render_403
end
@ -356,19 +366,19 @@ class CoursesController < ApplicationController
end
def member_score_sort
@teachers = searchTeacherAndAssistant ( @course )
@canShowCode = isCourseTeacher ( User . current . id , @course ) && params [ :role ] != '1'
@role = params [ :role ]
@course_groups = @course . course_groups if @course . course_groups
@show_serch = params [ :role ] == '2'
@subPage_title = l :label_student_list
@render_file = 'member_list'
unless @@result . nil?
@results = @@result . reverse
@@result = @results
end
@results = paginateHelper @results
# @teachers= searchTeacherAndAssistant(@course )
# @canShowCode = isCourseTeacher(User.current.id,@course) && params[:role] != '1'
# @role = params[:role ]
# @course_groups = @course.course_groups if @course. course_groups
# @show_serch = params[:role] == '2'
# @subPage_title = l :label_student_list
# @render_file = 'member_list'
# @results = params[:result] if params[:result]
# unless @result. nil?
# @results = @result. reverse
#
# end
# @results = paginateHelper @results
end
# 显示每个学生的作业评分详情
def show_member_score
@ -377,17 +387,9 @@ class CoursesController < ApplicationController
respond_to do | format |
format . html { render :layout = > 'course_base' }
format . js
end
end
#判断指定用户是否为课程教师
def isCourseTeacher ( id )
result = false
if @teachers . find_by_user_id ( id ) != nil
result = true
end
result
end
def handle_course courses , activities
@ -880,11 +882,13 @@ class CoursesController < ApplicationController
end
end
def student_homework_score
def student_homework_score ( groupid , start_from , nums )
#teachers = find_course_teachers(@course)
start_from = start_from * nums
sql = ActiveRecord :: Base . connection ( )
homework_scores = Member . find_by_sql ( " call member_score( #{ @course . id } ) " )
homework_scores = Member . find_by_sql ( " call member_score( #{ @course . id } , #{ groupid } , #{ start_from } , #{ nums } ) " )
sql . close ( )
homework_scores
end
@ -900,10 +904,10 @@ class CoursesController < ApplicationController
@canShowCode = isCourseTeacher ( User . current . id , @course ) && params [ :role ] != '1'
@is_remote = true
@members = searchStudent ( @course )
@membercount = @members . count
@results = student_homework_score . find_all { | mem | mem . course_group_id == group . id }
@@result = @results
@results = paginateHelper @results
page_from = params [ :page ] . nil? ? 0 : ( params [ :page ] . to_i - 1 )
@results = student_homework_score ( group . id , 0 , 0 )
@results = paginateHelper @results , 10
end
end