Commit bb680e0a5499382ea1f478cf04f44504cdbfd1af

Authored by Weblate
2 parents 4e172922 4c28a5ae

Merge remote-tracking branch 'origin/master'

plugins/context_content/lib/context_content_plugin/context_content_block.rb
@@ -2,11 +2,12 @@ class ContextContentPlugin::ContextContentBlock < Block @@ -2,11 +2,12 @@ class ContextContentPlugin::ContextContentBlock < Block
2 2
3 settings_items :show_name, :type => :boolean, :default => true 3 settings_items :show_name, :type => :boolean, :default => true
4 settings_items :show_image, :type => :boolean, :default => true 4 settings_items :show_image, :type => :boolean, :default => true
  5 + settings_items :use_parent_title, :type => :boolean, :default => false
5 settings_items :show_parent_content, :type => :boolean, :default => true 6 settings_items :show_parent_content, :type => :boolean, :default => true
6 settings_items :types, :type => Array, :default => ['UploadedFile'] 7 settings_items :types, :type => Array, :default => ['UploadedFile']
7 settings_items :limit, :type => :integer, :default => 6 8 settings_items :limit, :type => :integer, :default => 6
8 9
9 - attr_accessible :show_image, :show_name, :show_parent_content, :types 10 + attr_accessible :show_image, :show_name, :use_parent_title, :show_parent_content, :types
10 11
11 alias :profile :owner 12 alias :profile :owner
12 13
@@ -65,6 +66,11 @@ class ContextContentPlugin::ContextContentBlock < Block @@ -65,6 +66,11 @@ class ContextContentPlugin::ContextContentBlock < Block
65 end 66 end
66 end 67 end
67 68
  69 + def parent_title(contents)
  70 + return nil if contents.blank?
  71 + contents.first.parent.name
  72 + end
  73 +
68 def footer 74 def footer
69 block = self 75 block = self
70 proc do 76 proc do
@@ -82,9 +88,9 @@ class ContextContentPlugin::ContextContentBlock < Block @@ -82,9 +88,9 @@ class ContextContentPlugin::ContextContentBlock < Block
82 block = self 88 block = self
83 proc do 89 proc do
84 contents = block.contents(@page) 90 contents = block.contents(@page)
  91 + parent_title = block.parent_title(contents)
85 if !contents.blank? 92 if !contents.blank?
86 - block_title(block.title) + content_tag('div',  
87 - render(:file => 'blocks/context_content', :locals => {:block => block, :contents => contents}), :class => 'contents', :id => "context_content_#{block.id}") 93 + render(:file => 'blocks/context_content', :locals => {:block => block, :contents => contents, :parent_title => parent_title})
88 else 94 else
89 '' 95 ''
90 end 96 end
plugins/context_content/po/context_content.pot
@@ -6,9 +6,10 @@ @@ -6,9 +6,10 @@
6 #, fuzzy 6 #, fuzzy
7 msgid "" 7 msgid ""
8 msgstr "" 8 msgstr ""
9 -"Project-Id-Version: 1.3~rc2-1-ga15645d\n"  
10 -"POT-Creation-Date: 2015-10-30 16:35-0300\n"  
11 -"PO-Revision-Date: 2015-08-06 17:21-0300\n" 9 +"Project-Id-Version: PACKAGE VERSION\n"
  10 +"Report-Msgid-Bugs-To: \n"
  11 +"POT-Creation-Date: 2016-01-05 12:32+0000\n"
  12 +"PO-Revision-Date: 2016-01-05 12:32+0000\n"
