Commit bbabe06db427da816cad8f67905038d708ed3779

Authored by Luciano Prestes
1 parent b3d90985
Exists in master and in 79 other branches add_sisp_to_chef, add_super_archives_plugin, api_for_colab, automates_core_packing, backup_not_prod, changes_in_buttons_on_content_panel, colab_automated_login, colab_spb_plugin_recipe, colab_widgets_settings, design_validation, dev_env_minimal, disable_email_dev, fix_breadcrumbs_position, fix_categories_software_link, fix_edit_institution, fix_edit_software_with_another_license, fix_get_license_info, fix_gitlab_assets_permission, fix_list_style_inside_article, fix_list_style_on_folder_elements, fix_members_pagination, fix_merge_request_url, fix_models_translations, fix_no_license, fix_software_api, fix_software_block_migration, fix_software_communities_translations, fix_software_communities_unit_test, fix_style_create_institution_admin_panel, fix_superarchives_imports, fix_sym_links_noosfero, focus_search_field_theme, gov-user-refactoring, gov-user-refactoring-rails4, header_fix, institution_modal_on_rating, kalibro-conf-refactoring, kalibro-processor-package, lxc_settings, margin_fix, mezuro_cookbook, prezento, refactor_download_block, refactor_software_communities, refactor_software_for_sisp, register_page, release-process, release-process-v2, remove-unused-images, remove_broken_theme, remove_secondary_email_from_user, remove_sisp_buttons, removing_super_archives_email, review_message, scope2method, signals_user_noosfero, sisp_catalog_header, sisp_colab_config, sisp_dev, sisp_dev_master, sisp_simple_version, software_as_organization, software_catalog_style_fix, software_communities_html_refactor, software_infos_api, spb_minimal_env, spb_to_rails4, spec_refactor, stable-4.1, stable-4.2, stable-4.x, temp_soft_comm_refactoring, theme_header, theme_javascript_refactory, thread_dropdown, thread_page, update_search_by_categories, update_software_api, update_softwares_boxes

Remove fields of software search.

-Software search now is only with its name.

Signed-off-by: Gustavo Jaruga <darksshades@gmail.com>
Signed-off-by: Luciano Prestes <lucianopcbr@gmail.com>
Signed-off-by: Parley Martins <parley@outlook.com>
lib/mpog_software_plugin.rb
... ... @@ -128,10 +128,7 @@ class MpogSoftwarePlugin &lt; Noosfero::Plugin
128 128 community_block = proc do
129 129 results = []
130 130 if params[:type] == "Software"
131   - softwares = SoftwareInfo.search(params[:name], params[:database_description][:id],
132   - params[:programming_language][:id], params[:operating_system][:id],
133   - params[:license_info][:id], params[:e_ping], params[:e_mag], params[:internacionalizable],
134   - params[:icp_brasil], params[:e_arq], params[:software_categories])
  131 + softwares = SoftwareInfo.search(params[:name])
