From 0cd536fcc99deeb64d4709fed86db6feaab4fc58 Mon Sep 17 00:00:00 2001 From: cxt Date: Fri, 4 Mar 2016 10:34:04 +0800 Subject: [PATCH] =?UTF-8?q?=E9=A2=98=E5=BA=93=E5=A2=9E=E5=8A=A0=E5=8F=91?= =?UTF-8?q?=E5=B8=83=E8=80=85=E5=A7=93=E5=90=8D=E6=90=9C=E7=B4=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/users_controller.rb | 6 +++++- app/helpers/users_helper.rb | 12 ++++++++++++ app/views/users/_homework_search_input.html.erb | 2 +- app/views/users/_show_user_homework_form.html.erb | 2 +- app/views/users/_show_user_homeworks.html.erb | 12 ++++++------ 5 files changed, 25 insertions(+), 9 deletions(-) diff --git a/app/controllers/users_controller.rb b/app/controllers/users_controller.rb index baf74f979..83c75ca0c 100644 --- a/app/controllers/users_controller.rb +++ b/app/controllers/users_controller.rb @@ -559,7 +559,11 @@ 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 diff --git a/app/helpers/users_helper.rb b/app/helpers/users_helper.rb index efb67a2ac..36b81b353 100644 --- a/app/helpers/users_helper.rb +++ b/app/helpers/users_helper.rb @@ -606,4 +606,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/users/_homework_search_input.html.erb b/app/views/users/_homework_search_input.html.erb index 21d1b9625..a4b966bf2 100644 --- a/app/views/users/_homework_search_input.html.erb +++ b/app/views/users/_homework_search_input.html.erb @@ -1,4 +1,4 @@ - +