From 8840541e75b416fe67a7d2d58f33162a3054a29c Mon Sep 17 00:00:00 2001 From: Moises Machado Date: Thu, 4 Jun 2009 11:34:12 -0300 Subject: [PATCH] ActionItem1071: made published images acts as images --- app/models/article.rb | 2 ++ app/models/folder.rb | 5 +++-- app/models/published_article.rb | 2 -- app/views/content_viewer/_published_article.rhtml | 7 +++++++ app/views/content_viewer/slideshow.rhtml | 1 + test/unit/folder_test.rb | 10 ++++++++++ 6 files changed, 23 insertions(+), 4 deletions(-) create mode 100644 app/views/content_viewer/_published_article.rhtml diff --git a/app/models/article.rb b/app/models/article.rb index 9e2495e..9679923 100644 --- a/app/models/article.rb +++ b/app/models/article.rb @@ -20,6 +20,8 @@ class Article < ActiveRecord::Base settings_items :display_hits, :type => :boolean, :default => true + belongs_to :reference_article, :class_name => "Article", :foreign_key => 'reference_article_id' + before_create do |article| article.published_at = article.created_at if article.published_at.nil? end diff --git a/app/models/folder.rb b/app/models/folder.rb index 9fbe2b4..52da75e 100644 --- a/app/models/folder.rb +++ b/app/models/folder.rb @@ -71,7 +71,8 @@ class Folder < Article has_many :images, :class_name => 'Article', :foreign_key => 'parent_id', - :order => 'type, name', - :conditions => ['type = ? and content_type in (?) or type = ?', 'UploadedFile', UploadedFile.content_types, 'Folder'] + :order => 'articles.type, articles.name', + :include => :reference_article, + :conditions => ["articles.type = 'UploadedFile' and articles.content_type in (?) or articles.type = 'Folder' or (articles.type = 'PublishedArticle' and reference_articles_articles.type = 'UploadedFile' and reference_articles_articles.content_type in (?))", UploadedFile.content_types, UploadedFile.content_types] end diff --git a/app/models/published_article.rb b/app/models/published_article.rb index c993b6e..d58ec32 100644 --- a/app/models/published_article.rb +++ b/app/models/published_article.rb @@ -1,6 +1,4 @@ class PublishedArticle < Article - belongs_to :reference_article, :class_name => "Article" - before_create do |article| parent = article.reference_article.parent if parent && parent.blog? && article.profile.has_blog? diff --git a/app/views/content_viewer/_published_article.rhtml b/app/views/content_viewer/_published_article.rhtml new file mode 100644 index 0000000..ebd0660 --- /dev/null +++ b/app/views/content_viewer/_published_article.rhtml @@ -0,0 +1,7 @@ +<% article = published_article.reference_article %> +<% if article.image? %> +
<%= link_to image_tag(article.public_filename(:thumb)), article.view_url %>
+<% else %> + <%= render :partial => 'article', :object => article %> +<% end %> + diff --git a/app/views/content_viewer/slideshow.rhtml b/app/views/content_viewer/slideshow.rhtml index 079fbf9..e843bfb 100644 --- a/app/views/content_viewer/slideshow.rhtml +++ b/app/views/content_viewer/slideshow.rhtml @@ -1,6 +1,7 @@

<%= button('', _('Back to gallery'), @page.url)%>