Commit f81b2eafb36b724aa17a3454da91e4803f694d04

Authored by Gabriela Navarro
Committed by Arthur Esposte
1 parent 916c5b7d
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

Add categories software block for home page

Signed-off-by: David Carlos <ddavidcarlos1392@gmail.com>
Signed-off-by: Gabriela Navarro <navarro1703@gmail.com>
Signed-off-by: Luciano Prestes <lucianopcbr@gmail.com>
README.md
... ... @@ -32,6 +32,13 @@ Schedule Institutions Update
32 32 ./plugins/mpog_software/script/schedule_institution_update.sh
33 33  
34 34  
  35 +Create Categories
  36 +-------------------
  37 +
  38 +To create the categories that a software can have run
  39 +
  40 +rake software:create_categories
  41 +
35 42 Running MPOG Software tests
36 43 --------------------
37 44 $ ruby plugins/mpog_software/test/unit/name_of_file.rb
... ...
lib/categories_software_block.rb 0 → 100644
... ... @@ -0,0 +1,29 @@
  1 +class CategoriesSoftwareBlock < Block
  2 +
  3 + attr_accessible :show_name
  4 +
  5 + settings_items :show_name, :type => :boolean, :default => false
  6 +
  7 + def self.description
  8 + _('Categories Softwares')
  9 + end
  10 +
  11 + def help
  12 + _('This block displays the categories and the amount of softwares for each categorie.')
  13 + end
  14 +
  15 + def content(args={})
  16 + block = self
  17 + s = show_name
  18 + lambda do |object|
  19 + render(
  20 + :file => 'blocks/categories_software',
  21 + :locals => { :block => block, :show_name => s }
  22 + )
  23 + end
  24 + end
  25 +
  26 + def cacheable?
  27 + false
  28 + end
  29 +end
... ...
lib/ext/category.rb 0 → 100644
... ... @@ -0,0 +1,11 @@
  1 +require_dependency 'category'
  2 +
  3 +class Category
  4 +
  5 + def software_infos
  6 + software_list = self.communities
  7 + software_list.collect{|x| software_list.delete(x) unless x.software? }
  8 + software_list
  9 + end
  10 +
  11 +end
... ...
lib/mpog_software_plugin.rb
... ... @@ -126,7 +126,8 @@ class MpogSoftwarePlugin &lt; Noosfero::Plugin
126 126 InstitutionsBlock => {:type => [Environment, Person]},
127 127 DownloadBlock => {:type => [Community]},
128 128 RepositoryBlock => {:type => [Community]},
129   - CategoriesAndTagsBlock => {:type => [Community]}
  129 + CategoriesAndTagsBlock => {:type => [Community]},
  130 + CategoriesSoftwareBlock => {:type => [Environment]}
130 131 }
131 132 end
132 133  
... ...
test/unit/categories_software_block_test.rb 0 → 100644
... ... @@ -0,0 +1,19 @@
  1 +require File.dirname(__FILE__) + '/../../../../test/test_helper'
  2 +require File.dirname(__FILE__) + '/../helpers/plugin_test_helper'
  3 +
  4 +class CategoriesSoftwareBlockTest < ActiveSupport::TestCase
  5 + include PluginTestHelper
  6 + should 'inherit from Block' do
  7 + assert_kind_of Block, CategoriesSoftwareBlock.new
  8 + end
  9 +
  10 + should 'declare its default title' do
  11 + CategoriesSoftwareBlock.any_instance.stubs(:profile_count).returns(0)
  12 + assert_equal Block.new.default_title, CategoriesSoftwareBlock.new.default_title
  13 + end
  14 +
  15 + should 'describe itself' do
  16 + assert_not_equal Block.description, CategoriesSoftwareBlock.description
  17 + end
  18 +
  19 +end
... ...
views/blocks/categories_software.html.erb 0 → 100644
... ... @@ -0,0 +1,24 @@
  1 +<div id="mais-software-block">
  2 + <div id="sbp-information-softwares">
  3 +
  4 + <h2>Veja mais Software</h2>
  5 + <ul>
  6 + <li><a href="#">Mais baixados</a></li>
  7 + <li><a href="#">Melhores notas</a></li>
  8 + <li><a href="#">Atualizados recentemente</a></li>
  9 + <li><a href="#">Novos no Portal</a></li>
  10 + </ul>
  11 + </div>
  12 +
  13 + <div id="list-categories">
  14 + <p><%= _("Categories:") %></p>
  15 + <ul class="categories-mais-software">
  16 +
  17 + <% Category.all.each do |category| %>
  18 + <% if category.name != "Software" %>
  19 + <li><%= link_to category.name + " (#{category.software_infos.count})", "#" %></li>
  20 + <% end %>
  21 + <% end %>
  22 + </ul>
  23 + </div>
  24 +</div>
0 25 \ No newline at end of file
... ...