Commit bf80644ccec9f4c62e0b96c7b0442be57925b3d6

Authored by Ana Losnak
Committed by Daniela Feitosa
1 parent 4ab1ad9c

Add new template to display versioned article

Also included revision number on cache key

Signed-off-by: Daniela Feitosa

(ActionItem2822)
app/controllers/public/content_viewer_controller.rb
@@ -23,10 +23,6 @@ class ContentViewerController < ApplicationController @@ -23,10 +23,6 @@ class ContentViewerController < ApplicationController
23 redirect_to profile.url.merge(:page => page_from_old_path.explode_path) 23 redirect_to profile.url.merge(:page => page_from_old_path.explode_path)
24 return 24 return
25 end 25 end
26 - else  
27 - if version  
28 - @page = @page.versions.find_by_version version  
29 - end  
30 end 26 end
31 end 27 end
32 28
@@ -48,6 +44,12 @@ class ContentViewerController < ApplicationController @@ -48,6 +44,12 @@ class ContentViewerController < ApplicationController
48 return 44 return
49 end 45 end
50 46
  47 + if version
  48 + @versioned_article = @page.versions.find_by_version(version)
  49 + render :template => 'content_viewer/versioned_article.rhtml'
  50 + return
  51 + end
  52 +
51 if request.xhr? && params[:toolbar] 53 if request.xhr? && params[:toolbar]
52 render :partial => 'article_toolbar' 54 render :partial => 'article_toolbar'
53 return 55 return
app/models/article.rb
@@ -631,7 +631,9 @@ class Article < ActiveRecord::Base @@ -631,7 +631,9 @@ class Article < ActiveRecord::Base
631 (allow_post_content?(the_profile) ? "-owner" : '') + 631 (allow_post_content?(the_profile) ? "-owner" : '') +
632 (params[:npage] ? "-npage-#{params[:npage]}" : '') + 632 (params[:npage] ? "-npage-#{params[:npage]}" : '') +
633 (params[:year] ? "-year-#{params[:year]}" : '') + 633 (params[:year] ? "-year-#{params[:year]}" : '') +
634 - (params[:month] ? "-month-#{params[:month]}" : '') 634 + (params[:month] ? "-month-#{params[:month]}" : '') +
  635 + (params[:rev] ? "-rev-#{params[:rev]}" : '')
  636 +
635 end 637 end
636 638
637 def first_paragraph 639 def first_paragraph
app/views/content_viewer/versioned_article.rhtml 0 → 100644
@@ -0,0 +1,32 @@ @@ -0,0 +1,32 @@
  1 +<div id="article" class="<%= @page.css_class_name %>">
  2 +
  3 +<div id="article-toolbar"><%= _("This is the revision %s of this content") % @versioned_article.version %></div>
  4 +
  5 +<% if @page.display_hits? || @page.license.present? %>
  6 + <div id='article-sub-header'>
  7 + <% if @versioned_article.license.present? %>
  8 + <div id="article-license">
  9 + <%= _('Licensed under %s') % (@versioned_article.license.url.present? ? link_to(@versioned_article.license.name, @versioned_article.license.url, :target => '_blank') : @versioned_article.license.name) %>
  10 + </div>
  11 + <% end %>
  12 + </div>
  13 +<% end %>
  14 +
  15 +<% cache(@page.cache_key(params, user, language)) do %>
  16 + <div class="<%="article-body article-body-" + @page.css_class_name %>">
  17 + <% options = @page.image? ? {:gallery_view => true} : {} %>
  18 + <%= article_to_html(@page, options) %>
  19 + <br style="clear:both" />
  20 + </div> <!-- end class="article-body" -->
  21 +<% end %>
  22 +
  23 +
  24 +<div id="article-versions">
  25 + <%= #TODO Review this %>
  26 + <%= @page.versions.map {|v| link_to("r#{v.version}", @page.url.merge(:rev => v.version))} %>
  27 +</div>
  28 +
  29 +<%= display_source_info(@versioned_article) %>
  30 +
  31 +</div><!-- end id="article" -->
  32 +<%= add_zoom_to_article_images %>
test/unit/article_test.rb
@@ -740,6 +740,11 @@ class ArticleTest &lt; ActiveSupport::TestCase @@ -740,6 +740,11 @@ class ArticleTest &lt; ActiveSupport::TestCase
740 assert_match(/-year-2009-month-04/, a.cache_key(:year => '2009', :month => '04')) 740 assert_match(/-year-2009-month-04/, a.cache_key(:year => '2009', :month => '04'))
741 end 741 end
742 742
  743 + should 'use revision number to compose cache key' do
  744 + a = fast_create(Article, :name => 'Versioned article', :profile_id => profile.id)
  745 + assert_match(/-rev-2/,a.cache_key(:rev => 2))
  746 + end
  747 +
743 should 'not be highlighted by default' do 748 should 'not be highlighted by default' do
744 a = Article.new 749 a = Article.new
745 assert !a.highlighted 750 assert !a.highlighted