135 132 communities = []
136 133 softwares.each do |s|
137 134 communities << s.community
... ...
lib/software_info.rb
... ... @@ -38,62 +38,10 @@ class SoftwareInfo &lt; ActiveRecord::Base
38 38 values << "%#{name}%" << "%#{name}%"
39 39 end
40 40  
41   - unless database_description_id.blank?
42   - like_sql << "software_databases.database_description_id = ? AND "
43   - values << "#{database_description_id}"
44   - end
45   -
46   - unless programming_language_id.blank?
47   - like_sql << "software_languages.programming_language_id = ? AND "
48   - values << "#{programming_language_id}"
49   - end
50   -
51   - unless operating_system_name_id.blank?
52   - like_sql << "operating_systems.operating_system_name_id = ? AND "
53   - values << "#{operating_system_name_id}"
54   - end
55   -
56   - unless license_info_id.blank?
57   - like_sql << "license_info_id = ? AND "
58   - values << "#{license_info_id}"
59   - end
60   -
61   - unless internacionalizable.blank?
62   - like_sql << "intern = ? AND "
63   - values << "#{internacionalizable}"
64   - end
65   -
66   - unless icp_brasil.blank?
67   - like_sql << "icp_brasil = ? AND "
68   - values << "#{icp_brasil}"
69   - end
70   -
71   - unless e_ping.blank?
72   - like_sql << "e_ping = ? AND "
73   - values << "#{e_ping}"
74   - end
75   -
76   - unless e_mag.blank?
77   - like_sql << "e_mag = ? AND "
78   - values << "#{e_mag}"
79   - end
80   -
81   - unless e_arq.blank?
82   - like_sql << "e_arq = ? AND "
83   - values << "#{e_arq}"
84   - end
85   -
86   - unless software_categories.blank?
87   - software_categories = software_categories.gsub(' ', '').underscore
88   - like_sql << "software_categories.#{software_categories} = ? AND "
89   - values << "true"
90   - end
91   -
92 41 like_sql = like_sql[0..like_sql.length-5]
93 42  
94 43 {
95   - :joins => [:community, :software_databases, :software_languages,
96   - :operating_systems, :software_categories],
  44 + :joins => [:community],
97 45 :conditions=>[like_sql, *values]
98 46 }
99 47 }
... ...
test/functional/search_controller_test.rb
... ... @@ -105,190 +105,6 @@ class SearchControllerTest &lt; ActionController::TestCase
105 105 assert_includes assigns(:searches)[:communities][:results], software.community
106 106 end
107 107  
108   - should "search for software by database" do
109   - fields = software_fields
110   - software = create_software fields
111   - software.software_databases.clear()
112   - software.software_databases << SoftwareDatabase.last
113   - software.save!
114   -
115   - params = {"type"=>"Software", "query"=>"", "name"=>"",
116   - "database_description"=>{"id"=>SoftwareDatabase.last.database_description.id},
117   - "programming_language"=>{"id"=>""}, "operating_system"=>{"id"=>""}, "software_categories"=>"",
118   - "license_info"=>{"id"=>""}, "e_ping"=>"", "e_mag"=>"", "icp_brasil"=>"", "e_arq"=>"", "internacionalizable"=>"",
119   - "commit"=>"Search"}
120   - get :communities, params
121   -
122   - assert_includes assigns(:searches)[:communities][:results], software.community
123   - end
124   -
125   - should "search for software by programming language" do
126   - fields = software_fields
127   - software = create_software fields
128   - software.software_languages.clear()
129   - software.software_languages << SoftwareLanguage.last
130   - software.save!
131   -
132   - params = {"type"=>"Software", "query"=>"", "name"=>"", "database_description"=>{"id"=>""},
133   - "programming_language"=>{"id"=>SoftwareLanguage.last.programming_language.id},
134   - "operating_system"=>{"id"=>""}, "software_categories"=>"",
135   - "license_info"=>{"id"=>""}, "e_ping"=>"", "e_mag"=>"", "icp_brasil"=>"", "e_arq"=>"", "internacionalizable"=>"",
136   - "commit"=>"Search"}
137   - get :communities, params
138   -
139   - assert_includes assigns(:searches)[:communities][:results], software.community
140   - end
141   -
142   - should "search for software by operating system" do
143   - fields = software_fields
144   - software = create_software fields
145   - software.save!
146   - software.operating_systems.clear()
147   - software.operating_systems << OperatingSystem.last
148   - software.save!
149   -
150   - params = {"type"=>"Software", "query"=>"", "name"=>"", "database_description"=>{"id"=>""},
151   - "programming_language"=>{"id"=>""},
152   - "operating_system"=>{"id"=>OperatingSystemName.last.id},
153   - "software_categories"=>"", "license_info"=>{"id"=>""}, "e_ping"=>"", "e_mag"=>"", "icp_brasil"=>"", "e_arq"=>"", "internacionalizable"=>"",
154   - "commit"=>"Search"}
155   - get :communities, params
156   -
157   - assert_includes assigns(:searches)[:communities][:results], software.community
158   - end
159   -
160   - should "search for software by software categories" do
161   - fields = software_fields
162   - software = create_software fields
163   - software.software_categories.habitation = true
164   - software.software_categories.save!
165   - software.save
166   - params = {"type"=>"Software", "query"=>"", "name"=>"", "database_description"=>{"id"=>""},
167   - "programming_language"=>{"id"=>""},
168   - "operating_system"=>{"id"=>""},
169   - "software_categories"=>"habitation", "license_info"=>{"id"=>""}, "e_ping"=>"", "e_mag"=>"", "icp_brasil"=>"", "e_arq"=>"", "internacionalizable"=>"",
170   - "commit"=>"Search"}
171   - get :communities, params
172   -
173   - assert_includes assigns(:searches)[:communities][:results], software.community
174   - end
175   -
176   - should "search for software by license info" do
177   - fields = software_fields
178   - software = create_software fields
179   - software.license_info = LicenseInfo.last
180   - software.save!
181   -
182   - params = {"type"=>"Software", "query"=>"", "name"=>"", "database_description"=>{"id"=>""},
183   - "programming_language"=>{"id"=>""},
184   - "operating_system"=>{"id"=>""},
185   - "software_categories"=>"", "license_info"=>{"id"=>LicenseInfo.last.id}, "e_ping"=>"", "e_mag"=>"", "icp_brasil"=>"", "e_arq"=>"", "internacionalizable"=>"",
186   - "commit"=>"Search"}
187   - get :communities, params
188   -
189   - assert_includes assigns(:searches)[:communities][:results], software.community
190   - end
191   -
192   -
193   - should "search for software by e_mag" do
194   - fields = software_fields
195   - software = create_software fields
196   - software.e_mag = true
197   - software.save!
198   -
199   - params = {"type"=>"Software", "query"=>"", "name"=>"", "database_description"=>{"id"=>""},
200   - "programming_language"=>{"id"=>""},
201   - "operating_system"=>{"id"=>""},
202   - "software_categories"=>"", "license_info"=>{"id"=>""}, "e_ping"=>"", "e_mag"=>"true", "icp_brasil"=>"", "e_arq"=>"", "internacionalizable"=>"",
203   - "commit"=>"Search"}
204   - get :communities, params
205   -
206   - assert_includes assigns(:searches)[:communities][:results], software.community
207   - end
208   -
209   -
210   - should "search for software by e_ping" do
211   - fields = software_fields
212   - software = create_software fields
213   - software.e_ping = true
214   - software.save!
215   -
216   - params = {"type"=>"Software", "query"=>"", "name"=>"", "database_description"=>{"id"=>""},
217   - "programming_language"=>{"id"=>""},
218   - "operating_system"=>{"id"=>""},
219   - "software_categories"=>"", "license_info"=>{"id"=>""}, "e_ping"=>"true", "e_mag"=>"", "icp_brasil"=>"", "e_arq"=>"", "internacionalizable"=>"",
220   - "commit"=>"Search"}
221   - get :communities, params
222   -
223   - assert_includes assigns(:searches)[:communities][:results], software.community
224   - end
225   -
226   -
227   - should "search for software by icp_brasil" do
228   - fields = software_fields
229   - software = create_software fields
230   - software.icp_brasil = true
231   - software.save!
232   -
233   - params = {"type"=>"Software", "query"=>"", "name"=>"", "database_description"=>{"id"=>""},
234   - "programming_language"=>{"id"=>""},
235   - "operating_system"=>{"id"=>""},
236   - "software_categories"=>"", "license_info"=>{"id"=>""}, "e_ping"=>"", "e_mag"=>"", "icp_brasil"=>"true", "e_arq"=>"", "internacionalizable"=>"",
237   - "commit"=>"Search"}
238   - get :communities, params
239   -
240   - assert_includes assigns(:searches)[:communities][:results], software.community
241   - end
242   -
243   - should "search for software by e_arq" do
244   - fields = software_fields
245   - software = create_software fields
246   - software.e_arq = true
247   - software.save!
248   -
249   - params = {"type"=>"Software", "query"=>"", "name"=>"", "database_description"=>{"id"=>""},
250   - "programming_language"=>{"id"=>""},
251   - "operating_system"=>{"id"=>""},
252   - "software_categories"=>"", "license_info"=>{"id"=>""}, "e_ping"=>"", "e_mag"=>"", "icp_brasil"=>"", "e_arq"=>"true", "internacionalizable"=>"",
253   - "commit"=>"Search"}
254   - get :communities, params
255   -
256   - assert_includes assigns(:searches)[:communities][:results], software.community
257   - end
258   -
259   - should "search for software by internacionalizable" do
260   - fields = software_fields
261   - software = create_software fields
262   - software.intern = true
263   - software.save!
264   -
265   - params = {"type"=>"Software", "query"=>"", "name"=>"", "database_description"=>{"id"=>""},
266   - "programming_language"=>{"id"=>""},
267   - "operating_system"=>{"id"=>""},
268   - "software_categories"=>"", "license_info"=>{"id"=>""}, "e_ping"=>"", "e_mag"=>"", "icp_brasil"=>"", "e_arq"=>"", "internacionalizable"=>"true",
269   - "commit"=>"Search"}
270   - get :communities, params
271   -
272   - assert_includes assigns(:searches)[:communities][:results], software.community
273   - end
274   -
275   - should "search by e_arq and e_ping" do
276   - fields = software_fields
277   - software = create_software fields
278   - software.e_arq = true
279   - software.e_ping = true
280   - software.save!
281   -
282   - params = {"type"=>"Software", "query"=>"", "name"=>"", "database_description"=>{"id"=>""},
283   - "programming_language"=>{"id"=>""},
284   - "operating_system"=>{"id"=>""},
285   - "software_categories"=>"", "license_info"=>{"id"=>""}, "e_ping"=>"true", "e_mag"=>"", "icp_brasil"=>"", "e_arq"=>"true", "internacionalizable"=>"",
286   - "commit"=>"Search"}
287   - get :communities, params
288   -
289   - assert_includes assigns(:searches)[:communities][:results], software.community
290   - end
291   -
292 108 protected
293 109  
294 110 def create_user name, state, city, email
... ...
views/search/search_forms/_software_fields.html.erb
1 1 <table class="mpog_search_form_table">
2 2 <tr>
3   - <td> <%= label_tag("name", _("Name"))%> </td>
4 3 <td> <%= text_field_tag(:name) %> </td>
5 4 </tr>
6   -
7   - <tr>
8   - <td> <%= _("Database") %> </td>
9   - <td>
10   - <%= collection_select(:database_description, :id, DatabaseDescription.all, :id, :name, :prompt=>_("Any")) %>
11   - </td>
12   - </tr>
13   -
14   - <tr>
15   - <td> <%= _("Programming Language") %> </td>
16   - <td>
17   - <%= collection_select(:programming_language, :id, ProgrammingLanguage.all, :id, :name, :prompt=>_("Any")) %>
18   - </td>
19   - </tr>
20   -
21   - <tr>
22   - <td> <%= _("Operating System") %> </td>
23   - <td>
24   - <%= collection_select(:operating_system, :id, OperatingSystemName.all, :id, :name, :prompt=>_("Any")) %>
25   - </td>
26   - </tr>
27   -
28   - <tr>
29   - <td> <%= _("Software Categories") %> </td>
30   - <td>
31   - <%= select_tag("software_categories", (SoftwareCategoriesHelper.get_categories_as_options)) %>
32   - </td>
33   - </tr>
34   -
35   - <tr>
36   - <td> <%= _("License Used") %> </td>
37   - <td>
38   - <%= collection_select(:license_info, :id, LicenseInfo.all, :id, :version, :prompt=>_("Any")) %>
39   - </td>
40   - </tr>
41   -
42   - <tr>
43   - <td> <%= _("Adherent to e-PING ?") %> </td>
44   - <td>
45   - <label>
46   - <%= radio_button_tag(:e_ping, "", true) %>
47   - <%= _("Any") %>
48   - </label>
49   -
50   - <label>
51   - <%= radio_button_tag(:e_ping, true) %>
52   - <%= _("Yes") %>
53   - </label>
54   -
55   - <label>
56   - <%= radio_button_tag(:e_ping, false) %>
57   - <%= _("No") %>
58   - </label>
59   - </td>
60   - </tr>
61   -
62   - <tr>
63   - <td> <%= _("Adherent to e-MAG ?") %> </td>
64   - <td>
65   - <label>
66   - <%= radio_button_tag(:e_mag, "", true) %>
67   - <%= _("Any") %>
68   - </label>
69   -
70   - <label>
71   - <%= radio_button_tag(:e_mag, true) %>
72   - <%= _("Yes") %>
73   - </label>
74   -
75   - <label>
76   - <%= radio_button_tag(:e_mag, false) %>
77   - <%= _("No") %>
78   - </label>
79   - </td>
80   - </tr>
81   -
82   - <tr>
83   - <td> <%= _("Adherent to ICP-Brasil ?") %> </td>
84   - <td>
85   - <label>
86   - <%= radio_button_tag(:icp_brasil, "", true) %>
87   - <%= _("Any") %>
88   - </label>
89   -
90   - <label>
91   - <%= radio_button_tag(:icp_brasil, true) %>
92   - <%= _("Yes") %>
93   - </label>
94   -
95   - <label>
96   - <%= radio_button_tag(:icp_brasil, false) %>
97   - <%= _("No") %>
98   - </label>
99   - </td>
100   - </tr>
101   -
102   - <tr>
103   - <td> <%= _("Adherent to e-ARQ ?") %> </td>
104   - <td>
105   - <label>
106   - <%= radio_button_tag(:e_arq, "", true) %>
107   - <%= _("Any") %>
108   - </label>
109   -
110   - <label>
111   - <%= radio_button_tag(:e_arq, true) %>
112   - <%= _("Yes") %>
113   - </label>
114   -
115   - <label>
116   - <%= radio_button_tag(:e_arq, false) %>
117   - <%= _("No") %>
118   - </label>
119   - </td>
120   - </tr>
121   -
122   - <tr>
123   - <td> <%= _("Internacionalizable ?") %> </td>
124   - <td>
125   - <label>
126   - <%= radio_button_tag(:internacionalizable, "", true) %>
127   - <%= _("Any") %>
128   - </label>
129   -
130   - <label>
131   - <%= radio_button_tag(:internacionalizable, true) %>
132   - <%= _("Yes") %>
133   - </label>
134   -
135   - <label>
136   - <%= radio_button_tag(:internacionalizable, false) %>
137   - <%= _("No") %>
138   - </label>
139   - </td>
140   - </tr>
141 5 </table>
142 6 \ No newline at end of file
... ...