12 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" 13 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
13 "Language-Team: LANGUAGE <LL@li.org>\n" 14 "Language-Team: LANGUAGE <LL@li.org>\n"
14 "Language: \n" 15 "Language: \n"
@@ -17,34 +18,44 @@ msgstr &quot;&quot; @@ -17,34 +18,44 @@ msgstr &quot;&quot;
17 "Content-Transfer-Encoding: 8bit\n" 18 "Content-Transfer-Encoding: 8bit\n"
18 "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" 19 "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n"
19 20
20 -#: plugins/context_content/lib/context_content_plugin.rb:8 21 +#: ../lib/context_content_plugin.rb:8
21 msgid "A plugin that display content based on page context." 22 msgid "A plugin that display content based on page context."
22 msgstr "" 23 msgstr ""
23 24
24 -#: plugins/context_content/lib/context_content_plugin/context_content_block.rb:16 25 +#: ../lib/context_content_plugin/context_content_block.rb:17
25 msgid "Display context content" 26 msgid "Display context content"
26 msgstr "" 27 msgstr ""
27 28
28 -#: plugins/context_content/lib/context_content_plugin/context_content_block.rb:20 29 +#: ../lib/context_content_plugin/context_content_block.rb:21
29 msgid "This block displays content based on context." 30 msgid "This block displays content based on context."
30 msgstr "" 31 msgstr ""
31 32
32 -#: plugins/context_content/views/box_organizer/context_content_plugin/_context_content_block.html.erb:3 33 +#:
  34 +#: ../views/box_organizer/context_content_plugin/_context_content_block.html.erb:3
33 msgid "Show content name" 35 msgid "Show content name"
34 msgstr "" 36 msgstr ""
35 37
36 -#: plugins/context_content/views/box_organizer/context_content_plugin/_context_content_block.html.erb:4 38 +#:
  39 +#: ../views/box_organizer/context_content_plugin/_context_content_block.html.erb:4
37 msgid "Show content image" 40 msgid "Show content image"
38 msgstr "" 41 msgstr ""
39 42
40 -#: plugins/context_content/views/box_organizer/context_content_plugin/_context_content_block.html.erb:5  
41 -msgid "Show parent content when children is empty" 43 +#:
  44 +#: ../views/box_organizer/context_content_plugin/_context_content_block.html.erb:5
  45 +msgid "Use the name of the source folder as block title"
42 msgstr "" 46 msgstr ""
43 47
44 -#: plugins/context_content/views/box_organizer/context_content_plugin/_context_content_block.html.erb:8 48 +#:
  49 +#: ../views/box_organizer/context_content_plugin/_context_content_block.html.erb:6
  50 +msgid "Show block on all existing pages in the source folder"
  51 +msgstr ""
  52 +
  53 +#:
  54 +#: ../views/box_organizer/context_content_plugin/_context_content_block.html.erb:9
45 msgid "Display content types:" 55 msgid "Display content types:"
46 msgstr "" 56 msgstr ""
47 57
48 -#: plugins/context_content/views/box_organizer/context_content_plugin/_context_content_block.html.erb:14 58 +#:
  59 +#: ../views/box_organizer/context_content_plugin/_context_content_block.html.erb:15
49 msgid "more" 60 msgid "more"
50 msgstr "" 61 msgstr ""
plugins/context_content/po/pt/context_content.po
@@ -12,11 +12,11 @@ @@ -12,11 +12,11 @@
12 msgid "" 12 msgid ""
13 msgstr "" 13 msgstr ""
14 "Project-Id-Version: 1.3~rc2-1-ga15645d\n" 14 "Project-Id-Version: 1.3~rc2-1-ga15645d\n"
15 -"POT-Creation-Date: 2015-10-30 16:35-0300\n" 15 +"POT-Creation-Date: 2016-01-05 12:32+0000\n"
16 "PO-Revision-Date: 2014-12-18 18:40-0200\n" 16 "PO-Revision-Date: 2014-12-18 18:40-0200\n"
17 "Last-Translator: Luciano Prestes Cavalcanti <lucianopcbr@gmail.com>\n" 17 "Last-Translator: Luciano Prestes Cavalcanti <lucianopcbr@gmail.com>\n"
18 -"Language-Team: Portuguese <https://hosted.weblate.org/projects/noosfero/"  
19 -"noosfero/pt/>\n" 18 +"Language-Team: Portuguese <https://hosted.weblate.org/projects/noosfero/noosfe"
  19 +"ro/pt/>\n"
