Commit 94196aae8adacf35724b493160a8cd57f46231cd
1 parent
5e223b92
Exists in
master
and in
22 other branches
rails3: fix recent_content plugin
Showing
6 changed files
with
84 additions
and
80 deletions
Show diff stats
plugins/recent_content/features/add_recent_content.feature
... | ... | @@ -13,6 +13,9 @@ Background: |
13 | 13 | And the following blocks |
14 | 14 | | owner | type | |
15 | 15 | | joaosilva | RecentContentBlock | |
16 | + And the following blogs | |
17 | + | owner | name | | |
18 | + | joaosilva | JSilva blog | | |
16 | 19 | And the following articles |
17 | 20 | | owner | parent | name | body | abstract | |
18 | 21 | | joaosilva | JSilva blog | post #1 | Primeiro post do joao silva | Resumo 1 | | ... | ... |
plugins/recent_content/lib/recent_content_block.rb
... | ... | @@ -5,6 +5,8 @@ class RecentContentBlock < Block |
5 | 5 | settings_items :show_blog_picture, :type => :boolean, :default => false |
6 | 6 | settings_items :selected_folder, :type => Integer |
7 | 7 | |
8 | + attr_accessible :presentation_mode, :total_items, :show_blog_picture, :selected_folder | |
9 | + | |
8 | 10 | VALID_CONTENT = ['RawHTMLArticle', 'TextArticle', 'TextileArticle', 'TinyMceArticle'] |
9 | 11 | |
10 | 12 | def self.description |
... | ... | @@ -41,12 +43,11 @@ class RecentContentBlock < Block |
41 | 43 | end |
42 | 44 | end |
43 | 45 | |
44 | - include ActionController::UrlWriter | |
45 | 46 | include DatesHelper |
46 | 47 | |
47 | 48 | def content(args={}) |
48 | 49 | block = self |
49 | - lambda do | |
50 | + proc do | |
50 | 51 | render :file => 'blocks/recent_content_block', :locals => {:root => block.root, :block => block} |
51 | 52 | end |
52 | 53 | end | ... | ... |
plugins/recent_content/views/blocks/recent_content_block.html.erb
0 → 100644
... | ... | @@ -0,0 +1,45 @@ |
1 | +<% unless root.nil? %> | |
2 | + <div id="recent-content-block"> | |
3 | + <% children = block.articles_of_folder(root, block.total_items)%> | |
4 | + <div class="recent-content"> | |
5 | + <%= block_title(block.title.blank? ? _("Recent content") : block.title ) %> | |
6 | + <% if block.show_blog_picture and !root.image.nil? %> | |
7 | + <div class="recent-content-cover"> | |
8 | + <%= image_tag(root.image.public_filename(:big)) %> | |
9 | + </div> | |
10 | + <% end %> | |
11 | + </div> | |
12 | + <% if block.mode?('title_only') %> | |
13 | + <div class="recent-content-title"> | |
14 | + <ul> | |
15 | + <% children.each do |item| %> | |
16 | + <li> <%= link_to(h(item.title), item.url)%></li> | |
17 | + <% end %> | |
18 | + </ul> | |
19 | + </div> | |
20 | + <% elsif block.mode?('title_and_abstract') %> | |
21 | + <div class="recent-content-abstract"> | |
22 | + <% children.each do |item| %> | |
23 | + <h2><%= link_to(item.title,item.url, :class => 'post-title')%></h2> | |
24 | + <span class="post-date"><%= show_date(item.published_at, true)%></span> | |
25 | + <div class="headline"><%=item.lead%></div> | |
26 | + <p class="highlighted-news-read-more"><%= link_to(_('Read more'), item.url) %></p> | |
27 | + <% end %> | |
28 | + </div> | |
29 | + <% else %> | |
30 | + <div class="recent-content-full"> | |
31 | + <% children.each do |item| %> | |
32 | + <h2><%= link_to(item.title,item.url, :class => 'post-title')%></h2> | |
33 | + <span class="post-date"><%= show_date(item.published_at, true)%></span> | |
34 | + <div class="headline"><%=item.body%></div> | |
35 | + <p class="highlighted-news-read-more"><%= link_to(_('Read more'), item.url) %></p> | |
36 | + <% end %> | |
37 | + </div> | |
38 | + <% end %> | |
39 | + <%= link_to _('View All'), :profile => profile.identifier, :controller => 'content_viewer', :action => 'view_page', :page => block.root.path %> | |
40 | + </div> | |
41 | +<% else %> | |
42 | + <span class="alert-block"> | |
43 | + <%= _('This is the recent content block. Please edit it to show the content you want.') %> | |
44 | + </span> | |
45 | +<% end %> | ... | ... |
plugins/recent_content/views/blocks/recent_content_block.rhtml
... | ... | @@ -1,45 +0,0 @@ |
1 | -<% unless root.nil? %> | |
2 | - <div id="recent-content-block"> | |
3 | - <% children = block.articles_of_folder(root, block.total_items)%> | |
4 | - <div class="recent-content"> | |
5 | - <%= block_title(block.title.blank? ? _("Recent content") : block.title ) %> | |
6 | - <% if block.show_blog_picture and !root.image.nil? %> | |
7 | - <div class="recent-content-cover"> | |
8 | - <%= image_tag(root.image.public_filename(:big)) %> | |
9 | - </div> | |
10 | - <% end %> | |
11 | - </div> | |
12 | - <% if block.mode?('title_only') %> | |
13 | - <div class="recent-content-title"> | |
14 | - <ul> | |
15 | - <% children.each do |item| %> | |
16 | - <li> <%= link_to(h(item.title), item.url)%></li> | |
17 | - <% end %> | |
18 | - </ul> | |
19 | - </div> | |
20 | - <% elsif block.mode?('title_and_abstract') %> | |
21 | - <div class="recent-content-abstract"> | |
22 | - <% children.each do |item| %> | |
23 | - <h2><%= link_to(item.title,item.url, :class => 'post-title')%></h2> | |
24 | - <span class="post-date"><%= show_date(item.published_at, true)%></span> | |
25 | - <div class="headline"><%=item.lead%></div> | |
26 | - <p class="highlighted-news-read-more"><%= link_to(_('Read more'), item.url) %></p> | |
27 | - <% end %> | |
28 | - </div> | |
29 | - <% else %> | |
30 | - <div class="recent-content-full"> | |
31 | - <% children.each do |item| %> | |
32 | - <h2><%= link_to(item.title,item.url, :class => 'post-title')%></h2> | |
33 | - <span class="post-date"><%= show_date(item.published_at, true)%></span> | |
34 | - <div class="headline"><%=item.body%></div> | |
35 | - <p class="highlighted-news-read-more"><%= link_to(_('Read more'), item.url) %></p> | |
36 | - <% end %> | |
37 | - </div> | |
38 | - <% end %> | |
39 | - <%= link_to _('View All'), :profile => profile.identifier, :controller => 'content_viewer', :action => 'view_page', :page => block.root.path %> | |
40 | - </div> | |
41 | -<% else %> | |
42 | - <span class="alert-block"> | |
43 | - <%= _('This is the recent content block. Please edit it to show the content you want.') %> | |
44 | - </span> | |
45 | -<% end %> |
plugins/recent_content/views/box_organizer/_recent_content_block.html.erb
0 → 100644
... | ... | @@ -0,0 +1,33 @@ |
1 | +<% blogs = @block.parents %> | |
2 | +<% if blogs.empty? %> | |
3 | + <h3><%= _('No blogs found. Please add a blog in order to configure this block.') %></h3> | |
4 | +<% end %> | |
5 | +<%= | |
6 | +labelled_form_field(_('Choose which blog should be displayed'), | |
7 | + select_tag( | |
8 | + 'block[selected_folder]', | |
9 | + options_for_select(blogs.map {|node| [node.title, node.id]}, @block.selected_folder) | |
10 | + ) | |
11 | +) | |
12 | +%> | |
13 | +<%= | |
14 | +labelled_form_field(_('Choose how the content should be displayed'), | |
15 | + select_tag( | |
16 | + 'block[presentation_mode]', | |
17 | + options_for_select( | |
18 | + { | |
19 | + _("Title only") => "title_only", | |
20 | + _("Title and abstract") => "title_and_abstract", | |
21 | + _("Full content") => "full_content" | |
22 | + }, | |
23 | + @block.presentation_mode | |
24 | + ) | |
25 | + ) | |
26 | +) | |
27 | +%> | |
28 | +<%= labelled_form_field(_('Choose how many items will be displayed'), | |
29 | + text_field_tag('block[total_items]', | |
30 | + @block.total_items, :size => 3, :maxlength => 5) | |
31 | + ) | |
32 | +%> | |
33 | +<%= labelled_check_box _('Display blog cover image'), 'block[show_blog_picture]', true, @block.show_blog_picture %> | ... | ... |
plugins/recent_content/views/box_organizer/_recent_content_block.rhtml
... | ... | @@ -1,33 +0,0 @@ |
1 | -<% blogs = @block.parents %> | |
2 | -<% if blogs.empty? %> | |
3 | - <h3><%= _('No blogs found. Please add a blog in order to configure this block.') %></h3> | |
4 | -<% end %> | |
5 | -<%= | |
6 | -labelled_form_field(_('Choose which blog should be displayed'), | |
7 | - select_tag( | |
8 | - 'block[selected_folder]', | |
9 | - options_for_select(blogs.map {|node| [node.title, node.id]}, @block.selected_folder) | |
10 | - ) | |
11 | -) | |
12 | -%> | |
13 | -<%= | |
14 | -labelled_form_field(_('Choose how the content should be displayed'), | |
15 | - select_tag( | |
16 | - 'block[presentation_mode]', | |
17 | - options_for_select( | |
18 | - { | |
19 | - _("Title only") => "title_only", | |
20 | - _("Title and abstract") => "title_and_abstract", | |
21 | - _("Full content") => "full_content" | |
22 | - }, | |
23 | - @block.presentation_mode | |
24 | - ) | |
25 | - ) | |
26 | -) | |
27 | -%> | |
28 | -<%= labelled_form_field(_('Choose how many items will be displayed'), | |
29 | - text_field_tag('block[total_items]', | |
30 | - @block.total_items, :size => 3, :maxlength => 5) | |
31 | - ) | |
32 | -%> | |
33 | -<%= labelled_check_box _('Display blog cover image'), 'block[show_blog_picture]', true, @block.show_blog_picture %> |