From: Jan Provaznik <[email protected]>

https://bugzilla.redhat.com/show_bug.cgi?id=649536

Fixed error when user searches packages with empty string.
---
 src/app/controllers/templates_controller.rb     |   13 ++++++----
 src/app/views/templates/_searched_packages.haml |   29 ++++++++++++----------
 2 files changed, 24 insertions(+), 18 deletions(-)

diff --git a/src/app/controllers/templates_controller.rb 
b/src/app/controllers/templates_controller.rb
index 8261eab..c6187e4 100644
--- a/src/app/controllers/templates_controller.rb
+++ b/src/app/controllers/templates_controller.rb
@@ -76,9 +76,12 @@ class TemplatesController < ApplicationController
       @metagroup = params['show_metagroup']
       content_selection
 
-    elsif not params[:package_search].blank?
+    elsif @package_search = params[:package_search]
       content_selection
 
+    else
+      raise "unknown action"
+
     end
   end
 
@@ -129,12 +132,12 @@ class TemplatesController < ApplicationController
     @categories = @repository_manager.categories(params[:tpl] ? 
params[:tpl][:platform] : nil)
     @metagroups = @repository_manager.metagroups
 
-    if not params[:package_search].blank?
+    if @package_search
       @page = get_page
       @cached_packages = params[:cached_packages].to_a
-      @searched_packages = 
@repository_manager.search_package(params[:package_search],
-                                                              
params[:repository] || @tpl.platform).paginate(:page => @page,
-                                                                               
                              :per_page => 60)
+      @searched_packages = @package_search.empty? ? [] : 
@repository_manager.search_package(@package_search,
+                                                           params[:repository] 
|| @tpl.platform).paginate(:page => @page,
+                                                                               
                           :per_page => 60)
     elsif not @metagroup.blank?
       if @metagroup == 'Collections'
         # TODO: if we remember selected groups, this could be done much more 
simply
diff --git a/src/app/views/templates/_searched_packages.haml 
b/src/app/views/templates/_searched_packages.haml
index 6533f1a..c3ae336 100644
--- a/src/app/views/templates/_searched_packages.haml
+++ b/src/app/views/templates/_searched_packages.haml
@@ -26,18 +26,21 @@
 - @cached_packages.uniq.each do |pkg|
   = hidden_field_tag 'cached_packages[]', pkg
 
-%h4
-  = "Search Results for '#{params[:package_search]}'"
-%ul.searchedpackages
-  - @searched_packages.sort.each do |pkg|
-    %li
-      - selected = (@packages.to_a.find {|p| p[:name] == pkg} or 
@cached_packages.include?(pkg))
-      - disabled = params[:selected_packages].to_a.include?(pkg)
-      = check_box_tag 'packages[]', pkg, selected, {:disabled => disabled, :id 
=> "pkg_#{pkg}"}
-      = label_tag "pkg_#{pkg}", pkg
-.pageinfo
-  = page_entries_info @searched_packages, :entry_name => 'package'
-= will_paginate @searched_packages, :params => {:package_search => 
params[:package_search]}, :renderer => 
TemplatesHelper::ButtonPaginationRenderer.new, :previous_label => 'Previous', 
:next_label => 'Next'
+- if @package_search.empty?
+  Search string is empty.
+-else
+  %h4
+    = "Search Results for '#{params[:package_search]}'"
+  %ul.searchedpackages
+    - @searched_packages.sort.each do |pkg|
+      %li
+        - selected = (@packages.to_a.find {|p| p[:name] == pkg} or 
@cached_packages.include?(pkg))
+        - disabled = params[:selected_packages].to_a.include?(pkg)
+        = check_box_tag 'packages[]', pkg, selected, {:disabled => disabled, 
:id => "pkg_#{pkg}"}
+        = label_tag "pkg_#{pkg}", pkg
+  .pageinfo
+    = page_entries_info @searched_packages, :entry_name => 'package'
+  = will_paginate @searched_packages, :params => {:package_search => 
params[:package_search]}, :renderer => 
TemplatesHelper::ButtonPaginationRenderer.new, :previous_label => 'Previous', 
:next_label => 'Next'
 
 
-= render :partial => 'addbuttons'
+  = render :partial => 'addbuttons'
-- 
1.7.2.3

_______________________________________________
deltacloud-devel mailing list
[email protected]
https://fedorahosted.org/mailman/listinfo/deltacloud-devel

Reply via email to