Commit bf80644ccec9f4c62e0b96c7b0442be57925b3d6
Committed by
Daniela Feitosa
1 parent
4ab1ad9c
Exists in
master
and in
29 other branches
Add new template to display versioned article
Also included revision number on cache key Signed-off-by: Daniela Feitosa (ActionItem2822)
Showing
4 changed files
with
46 additions
and
5 deletions
Show diff stats
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 |
@@ -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 < ActiveSupport::TestCase | @@ -740,6 +740,11 @@ class ArticleTest < 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 |