Commit 2b5e621cf631a9638719ba691084dbbed72e4938
1 parent
a770c8f3
Exists in
master
and in
29 other branches
rails3: fix context_content block
Showing
10 changed files
with
51 additions
and
49 deletions
Show diff stats
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 | ... | ... |
... | ... | @@ -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> |