20 "Language: pt\n" 20 "Language: pt\n"
21 "MIME-Version: 1.0\n" 21 "MIME-Version: 1.0\n"
22 "Content-Type: text/plain; charset=UTF-8\n" 22 "Content-Type: text/plain; charset=UTF-8\n"
@@ -24,34 +24,49 @@ msgstr &quot;&quot; @@ -24,34 +24,49 @@ msgstr &quot;&quot;
24 "Plural-Forms: nplurals=2; plural=n != 1;\n" 24 "Plural-Forms: nplurals=2; plural=n != 1;\n"
25 "X-Generator: Weblate 2.0\n" 25 "X-Generator: Weblate 2.0\n"
26 26
27 -#: plugins/context_content/lib/context_content_plugin.rb:8 27 +#: ../lib/context_content_plugin.rb:8
28 msgid "A plugin that display content based on page context." 28 msgid "A plugin that display content based on page context."
29 msgstr "Um plugin que mostra conteúdo baseado do contexto da página." 29 msgstr "Um plugin que mostra conteúdo baseado do contexto da página."
30 30
31 -#: plugins/context_content/lib/context_content_plugin/context_content_block.rb:16 31 +#: ../lib/context_content_plugin/context_content_block.rb:17
32 msgid "Display context content" 32 msgid "Display context content"
33 msgstr "Mostrar conteúdo contextual" 33 msgstr "Mostrar conteúdo contextual"
34 34
35 -#: plugins/context_content/lib/context_content_plugin/context_content_block.rb:20 35 +#: ../lib/context_content_plugin/context_content_block.rb:21
36 msgid "This block displays content based on context." 36 msgid "This block displays content based on context."
37 msgstr "Este bloco apresenta conteúdo baseado no contexto." 37 msgstr "Este bloco apresenta conteúdo baseado no contexto."
38 38
39 -#: plugins/context_content/views/box_organizer/context_content_plugin/_context_content_block.html.erb:3 39 +#:
  40 +#: ../views/box_organizer/context_content_plugin/_context_content_block.html.erb:3
40 msgid "Show content name" 41 msgid "Show content name"
41 msgstr "Mostrar o nome do conteúdo" 42 msgstr "Mostrar o nome do conteúdo"
42 43
43 -#: plugins/context_content/views/box_organizer/context_content_plugin/_context_content_block.html.erb:4 44 +#:
  45 +#: ../views/box_organizer/context_content_plugin/_context_content_block.html.erb:4
44 msgid "Show content image" 46 msgid "Show content image"
45 msgstr "Mostrar imagem do conteúdo" 47 msgstr "Mostrar imagem do conteúdo"
46 48
47 -#: plugins/context_content/views/box_organizer/context_content_plugin/_context_content_block.html.erb:5  
48 -msgid "Show parent content when children is empty"  
49 -msgstr "Mostrar conteúdo do pai quando os filhos estão vazios" 49 +#:
  50 +#: ../views/box_organizer/context_content_plugin/_context_content_block.html.erb:5
  51 +msgid "Use the name of the source folder as block title"
  52 +msgstr "Usar o nome da pasta de origem como título do bloco"
  53 +
  54 +#:
  55 +#: ../views/box_organizer/context_content_plugin/_context_content_block.html.erb:6
  56 +msgid "Show block on all existing pages in the source folder"
  57 +msgstr "Exibir o bloco em todas as páginas existentes na pasta de origem"
50 58
51 -#: plugins/context_content/views/box_organizer/context_content_plugin/_context_content_block.html.erb:8 59 +#:
  60 +#: ../views/box_organizer/context_content_plugin/_context_content_block.html.erb:9
52 msgid "Display content types:" 61 msgid "Display content types:"
53 msgstr "Mostrar tipos de conteúdos:" 62 msgstr "Mostrar tipos de conteúdos:"
54 63
55 -#: plugins/context_content/views/box_organizer/context_content_plugin/_context_content_block.html.erb:14 64 +#:
  65 +#: ../views/box_organizer/context_content_plugin/_context_content_block.html.erb:15
56 msgid "more" 66 msgid "more"
57 msgstr "mais" 67 msgstr "mais"
  68 +
  69 +#:
  70 +#: plugins/context_content/views/box_organizer/context_content_plugin/_context_content_block.html.erb:5
  71 +#~ msgid "Show parent content when children is empty"
  72 +#~ msgstr "Mostrar conteúdo do pai quando os filhos estão vazios"
