Commit 658ecf81eaee37b3720a88a9bc0b9e0aeed3f438

Authored by Daniela Feitosa
1 parent d7da0420

Trying to make it prettier :)

app/controllers/public/content_viewer_controller.rb
@@ -46,8 +46,10 @@ class ContentViewerController < ApplicationController @@ -46,8 +46,10 @@ class ContentViewerController < ApplicationController
46 46
47 if @version 47 if @version
48 @versioned_article = @page.versions.find_by_version(@version) 48 @versioned_article = @page.versions.find_by_version(@version)
49 - render :template => 'content_viewer/versioned_article.rhtml'  
50 - return 49 + unless @versioned_article == @page.versions.latest
  50 + render :template => 'content_viewer/versioned_article.rhtml'
  51 + return
  52 + end
51 end 53 end
52 54
53 if request.xhr? && params[:toolbar] 55 if request.xhr? && params[:toolbar]
@@ -135,6 +137,11 @@ class ContentViewerController < ApplicationController @@ -135,6 +137,11 @@ class ContentViewerController < ApplicationController
135 end 137 end
136 end 138 end
137 139
  140 +# def article_versions
  141 +# @page = profile.articles.find(params[:page])
  142 +# @versions = @page.versions
  143 +# end
  144 +
138 protected 145 protected
139 146
140 def per_page 147 def per_page
app/helpers/article_helper.rb
@@ -42,7 +42,15 @@ module ArticleHelper @@ -42,7 +42,15 @@ module ArticleHelper
42 'div', 42 'div',
43 check_box(:article, :display_hits) + 43 check_box(:article, :display_hits) +
44 content_tag('label', _('I want this article to display the number of hits it received'), :for => 'article_display_hits') 44 content_tag('label', _('I want this article to display the number of hits it received'), :for => 'article_display_hits')
  45 + ) : '') +
  46 +
  47 + (article.can_display_versions? ?
  48 + content_tag(
  49 + 'div',
  50 + check_box(:article, :display_versions) +
  51 + content_tag('label', _('I want this article to display a link to older versions'), :for => 'article_display_versions')
45 ) : '') 52 ) : '')
  53 +
46 ) 54 )
47 end 55 end
48 56
app/models/article.rb
@@ -604,6 +604,16 @@ class Article < ActiveRecord::Base @@ -604,6 +604,16 @@ class Article < ActiveRecord::Base
604 false 604 false
605 end 605 end
606 606
  607 + settings_items :display_versions, :type => :boolean, :default => false
  608 +
  609 + def can_display_versions?
  610 + false
  611 + end
  612 +
  613 + def display_versions?
  614 + can_display_versions? && display_versions
  615 + end
  616 +
607 def author(version_number = nil) 617 def author(version_number = nil)
608 if version_number 618 if version_number
609 version = versions.find_by_version(version_number) 619 version = versions.find_by_version(version_number)
app/models/text_article.rb
@@ -17,4 +17,7 @@ class TextArticle < Article @@ -17,4 +17,7 @@ class TextArticle < Article
17 end 17 end
18 end 18 end
19 19
  20 + def can_display_versions?
  21 + true
  22 + end
20 end 23 end
app/views/content_viewer/_article_versions.rhtml
  1 +<h3><%= _('Versions') %></h3>
1 <ul class='article-versions'> 2 <ul class='article-versions'>
2 <% @page.versions.each do |v| %> 3 <% @page.versions.each do |v| %>
3 - <li><%= link_to("r#{v.version}", @page.url.merge(:rev => v.version)) %></li> 4 + <li><%= link_to("#{v.version}", @page.url.merge(:rev => v.version)) %></li>
4 <% end %> 5 <% end %>
5 <ul> 6 <ul>
app/views/content_viewer/versioned_article.rhtml
1 <div id="article" class="<%= @page.css_class_name %>"> 1 <div id="article" class="<%= @page.css_class_name %>">
2 2
  3 + <% if @page.allow_edit?(user) && !remove_content_button(:edit) %>
  4 + <div id="article-revert-version">
  5 + <% content = content_tag('span', _('Revert to this version')) %>
  6 + <% url = profile.admin_url.merge({ :controller => 'cms', :action => 'edit', :id => @page.id, :article => @versioned_article.attributes }) %>
  7 + <%= expirable_button @page, :edit, content, url %>
  8 + <% end %>
  9 +
  10 + </div>
  11 +
3 <div id="article-header"> 12 <div id="article-header">
4 <h1 class='title'><%= @versioned_article.name %></h1> 13 <h1 class='title'><%= @versioned_article.name %></h1>
5 <%= _("Version %{version} - %{author} on %{date}") % {:version => @version, :author => @page.author_name(@version), :date => show_time(@versioned_article.updated_at) } %> 14 <%= _("Version %{version} - %{author} on %{date}") % {:version => @version, :author => @page.author_name(@version), :date => show_time(@versioned_article.updated_at) } %>
app/views/content_viewer/view_page.rhtml
@@ -85,12 +85,15 @@ @@ -85,12 +85,15 @@
85 </div> 85 </div>
86 <% end %> 86 <% end %>
87 87
88 -<div id="article-versions">  
89 - <%= @page.versions.map {|v| link_to("r#{v.version}", @page.url.merge(:rev => v.version))} %>  
90 -</div>  
91 -  
92 <%= display_source_info(@page) %> 88 <%= display_source_info(@page) %>
93 89
  90 +<% if @page.display_versions? %>
  91 + <div id="article-versions">
  92 + <%= render :partial => 'article_versions' %>
  93 + <%#= button(:clock, _('See older versions'), :controller => 'content_viewer', :profile => profile.identifier, :action => 'article_versions', :page => @page.id) %>
  94 + </div>
  95 +<% end %>
  96 +
94 <div class="comments" id="comments_list"> 97 <div class="comments" id="comments_list">
95 98
96 <% if @page.accept_comments? || @comments_count > 0 %> 99 <% if @page.accept_comments? || @comments_count > 0 %>
public/designs/icons/tango/style.css
@@ -104,6 +104,7 @@ @@ -104,6 +104,7 @@
104 .icon-deactivate-user { background-image: url(Tango/16x16/emblems/emblem-unreadable.png) } 104 .icon-deactivate-user { background-image: url(Tango/16x16/emblems/emblem-unreadable.png) }
105 .icon-set-admin-role { background-image: url(mod/16x16/apps/user.png) } 105 .icon-set-admin-role { background-image: url(mod/16x16/apps/user.png) }
106 .icon-reset-admin-role { background-image: url(/images/icons-app/person-icon.png) } 106 .icon-reset-admin-role { background-image: url(/images/icons-app/person-icon.png) }
  107 +.icon-clock { background-image: url(Tango/16x16/actions/appointment.png) }
107 108
108 /******************LARGE ICONS********************/ 109 /******************LARGE ICONS********************/
109 .image-gallery-item .folder { background-image: url(mod/96x96/places/folder.png) } 110 .image-gallery-item .folder { background-image: url(mod/96x96/places/folder.png) }
public/stylesheets/application.css
@@ -6539,3 +6539,12 @@ li.profile-activity-item.upload_image .activity-gallery-images-count-1 img { @@ -6539,3 +6539,12 @@ li.profile-activity-item.upload_image .activity-gallery-images-count-1 img {
6539 z-index: 1; 6539 z-index: 1;
6540 } 6540 }
6541 6541
  6542 +ul.article-versions {
  6543 + padding: 0px;
  6544 +}
  6545 +
  6546 +ul.article-versions li {
  6547 + display: inline;
  6548 + font-size: 13px;
  6549 +}
  6550 +