diff options
author | Jean-Philippe Lang <jp_lang@yahoo.fr> | 2007-07-14 11:25:03 +0000 |
---|---|---|
committer | Jean-Philippe Lang <jp_lang@yahoo.fr> | 2007-07-14 11:25:03 +0000 |
commit | 5e20417e6d523372320861f1d9a446ddd75e041f (patch) | |
tree | 9f276a706577f6959fb7465e00e74c3f69258c6e /app/views/wiki | |
parent | bf74efcd1159d9872cdbdc55e9b859c3b2928ffc (diff) | |
download | redmine-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.rhtml | 19 | ||||
-rw-r--r-- | app/views/wiki/history.rhtml | 17 | ||||
-rw-r--r-- | app/views/wiki/show.rhtml | 3 |
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> +→ +<%= 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(('« ' + 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) + ' »'), :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 /> |