From 4b58699ee9f2c361f2c28e30c6907ba198291414 Mon Sep 17 00:00:00 2001 From: yutao <283765470@qq.com> Date: Mon, 18 May 2015 16:41:04 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8Dbug#2270=20:forge/course?= =?UTF-8?q?=E4=B8=BB=E9=A1=B5--=E6=90=9C=E7=B4=A2=E7=94=A8=E6=88=B7?= =?UTF-8?q?=E6=97=A0=E4=BB=BB=E4=BD=95=E4=BD=9C=E7=94=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/users_controller.rb | 2 ++ app/services/users_service.rb | 14 +++++++++++--- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/app/controllers/users_controller.rb b/app/controllers/users_controller.rb index 2a10af260..ace4ae903 100644 --- a/app/controllers/users_controller.rb +++ b/app/controllers/users_controller.rb @@ -383,6 +383,8 @@ class UsersController < ApplicationController # scope = User.logged.status(@status) # @search_by = params[:search_by] ? params[:search_by][:id] : 0 # scope = scope.like(params[:name],@search_by) if params[:name].present? + @search_by = params[:search_by] ? params[:search_by] : 0 + us = UsersService.new scope = us.search_user params @user_count = scope.count diff --git a/app/services/users_service.rb b/app/services/users_service.rb index 071820ba3..afefc6ff1 100644 --- a/app/services/users_service.rb +++ b/app/services/users_service.rb @@ -206,10 +206,18 @@ class UsersService } scope = User.logged.status(status) if params[:is_search_assitant].nil? - watcher = User.watched_by(params[:user_id]) - watcher.push(params[:user_id]) + #modify by yutao 2015/5/18 没有params[:user_id]参数时去掉"id not in (?)"条件(bug:#2270) start + #say by yutao: params[:user_id]这个是指谁发起的搜索么? 如果是 这个值貌似应该从session获取 怪怪的赶脚-_-! search_by = params[:search_by] ? params[:search_by] : "0" - scope = scope.where("id not in (?)",watcher).like(params[:name],search_by) if params[:name].present? + if params[:name].present? + if !params[:user_id].nil? + watcher = User.watched_by(params[:user_id]) + watcher.push(params[:user_id]) + scope = scope.where("id not in (?)",watcher) + end + scope = scope.like(params[:name],search_by) + end + #modify by yutao 2015/5/18 没有params[:user_id]参数时去掉"id not in (?)"条件 end else teachers = searchTeacherAndAssistant(Course.find(params[:course_id])) scope = scope.where("id not in (?)",teachers.map{|t| t.user_id}).like(params[:name],search_by) if params[:name].present?