plugins/context_content/test/functional/content_viewer_controller_test.rb
@@ -4,12 +4,13 @@ class ContentViewerControllerTest &lt; ActionController::TestCase @@ -4,12 +4,13 @@ class ContentViewerControllerTest &lt; ActionController::TestCase
4 4
5 def setup 5 def setup
6 @profile = fast_create(Community) 6 @profile = fast_create(Community)
7 - @page = fast_create(Folder, :profile_id => @profile.id) 7 + @page = fast_create(Folder, :profile_id => @profile.id, :name => "New Folder")
8 8
9 box = Box.create!(:owner => @profile) 9 box = Box.create!(:owner => @profile)
10 @block = ContextContentPlugin::ContextContentBlock.new(:box_id => box.id) 10 @block = ContextContentPlugin::ContextContentBlock.new(:box_id => box.id)
11 @block.types = ['TinyMceArticle'] 11 @block.types = ['TinyMceArticle']
12 @block.limit = 1 12 @block.limit = 1
  13 + @block.title = "New Context Block"
13 @block.save! 14 @block.save!
14 end 15 end
15 16
@@ -27,6 +28,24 @@ class ContentViewerControllerTest &lt; ActionController::TestCase @@ -27,6 +28,24 @@ class ContentViewerControllerTest &lt; ActionController::TestCase
27 assert_match /article1/, @response.body 28 assert_match /article1/, @response.body
28 end 29 end
29 30
  31 + should 'display context content block title if it is not configured to use_parent_title' do
  32 + @block.use_parent_title = false
  33 + @block.save
  34 + article = fast_create(TinyMceArticle, :parent_id => @page.id, :profile_id => @profile.id, :name => 'article1')
  35 + get :view_page, @page.url
  36 + assert_tag 'h3', :attributes => {:class => 'block-title'}, :content => @block.title
  37 + assert_no_tag 'h3', :attributes => {:class => 'block-title'}, :content => @page.name
  38 + end
  39 +
  40 + should 'display context content with folder title if it is configured to use_parent_title' do
  41 + @block.use_parent_title = true
  42 + @block.save
  43 + article = fast_create(TinyMceArticle, :parent_id => @page.id, :profile_id => @profile.id, :name => 'article1')
  44 + get :view_page, @page.url
  45 + assert_tag 'h3', :attributes => {:class => 'block-title'}, :content => @page.name
  46 + assert_no_tag 'h3', :attributes => {:class => 'block-title'}, :content => @block.title
  47 + end
  48 +
30 should 'display context content block with pagination' do 49 should 'display context content block with pagination' do
31 article1 = fast_create(TinyMceArticle, :parent_id => @page.id, :profile_id => @profile.id) 50 article1 = fast_create(TinyMceArticle, :parent_id => @page.id, :profile_id => @profile.id)
32 article2 = fast_create(TinyMceArticle, :parent_id => @page.id, :profile_id => @profile.id) 51 article2 = fast_create(TinyMceArticle, :parent_id => @page.id, :profile_id => @profile.id)
plugins/context_content/test/functional/profile_design_controller_test.rb
@@ -27,6 +27,7 @@ class ProfileDesignControllerTest &lt; ActionController::TestCase @@ -27,6 +27,7 @@ class ProfileDesignControllerTest &lt; ActionController::TestCase
27 assert_tag :tag => 'input', :attributes => { :id => 'block_title' } 27 assert_tag :tag => 'input', :attributes => { :id => 'block_title' }
28 assert_tag :tag => 'input', :attributes => { :id => 'block_show_image' } 28 assert_tag :tag => 'input', :attributes => { :id => 'block_show_image' }
29 assert_tag :tag => 'input', :attributes => { :id => 'block_show_name' } 29 assert_tag :tag => 'input', :attributes => { :id => 'block_show_name' }
  30 + assert_tag :tag => 'input', :attributes => { :id => 'block_use_parent_title' }
