From dbedb27c04441dc7f5b9174f5dd710d30a698d75 Mon Sep 17 00:00:00 2001 From: Jamie Winsor Date: Fri, 29 Jul 2011 15:15:06 -0700 Subject: Refactor blog_archive_list helper function into blog_archive_widget function (with alias for compatability) Fix archive view for rails-3-1 support --- app/helpers/refinery/blog_posts_helper.rb | 56 +++++++++------------- app/views/refinery/blog/posts/archive.html.erb | 12 ++--- app/views/refinery/blog/posts/index.html.erb | 2 +- app/views/refinery/blog/posts/show.html.erb | 2 +- app/views/refinery/blog/posts/tagged.html.erb | 2 +- .../refinery/blog/widgets/_blog_archive.html.erb | 10 ++++ 6 files changed, 41 insertions(+), 43 deletions(-) create mode 100644 app/views/refinery/blog/widgets/_blog_archive.html.erb (limited to 'app') diff --git a/app/helpers/refinery/blog_posts_helper.rb b/app/helpers/refinery/blog_posts_helper.rb index 58b0a3a..bfc3f40 100644 --- a/app/helpers/refinery/blog_posts_helper.rb +++ b/app/helpers/refinery/blog_posts_helper.rb @@ -1,43 +1,12 @@ module Refinery module BlogPostsHelper - def blog_archive_list + def blog_archive_widget posts = Refinery::BlogPost.select('published_at').all_previous return nil if posts.blank? - html = '

' - html << t('archives', :scope => 'blog.shared') - html << '

' - html.html_safe + render :partial => "/refinery/blog/widgets/blog_archive", :locals => { :posts => posts } end + alias_method :blog_archive_list, :blog_archive_widget def next_or_previous?(post) post.next.present? or post.prev.present? @@ -57,5 +26,24 @@ module Refinery }).html_safe end end + + def archive_link(post) + if post.published_at >= Time.now.end_of_year.advance(:years => -3) + post_date = post.published_at.strftime('%m/%Y') + year = post_date.split('/')[1] + month = post_date.split('/')[0] + count = BlogPost.by_archive(Time.parse(post_date)).size + text = t("date.month_names")[month.to_i] + " #{year} (#{count})" + + link_to(text, main_app.archive_blog_posts_path(:year => year, :month => month)) + else + post_date = post.published_at.strftime('01/%Y') + year = post_date.split('/')[1] + count = Refinery::BlogPost.by_year(Time.parse(post_date)).size + text = "#{year} (#{count})" + + link_to(text, main_app.archive_blog_posts_path(:year => year)) + end + end end end diff --git a/app/views/refinery/blog/posts/archive.html.erb b/app/views/refinery/blog/posts/archive.html.erb index a2044e8..73d33f8 100644 --- a/app/views/refinery/blog/posts/archive.html.erb +++ b/app/views/refinery/blog/posts/archive.html.erb @@ -2,7 +2,7 @@

<%= t('.blog_archive_for', :date => @archive_date.strftime('%B %Y')) %>

<% if @blog_posts.any? %>
- <%= render :partial => "/blog/shared/post", :collection => @blog_posts %> + <%= render :partial => "/refinery/blog/shared/post", :collection => @blog_posts %>
<% else %>

<%= t('.no_blog_articles_posted', :date => @archive_date.strftime('%B %Y')) %>

@@ -10,11 +10,11 @@ <% end %> <% content_for :body_content_right do %> - <%= render :partial => "/blog/shared/categories" %> - <%= render :partial => "/blog/shared/tags" %> - <%= render :partial => "/blog/shared/rss_feed" %> - <%= blog_archive_list %> + <%= render :partial => "/refinery/blog/shared/categories" %> + <%= render :partial => "/refinery/blog/shared/tags" %> + <%= render :partial => "/refinery/blog/shared/rss_feed" %> + <%= blog_archive_widget %> <% end %> -<%= render :partial => "/shared/content_page" %> +<%= render :partial => "/refinery/content_page" %> <% content_for :stylesheets, stylesheet_link_tag('refinerycms-blog') %> diff --git a/app/views/refinery/blog/posts/index.html.erb b/app/views/refinery/blog/posts/index.html.erb index 0a80c8b..dbb9979 100644 --- a/app/views/refinery/blog/posts/index.html.erb +++ b/app/views/refinery/blog/posts/index.html.erb @@ -17,7 +17,7 @@ <%= render :partial => "/refinery/blog/shared/categories" %> <%= render :partial => "/refinery/blog/shared/tags" %> <%= render :partial => "/refinery/blog/shared/rss_feed" %> - <%= blog_archive_list %> + <%= blog_archive_widget %> <% end %> <%= render :partial => "/refinery/content_page" %> diff --git a/app/views/refinery/blog/posts/show.html.erb b/app/views/refinery/blog/posts/show.html.erb index bdd149f..c62127d 100644 --- a/app/views/refinery/blog/posts/show.html.erb +++ b/app/views/refinery/blog/posts/show.html.erb @@ -52,7 +52,7 @@ <%= render :partial => "/refinery/blog/shared/tags" %> <%= render :partial => "/refinery/blog/shared/posts" %> <%= render :partial => "/refinery/blog/shared/rss_feed" %> - <%= blog_archive_list %> + <%= blog_archive_widget %> <% end %> <%= render :partial => "/refinery/content_page", :locals => { :remove_automatic_sections => true } %> diff --git a/app/views/refinery/blog/posts/tagged.html.erb b/app/views/refinery/blog/posts/tagged.html.erb index f17b123..27cba91 100644 --- a/app/views/refinery/blog/posts/tagged.html.erb +++ b/app/views/refinery/blog/posts/tagged.html.erb @@ -15,7 +15,7 @@ <%= render :partial => "/refinery/blog/shared/categories" %> <%= render :partial => "/refinery/blog/shared/tags" %> <%= render :partial => "/refinery/blog/shared/rss_feed" %> - <%= blog_archive_list %> + <%= blog_archive_widget %> <% end %> <%= render :partial => "/refinery/content_page" %> diff --git a/app/views/refinery/blog/widgets/_blog_archive.html.erb b/app/views/refinery/blog/widgets/_blog_archive.html.erb new file mode 100644 index 0000000..7679a5b --- /dev/null +++ b/app/views/refinery/blog/widgets/_blog_archive.html.erb @@ -0,0 +1,10 @@ +
+

<%= t('archives', :scope => 'refinery.blog.shared') %>

+ +
\ No newline at end of file -- cgit v1.2.3