Commit 2b5e621cf631a9638719ba691084dbbed72e4938

Authored by Victor Costa
1 parent a770c8f3

rails3: fix context_content block

plugins/context_content/lib/context_content_plugin/context_content_block.rb
... ... @@ -6,6 +6,8 @@ class ContextContentPlugin::ContextContentBlock < Block
6 6 settings_items :types, :type => Array, :default => ['UploadedFile']
7 7 settings_items :limit, :type => :integer, :default => 6
8 8  
  9 + attr_accessible :show_image, :show_name, :show_parent_content, :types
  10 +
9 11 alias :profile :owner
10 12  
11 13 include Noosfero::Plugin::HotSpot
... ... @@ -42,7 +44,7 @@ class ContextContentPlugin::ContextContentBlock < Block
42 44  
43 45 def content_image(content)
44 46 block = self
45   - lambda do
  47 + proc do
46 48 if content.image?
47 49 image_tag(content.public_filename(:thumb))
48 50 else
... ... @@ -65,7 +67,7 @@ class ContextContentPlugin::ContextContentBlock < Block
65 67  
66 68 def footer
67 69 block = self
68   - lambda do
  70 + proc do
69 71 contents = block.contents(@page)
70 72 if contents
71 73 content_tag('div',
... ... @@ -78,7 +80,7 @@ class ContextContentPlugin::ContextContentBlock < Block
78 80  
79 81 def content(args={})
80 82 block = self
81   - lambda do
  83 + proc do
82 84 contents = block.contents(@page)
83 85 if !contents.blank?
84 86 block_title(block.title) + content_tag('div',
... ...
plugins/context_content/test/functional/content_viewer_controller_test.rb
... ... @@ -14,7 +14,7 @@ class ContentViewerControllerTest < ActionController::TestCase
14 14 @page = fast_create(Folder, :profile_id => @profile.id)
15 15  
16 16 box = Box.create!(:owner => @profile)
17   - @block = ContextContentPlugin::ContextContentBlock.new(:box => box)
  17 + @block = ContextContentPlugin::ContextContentBlock.new(:box_id => box.id)
18 18 @block.types = ['TinyMceArticle']
19 19 @block.limit = 1
20 20 @block.save!
... ...
plugins/context_content/test/functional/profile_design_controller_test.rb
... ... @@ -19,7 +19,7 @@ class ProfileDesignControllerTest < ActionController::TestCase
19 19 @page = fast_create(Folder, :profile_id => @profile.id)
20 20  
21 21 box = Box.create!(:owner => @profile)
22   - @block = ContextContentPlugin::ContextContentBlock.new(:box => box)
  22 + @block = ContextContentPlugin::ContextContentBlock.new(:box_id => box.id)
23 23 @block.types = ['TinyMceArticle']
24 24 @block.limit = 1
25 25 @block.save!
... ... @@ -35,7 +35,7 @@ class ProfileDesignControllerTest < ActionController::TestCase
35 35 assert_tag :tag => 'input', :attributes => { :id => 'block_show_image' }
36 36 assert_tag :tag => 'input', :attributes => { :id => 'block_show_name' }
37 37 assert_tag :tag => 'input', :attributes => { :id => 'block_show_parent_content' }
38   - assert_tag :tag => 'input', :attributes => { :id => 'block_types' }
  38 + assert_tag :tag => 'input', :attributes => { :name => 'block[types][]' }
39 39 end
40 40  
41 41 should 'be able to save TrackListBlock' do
... ...
plugins/context_content/test/unit/context_content_block_test.rb
... ... @@ -163,14 +163,14 @@ class ContextContentBlockTest < ActiveSupport::TestCase
163 163 article2 = fast_create(TinyMceArticle, :parent_id => @page.id)
164 164 article3 = fast_create(TinyMceArticle, :parent_id => @page.id)
165 165 expects(:content_tag).once
166   - expects(:render).with(:partial => 'blocks/more', :locals => {:block => @block, :contents => [article1, article2], :article_id => @page.id}).once
  166 + expects(:render).with(has_entry(:partial => 'blocks/more'))
167 167 instance_eval(&@block.footer)
168 168 end
169 169  
170 170 should 'return box owner on profile method call' do
171 171 profile = fast_create(Community)
172   - box = Box.create(:owner_type => 'Profile', :owner_id => profile.id)
173   - block = ContextContentPlugin::ContextContentBlock.create!(:box => box)
  172 + box = Box.create!(:owner => profile)
  173 + block = ContextContentPlugin::ContextContentBlock.create!(:box_id => box.id)
174 174 assert_equal profile, block.profile
175 175 end
176 176  
... ...
plugins/context_content/views/blocks/_more.html.erb 0 → 100644
... ... @@ -0,0 +1,4 @@
  1 +<% if contents.total_pages > 1 %>
  2 + <%= link_to_remote(nil, :url => {:id => block.id, :controller => 'context_content_plugin_profile', :action => 'view_content', :page => contents.previous_page, :article_id => article_id }, :html => {:class => "button icon-button icon-left #{contents.previous_page ? '':'disabled'}".strip}, :condition => "#{!contents.previous_page.nil?}", :success => "jQuery('#context_content_#{block.id}').effect('slide', {direction: 'left'});" )%>
  3 + <%= link_to_remote(nil, :url => {:id => block.id, :controller => 'context_content_plugin_profile', :action => 'view_content', :page => contents.next_page, :article_id => article_id }, :html => {:class => "button icon-button icon-right #{contents.next_page ? '':'disabled'}".strip}, :condition => "#{!contents.next_page.nil?}", :success => "jQuery('#context_content_#{block.id}').effect('slide', {direction: 'right'});" )%>
  4 +<% end %>
... ...
plugins/context_content/views/blocks/_more.rhtml
... ... @@ -1,4 +0,0 @@
1   -<% if contents.total_pages > 1 %>
2   - <%= link_to_remote(nil, :url => {:id => block.id, :controller => 'context_content_plugin_profile', :action => 'view_content', :page => contents.previous_page, :article_id => article_id }, :html => {:class => "button icon-button icon-left #{contents.previous_page ? '':'disabled'}".strip}, :condition => "#{!contents.previous_page.nil?}", :success => "jQuery('#context_content_#{block.id}').effect('slide', {direction: 'left'});" )%>
3   - <%= link_to_remote(nil, :url => {:id => block.id, :controller => 'context_content_plugin_profile', :action => 'view_content', :page => contents.next_page, :article_id => article_id }, :html => {:class => "button icon-button icon-right #{contents.next_page ? '':'disabled'}".strip}, :condition => "#{!contents.next_page.nil?}", :success => "jQuery('#context_content_#{block.id}').effect('slide', {direction: 'right'});" )%>
4   -<% end %>
plugins/context_content/views/blocks/context_content.html.erb 0 → 100644
... ... @@ -0,0 +1,13 @@
  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"><%= short_filename(content.name, 30) %></div>
  10 + <% end %>
  11 + </a>
  12 + </span>
  13 +<% end %>
... ...
plugins/context_content/views/blocks/context_content.rhtml
... ... @@ -1,13 +0,0 @@
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"><%= short_filename(content.name, 30) %></div>
10   - <% end %>
11   - </a>
12   - </span>
13   -<% end %>
plugins/context_content/views/box_organizer/context_content_plugin/_context_content_block.html.erb 0 → 100644
... ... @@ -0,0 +1,23 @@
  1 +<div id='edit-context-content-block'>
  2 + <%= labelled_form_field _('Limit of items'), text_field(:block, :limit, :size => 3) %>
  3 + <%= labelled_form_field check_box(:block, :show_name) + _('Show content name'), '' %>
  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'), '' %>
  6 +
  7 + <br/>
  8 + <%= label :block, :types, _('Display content types:'), :class => 'formlabel' %>
  9 + <div class="content_types">
  10 + <% @block.first_content_types.each do |type| %>
  11 + <%= labelled_form_field check_box(:block, 'types', {:multiple => true}, type.name, nil) + _(type.short_description), '' %>
  12 + <% end %>
  13 + <% if !@block.more_content_types.empty? %>
  14 + <a href="#" onclick="jQuery('.content_types .more').toggle(); return false;"><%= _('more') %></a>
  15 + <% end %>
  16 + <div class="more" style="display: none">
  17 + <% @block.more_content_types.each do |type| %>
  18 + <%= labelled_form_field check_box(:block, 'types', {:multiple => true}, type.name, nil) + _(type.short_description), '' %>
  19 + <% end %>
  20 + </div>
  21 + </div>
  22 + <br/>
  23 +</div>
... ...
plugins/context_content/views/box_organizer/context_content_plugin/_context_content_block.rhtml
... ... @@ -1,23 +0,0 @@
1   -<div id='edit-context-content-block'>
2   - <%= labelled_form_field _('Limit of items'), text_field(:block, :limit, :size => 3) %>
3   - <%= labelled_form_field check_box(:block, :show_name) + _('Show content name'), '' %>
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'), '' %>
6   -
7   - <br/>
8   - <%= label :block, :types, _('Display content types:'), :class => 'formlabel' %>
9   - <div class="content_types">
10   - <% @block.first_content_types.each do |type| %>
11   - <%= labelled_form_field check_box(:block, 'types', {:multiple => true}, type.name, nil) + _(type.short_description), '' %>
12   - <% end %>
13   - <% if !@block.more_content_types.empty? %>
14   - <a href="#" onclick="jQuery('.content_types .more').toggle(); return false;"><%= _('more') %></a>
15   - <% end %>
16   - <div class="more" style="display: none">
17   - <% @block.more_content_types.each do |type| %>
18   - <%= labelled_form_field check_box(:block, 'types', {:multiple => true}, type.name, nil) + _(type.short_description), '' %>
19   - <% end %>
20   - </div>
21   - </div>
22   - <br/>
23   -</div>