30 assert_tag :tag => 'input', :attributes => { :id => 'block_show_parent_content' } 31 assert_tag :tag => 'input', :attributes => { :id => 'block_show_parent_content' }
31 assert_tag :tag => 'input', :attributes => { :name => 'block[types][]' } 32 assert_tag :tag => 'input', :attributes => { :name => 'block[types][]' }
32 end 33 end
plugins/context_content/test/unit/context_content_block_test.rb
@@ -27,9 +27,7 @@ class ContextContentBlockTest &lt; ActiveSupport::TestCase @@ -27,9 +27,7 @@ class ContextContentBlockTest &lt; ActiveSupport::TestCase
27 should 'render context content block view' do 27 should 'render context content block view' do
28 @page = fast_create(Folder) 28 @page = fast_create(Folder)
29 article = fast_create(TinyMceArticle, :parent_id => @page.id) 29 article = fast_create(TinyMceArticle, :parent_id => @page.id)
30 - expects(:block_title).with(@block.title).returns('').once  
31 - expects(:content_tag).returns('').once  
32 - expects(:render).with(:file => 'blocks/context_content', :locals => {:block => @block, :contents => [article]}) 30 + expects(:render).with(:file => 'blocks/context_content', :locals => {:block => @block, :contents => [article], :parent_title => @page.name})
33 instance_eval(&@block.content) 31 instance_eval(&@block.content)
34 end 32 end
35 33
@@ -39,6 +37,16 @@ class ContextContentBlockTest &lt; ActiveSupport::TestCase @@ -39,6 +37,16 @@ class ContextContentBlockTest &lt; ActiveSupport::TestCase
39 assert_equal [article], @block.contents(folder) 37 assert_equal [article], @block.contents(folder)
40 end 38 end
41 39
  40 + should 'return parent name of the contents' do
  41 + folder = fast_create(Folder, :name => " New Folder")
  42 + article = fast_create(TinyMceArticle, :parent_id => folder.id)
  43 + assert_equal folder.name, @block.parent_title([article])
  44 + end
  45 +
  46 + should 'return no parent name if there is no content' do
  47 + assert_nil @block.parent_title([])
  48 + end
  49 +
42 should 'limit number of children to display' do 50 should 'limit number of children to display' do
43 @block.limit = 2 51 @block.limit = 2
44 folder = fast_create(Folder) 52 folder = fast_create(Folder)
plugins/context_content/views/blocks/context_content.html.erb
1 -<% contents.each do |content| %>  
2 - <% content = FilePresenter.for(content) %>  
3 - <span class="item">  
4 - <a href="<%= url_for(content.view_url) %>">  
5 - <div class="image">  
6 - <%= instance_eval(&block.content_image(content)) if block.show_image %>  
7 - </div>  
8 - <% if block.show_name %>  
9 - <div class="name"><%= content.name %></div>  
10 - <% end %>  
11 - </a>  
12 - </span> 1 +<% if block.use_parent_title %>
  2 + <%= block_title(parent_title) %>
  3 +<% else %>
  4 + <%= block_title(block.title) %>
13 <% end %> 5 <% end %>
  6 +
  7 +<div class='contents' id='<%="context_content_#{block.id}"%>'>
  8 + <% contents.each do |content| %>
  9 + <% content = FilePresenter.for(content) %>
  10 + <span class="item">
  11 + <a href="<%= url_for(content.view_url) %>">
  12 + <div class="image">
  13 + <%= instance_eval(&block.content_image(content)) if block.show_image %>
  14 + </div>
  15 + <% if block.show_name %>
  16 + <div class="name"><%= content.name %></div>
  17 + <% end %>
  18 + </a>
  19 + </span>
  20 + <% end %>
  21 +</div>
14 \ No newline at end of file 22 \ No newline at end of file
plugins/context_content/views/box_organizer/context_content_plugin/_context_content_block.html.erb
@@ -2,7 +2,8 @@ @@ -2,7 +2,8 @@
2 <%= labelled_form_field c_('Limit of items'), text_field(:block, :limit, :size => 3) %> 2 <%= labelled_form_field c_('Limit of items'), text_field(:block, :limit, :size => 3) %>
3 <%= labelled_form_field check_box(:block, :show_name) + _('Show content name'), '' %> 3 <%= labelled_form_field check_box(:block, :show_name) + _('Show content name'), '' %>
4 <%= labelled_form_field check_box(:block, :show_image) + _('Show content image'), '' %> 4 <%= labelled_form_field check_box(:block, :show_image) + _('Show content image'), '' %>
5 - <%= labelled_form_field check_box(:block, :show_parent_content) + _('Show parent content when children is empty'), '' %> 5 + <%= labelled_form_field check_box(:block, :use_parent_title) + _('Use the name of the source folder as block title'), '' %>
  6 + <%= labelled_form_field check_box(:block, :show_parent_content) + _('Show block on all existing pages in the source folder'), '' %>
6 7
7 <br/> 8 <br/>
8 <%= label :block, :types, _('Display content types:'), :class => 'formlabel' %> 9 <%= label :block, :types, _('Display content types:'), :class => 'formlabel' %>