Commit f81b2eafb36b724aa17a3454da91e4803f694d04
Committed by
Arthur Esposte
1 parent
916c5b7d
Exists in
master
and in
5 other branches
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>
Showing
6 changed files
with
92 additions
and
1 deletions
Show diff stats
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 | ... | ... |
... | ... | @@ -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/mpog_software_plugin.rb
... | ... | @@ -126,7 +126,8 @@ class MpogSoftwarePlugin < 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 | ... | ... |
... | ... | @@ -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 | ... | ... |
... | ... | @@ -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 | ... | ... |