]> source.dussan.org Git - redmine.git/commitdiff
Added the ability to easily rollback to a previous version of a wiki page.
authorJean-Philippe Lang <jp_lang@yahoo.fr>
Thu, 5 Apr 2007 14:45:44 +0000 (14:45 +0000)
committerJean-Philippe Lang <jp_lang@yahoo.fr>
Thu, 5 Apr 2007 14:45:44 +0000 (14:45 +0000)
git-svn-id: http://redmine.rubyforge.org/svn/trunk@424 e93f8b46-1217-0410-a6f0-8f06a7374b81

app/controllers/wiki_controller.rb
app/models/wiki_page.rb
app/views/wiki/show.rhtml
lang/de.yml
lang/en.yml
lang/es.yml
lang/fr.yml
lang/it.yml
lang/ja.yml
lang/zh.yml

index 552565668194bd94f100605e7512ca3d15267959..5931a93adc897dabd97b0ca088d2a1560e2afe49 100644 (file)
@@ -27,7 +27,7 @@ class WikiController < ApplicationController
       edit
       render :action => 'edit' and return
     end
-    @content = (params[:version] ? @page.content.versions.find_by_version(params[:version]) : @page.content)
+    @content = @page.content_for_version(params[:version])
     if params[:export] == 'html'
       export = render_to_string :action => 'export', :layout => false
       send_data(export, :type => 'text/html', :filename => "#{@page.title}.html")
@@ -43,7 +43,8 @@ class WikiController < ApplicationController
   def edit
     @page = @wiki.find_or_new_page(params[:page])    
     @page.content = WikiContent.new(:page => @page) if @page.new_record?
-    @content = @page.content
+    
+    @content = @page.content_for_version(params[:version])
     @content.text = "h1. #{@page.pretty_title}" if @content.text.blank?
     # don't keep previous comment
     @content.comment = nil
index 19961cb0bbcf3de533b48ac6a969d6ebcc62b32f..f2ea8fd59284b326c4e9599af5ced7cba45296dd 100644 (file)
@@ -32,6 +32,12 @@ class WikiPage < ActiveRecord::Base
     WikiPage.pretty_title(title)
   end
   
+  def content_for_version(version=nil)
+    result = content.versions.find_by_version(version.to_i) if version
+    result ||= content
+    result
+  end
+  
   def self.pretty_title(str)
     (str && str.is_a?(String)) ? str.tr('_', ' ') : str
   end
index 2e8ee40893053c026499eb20791bf81408f5edc0..e4e1bc38d5086bdef786fce9b3ada4e6ee280b57 100644 (file)
@@ -1,5 +1,6 @@
 <div class="contextual">
 <%= link_to(l(:button_edit), {:action => 'edit', :page => @page.title}, :class => 'icon icon-edit') if @content.version == @page.content.version %>
+<%= link_to(l(:button_rollback), {:action => 'edit', :page => @page.title, :version => @content.version }, :class => 'icon icon-cancel') if @content.version < @page.content.version %>
 <%= link_to(l(:label_history), {:action => 'history', :page => @page.title}, :class => 'icon icon-history') %>
 <%= link_to(l(:label_page_index), {:action => 'special', :page => 'Page_index'}, :class => 'icon icon-index') %>
 </div>
index c08b4af40090f501a92d822648f6d67a4bec8279..c8d0aedd272d168ddd26714b2b1809303c09777a 100644 (file)
@@ -380,6 +380,7 @@ button_cancel: Abbrechen
 button_activate: Aktivieren
 button_sort: Sortieren
 button_log_time: Log time
+button_rollback: Rollback to this version
 
 status_active: aktiv
 status_registered: angemeldet
index 4ce8bcb278ecac3b0481408b7cfca34fcdeb77b7..8c56811b34f976b1db357923a7040af0dbf7953b 100644 (file)
@@ -380,6 +380,7 @@ button_cancel: Cancel
 button_activate: Activate
 button_sort: Sort
 button_log_time: Log time
+button_rollback: Rollback to this version
 
 status_active: active
 status_registered: registered
index a2014845e907453c9b8e01184454dcc931317b3c..8272cfea2575718e8e6389d945e0a36d3991d69c 100644 (file)
@@ -380,6 +380,7 @@ button_cancel: Cancelar
 button_activate: Activar
 button_sort: Clasificar
 button_log_time: Log time
+button_rollback: Rollback to this version
 
 status_active: active
 status_registered: registered
index 8b52ac5de5585e4db1945ef13fb8d30c0826bb90..b3efeebb10ae07413b5dc9e879b8d086c3762a24 100644 (file)
@@ -380,6 +380,7 @@ button_cancel: Annuler
 button_activate: Activer
 button_sort: Trier
 button_log_time: Saisir temps
+button_rollback: Revenir à cette version
 
 status_active: actif
 status_registered: enregistré
index daaed6b79834c1225dfab84b3ace41359a8697e4..0900a2a7a0566def9a169cae774be7b872862c85 100644 (file)
@@ -380,6 +380,7 @@ button_cancel: Annulla
 button_activate: Attiva
 button_sort: Ordina
 button_log_time: Log time
+button_rollback: Rollback to this version
 
 status_active: active
 status_registered: registered
index bbeb6d45358221283a365cc546fb3d5cfa067759..babb212e0d90eb3dd1c69d0065d7491ae82ef292 100644 (file)
@@ -381,6 +381,7 @@ button_cancel: キャンセル
 button_activate: 有効にする
 button_sort: ソート
 button_log_time: 時間を記録
+button_rollback: Rollback to this version
 
 status_active: 有効
 status_registered: 登録
index 6301b8235651b5c12782a3ea9edaed00ac63d9a0..42d69759dca2c70f90fa293ace767ddba6d948e6 100644 (file)
@@ -383,6 +383,7 @@ button_cancel: 取消
 button_activate: 激活
 button_sort: 排序
 button_log_time: 登记工时
+button_rollback: Rollback to this version
 
 status_active: 激活
 status_registered: 已注册