Commit 53303e030464bb4c494c76fc1eb20602507356d2
Committed by
Gabriela Navarro
1 parent
afd37db9
Exists in
master
and in
5 other branches
Dynamically update pagination on software search
Signed-off-by: Fabio Teixeira <fabio1079@gmail.com> Signed-off-by: Luciano Prestes <lucianopcbr@gmail.com>
Showing
3 changed files
with
58 additions
and
11 deletions
Show diff stats
public/software-catalog.js
... | ... | @@ -106,6 +106,8 @@ |
106 | 106 | selected_categories_ids.push(element.value); |
107 | 107 | }); |
108 | 108 | |
109 | + open_loading("Loading"); | |
110 | + | |
109 | 111 | $.ajax({ |
110 | 112 | url: AJAX_URL.software_infos, |
111 | 113 | type: "GET", |
... | ... | @@ -113,19 +115,27 @@ |
113 | 115 | query: query_text, |
114 | 116 | selected_categories: selected_categories_ids |
115 | 117 | }, |
116 | - success: callback | |
118 | + success: callback, | |
119 | + error: function(){ | |
120 | + close_loading(); | |
121 | + } | |
117 | 122 | }); |
118 | 123 | } |
119 | 124 | |
120 | 125 | function update_search_page_on_ajax(response) { |
126 | + close_loading(); | |
127 | + response = $(response); | |
121 | 128 | var search_list = $("#search-results"); |
122 | 129 | var selected_categories_field = $("#filter-categories-select-catalog"); |
130 | + var pagination = $(".pagination"); | |
123 | 131 | |
124 | - var result_list = $(response).find("#search-results").html(); | |
125 | - var result_categories = $(response).find("#filter-categories-select-catalog").html(); | |
132 | + var result_list = response.find("#search-results").html(); | |
133 | + var result_categories = response.find("#filter-categories-select-catalog").html(); | |
134 | + var result_pagination = response.find(".pagination").html(); | |
126 | 135 | |
127 | 136 | search_list.html(result_list); |
128 | 137 | selected_categories_field.html(result_categories); |
138 | + pagination.html(result_pagination); | |
129 | 139 | show_head_message(); |
130 | 140 | } |
131 | 141 | ... | ... |
test/functional/search_controller_test.rb
... | ... | @@ -20,10 +20,7 @@ class SearchControllerTest < ActionController::TestCase |
20 | 20 | @request.stubs(:ssl?).returns(:false) |
21 | 21 | @response = ActionController::TestResponse.new |
22 | 22 | |
23 | - @category_software = Category.create!( | |
24 | - :name => _("Software"), | |
25 | - :environment => @environment | |
26 | - ) | |
23 | + create_software_categories | |
27 | 24 | end |
28 | 25 | |
29 | 26 | should "communities searches don't have software or institution" do |
... | ... | @@ -45,7 +42,7 @@ class SearchControllerTest < ActionController::TestCase |
45 | 42 | assert_not_includes assigns(:searches)[:communities][:results], institution |
46 | 43 | end |
47 | 44 | |
48 | - should "software_infos search don't have community or institution" do | |
45 | + should "software_infos search don't have community or institution" do | |
49 | 46 | community = create_community("New Community") |
50 | 47 | software = create_software_info("New Software") |
51 | 48 | institution = create_private_institution("New Private Institution", "NPI" , "Brazil", "DF", "Gama", "66.544.314/0001-63") |
... | ... | @@ -58,7 +55,7 @@ class SearchControllerTest < ActionController::TestCase |
58 | 55 | assert_includes assigns(:searches)[:software_infos][:results], software.community |
59 | 56 | assert_not_includes assigns(:searches)[:software_infos][:results], community |
60 | 57 | assert_not_includes assigns(:searches)[:software_infos][:results], institution.community |
61 | - end | |
58 | + end | |
62 | 59 | |
63 | 60 | |
64 | 61 | should "Don't found template in communities search" do |
... | ... | @@ -89,7 +86,6 @@ class SearchControllerTest < ActionController::TestCase |
89 | 86 | end |
90 | 87 | |
91 | 88 | should "institutions_search don't have community or software" do |
92 | - | |
93 | 89 | community = create_community("New Community") |
94 | 90 | software = create_software_info("New Software") |
95 | 91 | institution = create_private_institution( |
... | ... | @@ -112,6 +108,47 @@ class SearchControllerTest < ActionController::TestCase |
112 | 108 | assigns(:searches)[:institutions][:results], |
113 | 109 | software.community |
114 | 110 | ) |
111 | + end | |
112 | + | |
113 | + should "software_infos search by category" do | |
114 | + software_one = create_software_info("Software One") | |
115 | + software_two = create_software_info("Software Two") | |
116 | + | |
117 | + software_one.community.categories << Category.first | |
118 | + software_two.community.categories << Category.last | |
119 | + | |
120 | + software_one.license_info = LicenseInfo.create :version=>"GPL - 1.0" | |
121 | + software_two.license_info = LicenseInfo.create :version=>"GPL - 1.0" | |
122 | + | |
123 | + software_one.save! | |
124 | + software_two.save! | |
125 | + | |
126 | + get( | |
127 | + :software_infos, | |
128 | + :query => "", | |
129 | + :selected_categories => [Category.first.id] | |
130 | + ) | |
131 | + | |
132 | + assert_includes assigns(:searches)[:software_infos][:results], software_one.community | |
133 | + assert_not_includes assigns(:searches)[:software_infos][:results], software_two.community | |
134 | + end | |
135 | + | |
136 | + private | |
115 | 137 | |
138 | + def create_software_categories | |
139 | + category_software = Category.create!( | |
140 | + :name => "Software", | |
141 | + :environment => @environment | |
142 | + ) | |
143 | + Category.create( | |
144 | + :name => "Category One", | |
145 | + :environment => @environment, | |
146 | + :parent => category_software | |
147 | + ) | |
148 | + Category.create( | |
149 | + :name => "Category Two", | |
150 | + :environment => @environment, | |
151 | + :parent => category_software | |
152 | + ) | |
116 | 153 | end |
117 | 154 | end | ... | ... |
views/search/_mpog_search_form.html.erb
... | ... | @@ -13,7 +13,7 @@ |
13 | 13 | <%= text_field_tag 'query', @query, :id => 'search-input', :size => 50, :placeholder=>_("Type words about the software_info you're looking for") %> |
14 | 14 | </span> |
15 | 15 | |
16 | - <%= submit_button(:search, _('Search'), :class => "button with-text icon-search submit") %> | |
16 | + <%= submit_button(:search, _('Search')) %> | |
17 | 17 | </div> |
18 | 18 | |
19 | 19 | <%= render :partial => 'search_form_extra_fields' %> | ... | ... |