1 class SearchController < ApplicationController
5 if params[:baseproject]
6 @baseproject = params[:baseproject]
8 # this can get removed, when 11.1 is released and available in OBS
9 if @baseproject == "openSUSE:11.1"
10 @baseproject = "openSUSE:Factory"
21 render :partial => "search_result"
23 render :text => "Search string must have at least 2 characters."
27 def update_description
28 @item_key = params[:item_key]
29 if params[:type] == :pattern
30 render :update do |page|
31 page.replace_html "description-#@item_key", "blub"
35 @fname = params[:fname]
36 @item_description = "pre"
37 tmp, @project, @repository = @item_key.split(/\//)
39 info = ::Published.find @fname, :view => "fileinfo", :project => @project,
40 :repository => @repository, :arch => params[:arch]
41 @item_description = info.description.to_s
42 rescue ActiveXML::Transport::NotFoundError
45 render :update do |page|
46 page.replace_html "description-#@item_key", :partial => 'description'
53 @baseproject = params[:baseproject]
54 @current_page = params[:p].to_i
55 @current_page = 1 if @current_page == 0
58 #sort by length DESC then alphabetically ASC
59 parts = @query.split(" ").sort_by{|a| [-(a.size),a]}
60 return false if parts[0].length < 2
61 @query = parts.join(" ")
63 return false if @query.length < 2
66 base = @baseproject=="ALL" ? "" : @baseproject
67 @result = Seeker.prepare_result(CGI.escape(@query), base)