Source view for Revisions
This commit is contained in:
parent
2801421969
commit
66f62bac1f
6 changed files with 17 additions and 2 deletions
|
@ -32,6 +32,8 @@ module CacheSweepingHelper
|
|||
:action => 'revision', :id => page.name, :rev => revno
|
||||
expire_action :controller => 'wiki', :web => page.web.address,
|
||||
:action => 'revision', :id => page.name, :rev => revno, :mode => 'diff'
|
||||
expire_action :controller => 'wiki', :web => page.web.address,
|
||||
:action => 'source', :id => page.name, :rev => revno
|
||||
end
|
||||
end
|
||||
|
||||
|
|
|
@ -401,7 +401,7 @@ EOL
|
|||
end
|
||||
|
||||
def source
|
||||
#to template
|
||||
@revision = @page.revisions[params['rev'].to_i - 1] if params['rev']
|
||||
end
|
||||
|
||||
def tex
|
||||
|
|
|
@ -22,5 +22,10 @@
|
|||
|
||||
<div class="navigation navfoot">
|
||||
<%= raw navigation_menu_for_revision.join(' | ') %>
|
||||
<span class="views">
|
||||
| View:
|
||||
<%= link_to 'Source', {:web => @web.address, :action => 'source', :id => @page.name, :rev => @revision_number},
|
||||
{:id => 'view_source', :rel => 'nofollow' } %>
|
||||
</span>
|
||||
<%= render :partial => 'inbound_links' %>
|
||||
</div>
|
||||
|
|
|
@ -57,7 +57,7 @@ window.onload = function (){
|
|||
<body>
|
||||
|
||||
<div id="Container">
|
||||
<textarea id='content' readonly=' readonly' rows='24' cols='60' ><%= h(@page.content.purify) %></textarea>
|
||||
<textarea id='content' readonly=' readonly' rows='24' cols='60' ><%= (@revision ? @revision.content : @page.content).purify %></textarea>
|
||||
</div> <!-- Container -->
|
||||
|
||||
</body>
|
||||
|
|
|
@ -32,6 +32,7 @@ ActionController::Routing::Routes.draw do |map|
|
|||
connect_to_web map, ':web/revision/diff/:id/:rev', :controller => 'wiki', :action => 'revision', :mode => 'diff',
|
||||
:requirements => { :rev => /\d+/, :id => id_regexp}
|
||||
connect_to_web map, ':web/revision/:id/:rev', :controller => 'wiki', :action => 'revision', :requirements => { :rev => /\d+/, :id => id_regexp}
|
||||
connect_to_web map, ':web/source/:id/:rev', :controller => 'wiki', :action => 'source', :requirements => { :rev => /\d+/, :id => id_regexp}
|
||||
connect_to_web map, ':web/list/:category', :controller => 'wiki', :action => 'list', :requirements => { :category => /.*/}, :category => nil
|
||||
connect_to_web map, ':web/recently_revised/:category', :controller => 'wiki', :action => 'recently_revised', :requirements => { :category => /.*/}, :category => nil
|
||||
connect_to_web map, ':web/:action/:id', :controller => 'wiki', :requirements => {:id => id_regexp}
|
||||
|
|
|
@ -341,6 +341,13 @@ class WikiControllerTest < ActionController::TestCase
|
|||
%{hat SmartEngineGUI})), r.body
|
||||
end
|
||||
|
||||
def test_source_with_revision
|
||||
r = process('source', 'web' => 'wiki1', 'id' => 'HomePage', 'rev' => '1')
|
||||
|
||||
assert_response(:success)
|
||||
assert_match Regexp.new(Regexp.escape(%{First revision of the HomePage})), r.body
|
||||
end
|
||||
|
||||
def test_published
|
||||
set_web_property :published, true
|
||||
|
||||
|
|
Loading…
Reference in a new issue