diff --git a/app/controllers/blogs_controller.rb b/app/controllers/blogs_controller.rb index 7bf122847..3305713e7 100644 --- a/app/controllers/blogs_controller.rb +++ b/app/controllers/blogs_controller.rb @@ -6,25 +6,25 @@ class BlogsController < ApplicationController def index @article = BlogComment.new - @order, @b_sort,@type = params[:order] || 1, params[:sort] || 2, params[:type] || 1 + @order, @b_sort,@type = params[:order] || 1, params[:sort] || 1, params[:type] || 1 - #确定 sort_type + #确定 sort_type 1升序 2 降序 if @order.to_i == @type.to_i @b_sort = @b_sort.to_i == 1 ? 2 : 1 else - @b_sort = 1 + @b_sort = 2 end sort_name = "updated_at" - sort_type = @b_sort == 1 ? "desc" : "asc" + sort_type = @b_sort == 1 ? "asc" : "desc" @topics = @user.blog.articles.reorder("#{BlogComment.table_name}.sticky desc,#{BlogComment.table_name}.#{sort_name} #{sort_type}") #根据 赞+回复数排序 if @order.to_i == 2 @type = 2 - @b_sort == 1 ? @topics = @topics.sort{|x,y| get_praise_num(y) + (y.parent ? y.parent.children.count : y.children.count) <=> get_praise_num(x) + (x.parent ? x.parent.children.count : x.children.count) } : @topics = @topics.sort{|x,y| get_praise_num(x) + (x.parent ? x.parent.children.count : x.children.count) <=> get_praise_num(y) + (y.parent ? y.parent.children.count : y.children.count) } + @b_sort == 1 ? @topics = @topics.sort{|x,y| get_praise_num(x) + (x.parent ? x.parent.children.count : x.children.count) <=> get_praise_num(y) + (y.parent ? y.parent.children.count : y.children.count) } : @topics = @topics.sort{|x,y| get_praise_num(y) + (y.parent ? y.parent.children.count : y.children.count) <=> get_praise_num(x) + (x.parent ? x.parent.children.count : x.children.count) } else @type = 1 end diff --git a/app/controllers/users_controller.rb b/app/controllers/users_controller.rb index c4f1de41e..8f80190bf 100644 --- a/app/controllers/users_controller.rb +++ b/app/controllers/users_controller.rb @@ -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" : "asc" + sort_type = @c_sort == 1 ? "asc" : "desc" 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 diff --git a/app/views/users/_user_course_list.html.erb b/app/views/users/_user_course_list.html.erb index 818c82e6e..0a3ac5e5a 100644 --- a/app/views/users/_user_course_list.html.erb +++ b/app/views/users/_user_course_list.html.erb @@ -51,7 +51,7 @@