Chris@909: class AutoCompletesController < ApplicationController Chris@909: before_filter :find_project Chris@909: Chris@909: def issues Chris@909: @issues = [] Chris@909: q = params[:q].to_s Chris@909: query = (params[:scope] == "all" && Setting.cross_project_issue_relations?) ? Issue : @project.issues Chris@909: if q.match(/^\d+$/) Chris@909: @issues << query.visible.find_by_id(q.to_i) Chris@909: end Chris@909: unless q.blank? Chris@909: @issues += query.visible.find(:all, :conditions => ["LOWER(#{Issue.table_name}.subject) LIKE ?", "%#{q.downcase}%"], :limit => 10) Chris@909: end Chris@909: @issues.compact! Chris@909: render :layout => false Chris@909: end Chris@909: Chris@909: private Chris@909: Chris@909: def find_project Chris@909: project_id = (params[:issue] && params[:issue][:project_id]) || params[:project_id] Chris@909: @project = Project.find(project_id) Chris@909: rescue ActiveRecord::RecordNotFound Chris@909: render_404 Chris@909: end Chris@909: Chris@909: end