summaryrefslogtreecommitdiffstats
path: root/app/views/wiki
diff options
context:
space:
mode:
authorJean-Philippe Lang <jp_lang@yahoo.fr>2007-07-14 11:25:03 +0000
committerJean-Philippe Lang <jp_lang@yahoo.fr>2007-07-14 11:25:03 +0000
commit5e20417e6d523372320861f1d9a446ddd75e041f (patch)
tree9f276a706577f6959fb7465e00e74c3f69258c6e /app/views/wiki
parentbf74efcd1159d9872cdbdc55e9b859c3b2928ffc (diff)
downloadredmine-5e20417e6d523372320861f1d9a446ddd75e041f.tar.gz
redmine-5e20417e6d523372320861f1d9a446ddd75e041f.zip
Added wiki diff.
Diff can be viewed from the page history, or directly from the project activity page for each edit. Uses Lars Christensen's diff library. git-svn-id: http://redmine.rubyforge.org/svn/trunk@583 e93f8b46-1217-0410-a6f0-8f06a7374b81
Diffstat (limited to 'app/views/wiki')
-rw-r--r--app/views/wiki/diff.rhtml19
-rw-r--r--app/views/wiki/history.rhtml17
-rw-r--r--app/views/wiki/show.rhtml3
3 files changed, 33 insertions, 6 deletions
diff --git a/app/views/wiki/diff.rhtml b/app/views/wiki/diff.rhtml
new file mode 100644
index 000000000..8db2df008
--- /dev/null
+++ b/app/views/wiki/diff.rhtml
@@ -0,0 +1,19 @@
+<div class="contextual">
+<%= link_to(l(:button_edit), {:action => 'edit', :page => @page.title}, :class => 'icon icon-edit') %>
+<%= 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>
+
+<h2><%= @page.pretty_title %></h2>
+
+<p>
+<%= l(:label_version) %> <%= link_to @diff.content_from.version, :action => 'index', :page => @page.title, :version => @diff.content_from.version %>
+<em>(<%= @diff.content_from.author ? @diff.content_from.author.name : "anonyme" %>, <%= format_time(@diff.content_from.updated_on) %>)</em>
+&#8594;
+<%= l(:label_version) %> <%= link_to @diff.content_to.version, :action => 'index', :page => @page.title, :version => @diff.content_to.version %>/<%= @page.content.version %>
+<em>(<%= @diff.content_to.author ? @diff.content_to.author.name : "anonyme" %>, <%= format_time(@diff.content_to.updated_on) %>)</em>
+</p>
+
+<hr />
+
+<%= html_diff(@diff) %>
diff --git a/app/views/wiki/history.rhtml b/app/views/wiki/history.rhtml
index 6040072ea..85b1541cc 100644
--- a/app/views/wiki/history.rhtml
+++ b/app/views/wiki/history.rhtml
@@ -6,26 +6,33 @@
<h3><%= l(:label_history) %></h3>
+<% form_tag({:action => "diff"}, :method => :get) do %>
<table class="list">
<thead><tr>
<th>#</th>
+ <th></th>
+ <th></th>
<th><%= l(:field_updated_on) %></th>
<th><%= l(:field_author) %></th>
<th><%= l(:field_comments) %></th>
</tr></thead>
<tbody>
+<% show_diff = @versions.size > 1 %>
+<% line_num = 1 %>
<% @versions.each do |ver| %>
<tr class="<%= cycle("odd", "even") %>">
<th align="center"><%= link_to ver.version, :action => 'index', :page => @page.title, :version => ver.version %></th>
+ <td align="center" width="1%"><%= radio_button_tag('version', ver.version, (line_num==1), :id => "cb-#{line_num}", :onclick => "$('cbto-#{line_num+1}').checked=true;") if show_diff && (line_num < @versions.size) %></td>
+ <td align="center" width="1%"><%= radio_button_tag('version_from', ver.version, (line_num==2), :id => "cbto-#{line_num}", :onclick => "if ($('cb-#{line_num}').checked==true || $('version_from').value > #{ver.version}) {$('cb-#{line_num-1}').checked=true;}") if show_diff && (line_num > 1) %></td>
<td align="center"><%= format_time(ver.updated_on) %></td>
<td><em><%= ver.author ? ver.author.name : "anonyme" %></em></td>
<td><%=h ver.comments %></td>
</tr>
+<% line_num += 1 %>
<% end %>
</tbody>
</table>
-
-<p><%= pagination_links_full @version_pages, :page_param => :p %>
-[ <%= @version_pages.current.first_item %> - <%= @version_pages.current.last_item %> / <%= @version_count %> ]</p>
-
-<p><%= link_to l(:button_back), :action => 'index', :page => @page.title %></p>
+<%= submit_tag l(:label_view_diff), :class => 'small' %>
+<%= pagination_links_full @version_pages, :page_param => :p %>
+[ <%= @version_pages.current.first_item %> - <%= @version_pages.current.last_item %> / <%= @version_count %> ]
+<% end %>
diff --git a/app/views/wiki/show.rhtml b/app/views/wiki/show.rhtml
index 3a830a47d..c7a2985be 100644
--- a/app/views/wiki/show.rhtml
+++ b/app/views/wiki/show.rhtml
@@ -9,7 +9,8 @@
<% if @content.version != @page.content.version %>
<p>
<%= link_to(('&#171; ' + l(:label_previous)), :action => 'index', :page => @page.title, :version => (@content.version - 1)) + " - " if @content.version > 1 %>
- <%= "#{l(:label_version)} #{@content.version}/#{@page.content.version}" %> -
+ <%= "#{l(:label_version)} #{@content.version}/#{@page.content.version}" %>
+ <%= '(' + link_to('diff', :controller => 'wiki', :action => 'diff', :page => @page.title, :version => @content.version) + ')' if @content.version > 1 %> -
<%= link_to((l(:label_next) + ' &#187;'), :action => 'index', :page => @page.title, :version => (@content.version + 1)) + " - " if @content.version < @page.content.version %>
<%= link_to(l(:label_current_version), :action => 'index', :page => @page.title) %>
<br />