Commit a8887fbb830f0b9a8e702a259e66bca1c07319f2

Authored by Thiago Ribeiro
Committed by Thiago Ribeiro
2 parents 7ed2d55d c489251b
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

Merge branch 'software_community_secret_237' into 'master'

Comunidade de Software sem Opção de Privacidade Secreta

Issue no repositório softwarepublico/noosfero:
https://softwarepublico.gov.br/gitlab/softwarepublico/noosfero/issues/389

Issue no repositório softwarepublico/softwarepublico:
https://softwarepublico.gov.br/gitlab/softwarepublico/softwarepublico/issues/237

See merge request !13
lib/ext/search_controller.rb
... ... @@ -61,6 +61,7 @@ class SearchController
61 61  
62 62 def get_filtered_software_list
63 63 params[:query] ||= ""
  64 + visible_communities = visible_profiles(Community)
64 65  
65 66 filtered_software_list = SoftwareInfo.search_by_query(params[:query])
66 67  
... ... @@ -70,6 +71,7 @@ class SearchController
70 71 @public_software_selected = false
71 72 end
72 73  
  74 + filtered_software_list.select!{ |software| visible_communities.include?(software.community) }
73 75 category_ids = get_filter_category_ids
74 76  
75 77 unless category_ids.empty?
... ...
test/functional/search_controller_test.rb
... ... @@ -239,6 +239,23 @@ class SearchControllerTest < ActionController::TestCase
239 239 assert_not_includes assigns(:searches)[:software_infos][:results], s2.community
240 240 end
241 241  
  242 + should "software_infos search not return software with secret community" do
  243 + software_one = create_software_info("Software ABC", :acronym => "SFO", :finality => "Help")
  244 + software_two = create_software_info("Python", :acronym => "SFT", :finality => "Task")
  245 + software_three = create_software_info("Software DEF", :acronym => "SFW", :finality => "Java")
  246 +
  247 + software_one.community.secret = true
  248 + software_one.community.save!
  249 +
  250 + get(
  251 + :software_infos,
  252 + )
  253 +
  254 + assert_includes assigns(:searches)[:software_infos][:results], software_two.community
  255 + assert_includes assigns(:searches)[:software_infos][:results], software_three.community
  256 + assert_not_includes assigns(:searches)[:software_infos][:results], software_one.community
  257 + end
  258 +
242 259 private
243 260  
244 261 def create_software_categories
... ...
views/profile_editor/edit_software_community.html.erb
... ... @@ -32,6 +32,9 @@
32 32 </div>
33 33 <% else %>
34 34 <div>
  35 + <%= labelled_check_box _("Secret &mdash; hide the community and all its contents for non members and other people can't join this community unless they are invited to."), 'profile_data[secret]', true, profile.secret, :class => "profile-secret-box" %>
  36 + </div>
  37 + <div>
35 38 <%= labelled_radio_button _('Public &mdash; show content of this group to all internet users'), 'profile_data[public_profile]', true, @profile.public_profile? %>
36 39 </div>
37 40 <div>
... ... @@ -84,4 +87,4 @@
84 87 <% end %>
85 88 <% end %>
86 89 <% end %>
87   -<% end %>
88 90 \ No newline at end of file
  91 +<% end %>
... ...