diff --git a/app/controllers/admin_controller.rb b/app/controllers/admin_controller.rb index 01703f679..cec419eba 100644 --- a/app/controllers/admin_controller.rb +++ b/app/controllers/admin_controller.rb @@ -32,18 +32,20 @@ class AdminController < ApplicationController end def projects +=begin @status = params[:status] || 1 - scope = Project.status(@status).order('id asc') + scope = Project.status(@status) scope = scope.like(params[:name]) if params[:name].present? - @projects = scope.where(project_type: Project::ProjectType_project).all - + @projects = scope.where(project_type: Project::ProjectType_project).reorder("created_on desc").all +=end + @projects = Project.like(@name).order('created_on desc') render :action => "projects", :layout => false if request.xhr? end def courses @name = params[:name] - @courses = Course.like(@name) + @courses = Course.like(@name).order('created_at desc') respond_to do |format| format.html end diff --git a/app/controllers/users_controller.rb b/app/controllers/users_controller.rb index 722522a76..34d40f177 100644 --- a/app/controllers/users_controller.rb +++ b/app/controllers/users_controller.rb @@ -422,11 +422,12 @@ class UsersController < ApplicationController end def choose_user_course + homework = HomeworkCommon.find params[:homework].to_i if !params[:search].nil? search = "%#{params[:search].to_s.strip.downcase}%" - @course = @user.courses.where(" #{Course.table_name}.id = #{params[:search].to_i } or #{Course.table_name}.name like :p",:p=>search).select { |course| @user.allowed_to?(:as_teacher,course)} + @course = @user.courses.where("#{Course.table_name}.id != #{homework.course_id} and #{Course.table_name}.id = #{params[:search].to_i } or #{Course.table_name}.name like :p",:p=>search).select { |course| @user.allowed_to?(:as_teacher,course)} else - @course = @user.courses.select { |course| @user.allowed_to?(:as_teacher,course)} + @course = @user.courses.where("#{Course.table_name}.id != #{homework.course_id}").select { |course| @user.allowed_to?(:as_teacher,course)} end @search = params[:search] #这里仅仅是传递需要发送的资源id @@ -531,7 +532,15 @@ class UsersController < ApplicationController elsif params[:type] == "2" #我的题库 @homeworks = HomeworkCommon.where("user_id = #{@user.id} and publish_time <= '#{Date.today}'").order("created_at desc") end + if params[:property] && params[:property] == "1" + @homeworks = @homeworks.where("homework_type = 1").reorder("created_at desc") + elsif params[:property] && params[:property] == "2" + @homeworks = @homeworks.where("homework_type = 2").reorder("created_at desc") + elsif params[:property] && params[:property] == "3" + @homeworks = @homeworks.where("homework_type = 3").reorder("created_at desc") + end @type = params[:type] + @property = params[:property] @limit = 15 @is_remote = true @hw_count = @homeworks.count @@ -559,10 +568,21 @@ class UsersController < ApplicationController if(params[:type].blank? || params[:type] == "1") #全部 visible_course = Course.where("is_public = 1 && is_delete = 0") visible_course_ids = visible_course.empty? ? "(-1)" : "(" + visible_course.map{|course| course.id}.join(",") + ")" - @homeworks = HomeworkCommon.where("course_id in #{visible_course_ids} and publish_time <= '#{Date.today}' and (name like '%#{search}%')").order("created_at desc") + all_homeworks = HomeworkCommon.where("course_id in #{visible_course_ids} and publish_time <= '#{Date.today}'") + all_user_ids = all_homeworks.map{|hw| hw.user_id} + user_str_ids = search_user_by_name all_user_ids, search + user_ids = user_str_ids.empty? ? "(-1)" : "(" + user_str_ids.join(",") + ")" + @homeworks = HomeworkCommon.where("course_id in #{visible_course_ids} and publish_time <= '#{Date.today}' and (name like '%#{search}%' or user_id in #{user_ids})").order("created_at desc") elsif params[:type] == "2" #课程资源 @homeworks = HomeworkCommon.where("user_id = #{@user.id} and publish_time <= '#{Date.today}' and (name like '%#{search}%')").order("created_at desc") end + if params[:property] && params[:property] == "1" + @homeworks = @homeworks.where("homework_type = 1").reorder("created_at desc") + elsif params[:property] && params[:property] == "2" + @homeworks = @homeworks.where("homework_type = 2").reorder("created_at desc") + elsif params[:property] && params[:property] == "3" + @homeworks = @homeworks.where("homework_type = 3").reorder("created_at desc") + end @type = params[:type] @limit = 15 @is_remote = true diff --git a/app/helpers/users_helper.rb b/app/helpers/users_helper.rb index b77dfe3bd..8ff569e65 100644 --- a/app/helpers/users_helper.rb +++ b/app/helpers/users_helper.rb @@ -661,4 +661,16 @@ module UsersHelper type end + #根据姓名搜索用户 + def search_user_by_name user_ids, name + result_ids = [] + user_ids.each do |user_id| + user = User.find user_id + username = user.lastname.to_s.downcase + user.firstname.to_s.downcase + if username.include?(name) + result_ids << user_id + end + end + result_ids + end end diff --git a/app/views/admin/projects.html.erb b/app/views/admin/projects.html.erb index 3f6ee36f0..d12e85856 100644 --- a/app/views/admin/projects.html.erb +++ b/app/views/admin/projects.html.erb @@ -45,8 +45,8 @@
- <% project_tree(@projects) do |project, level| %> -# <%=time_from_now last_score.created_at %> <%= link_to last_score.user.show_name, user_activities_path(last_score.user_id), :class => "newsBlue ml5 mr5"%>评阅了作品,优秀排行:
- <% ids = '('+student_work_scores.map{|sw|sw.student_work_id}.join(',')+')' %> - <% student_works = activity.student_works.select("student_works.*,IF(final_score is null,null,final_score - absence_penalty - late_penalty) as score").where("student_works.id in #{ids}").order("score desc") %> - <% student_works.each_with_index do |sw, i| %> -分数:<%=format("%.1f",score<0 ? 0 : score) %>分
-分数:<%=format("%.1f",score<0 ? 0 : score) %>分
+