@ -2846,18 +2846,18 @@ class UsersController < ApplicationController
end
def user_courselist
@order , @c_sort , @type = params [ :order ] || 1 , params [ :sort ] || 2 , params [ :type ] || 1
@order , @c_sort , @type = params [ :order ] || 1 , params [ :sort ] || 1 , params [ :type ] || 1
#确定 sort_type
if @order . to_i == @type . to_i
@c_sort = @c_sort . to_i == 1 ? 2 : 1 # 2降序 1升序
@c_sort = @c_sort . to_i == 1 ? 2 : 1 # 1升序 2降 序
else
@c_sort = 1
@c_sort = 2
end
sort_name = " updated_at "
sort_type = @c_sort == 1 ? " desc" : " a sc"
sort_type = @c_sort == 1 ? " asc" : " de sc"
if @user . courses . visible . count > 0
course_order_ids = " ( " + CourseActivity . find_by_sql ( " SELECT c.course_id, updated_at FROM(SELECT ca.course_id, MAX(ca.updated_at) AS updated_at FROM course_activities ca WHERE ca.course_id IN ( " + @user . courses . visible . select ( 'courses.id' ) . map { | c | c . id } . join ( ',' ) + " ) GROUP BY ca.course_id) AS c " ) . map { | c | c . course_id } . join ( " , " ) + " ) "
@ -2869,7 +2869,11 @@ class UsersController < ApplicationController
#根据 作业+资源数排序
if @order . to_i == 2
@type = 2
@c_sort == 1 ? ( @courses = @courses . sort { | x , y | ( y . homework_commons . count + visable_attachemnts_incourse ( y ) . count ) < = > ( x . homework_commons . count + visable_attachemnts_incourse ( x ) . count ) } ) : ( @courses . sort { | x , y | ( x . homework_commons . count + visable_attachemnts_incourse ( x ) . count ) < = > ( y . homework_commons . count + visable_attachemnts_incourse ( y ) . count ) } )
@courses . each do | course |
course [ :infocount ] = ( User . current . admin? || User . current . allowed_to? ( :as_teacher , course ) ) ? ( course . homework_commons . count + visable_attachemnts_incourse ( course ) . count ) : ( course . homework_commons . where ( " publish_time <= ' #{ Date . today } ' " ) . count + visable_attachemnts_incourse ( course ) . count )
puts course [ :infocount ]
end
@c_sort == 1 ? ( @courses = @courses . sort { | x , y | x [ :infocount ] < = > y [ :infocount ] } ) : ( @courses = @courses . sort { | x , y | y [ :infocount ] < = > x [ :infocount ] } )
else
@type = 1
end