From 724ca74f51e01e5f5d43fc8b9264de285f163713 Mon Sep 17 00:00:00 2001 From: Jean-Philippe Lang Date: Fri, 23 Mar 2007 15:58:02 +0000 Subject: [PATCH] patch #9429 Display Wiki edits in activity log (Nick Read) git-svn-id: http://redmine.rubyforge.org/svn/trunk@370 e93f8b46-1217-0410-a6f0-8f06a7374b81 --- app/controllers/projects_controller.rb | 20 ++++++++++++++++++++ app/models/wiki_page.rb | 6 +++++- app/views/projects/activity.rhtml | 8 ++++++-- lang/de.yml | 2 ++ lang/en.yml | 2 ++ lang/es.yml | 2 ++ lang/fr.yml | 2 ++ lang/it.yml | 2 ++ lang/ja.yml | 2 ++ 9 files changed, 43 insertions(+), 3 deletions(-) diff --git a/app/controllers/projects_controller.rb b/app/controllers/projects_controller.rb index 8feb5f5d..12935585 100644 --- a/app/controllers/projects_controller.rb +++ b/app/controllers/projects_controller.rb @@ -499,6 +499,26 @@ class ProjectsController < ApplicationController @show_documents = 1 end + unless params[:show_wiki_edits] == "0" + select = "#{WikiContent.versioned_table_name}.updated_on, #{WikiContent.versioned_table_name}.comment, " + + "#{WikiContent.versioned_table_name}.#{WikiContent.version_column}, #{WikiPage.table_name}.title" + joins = "LEFT JOIN #{WikiPage.table_name} ON #{WikiPage.table_name}.id = #{WikiContent.versioned_table_name}.page_id " + + "LEFT JOIN #{Wiki.table_name} ON #{Wiki.table_name}.id = #{WikiPage.table_name}.wiki_id " + conditions = ["#{Wiki.table_name}.project_id = ? AND #{WikiContent.versioned_table_name}.updated_on BETWEEN ? AND ?", + @project.id, @date_from, @date_to] + + WikiContent.versioned_class.find(:all, :select => select, :joins => joins, :conditions => conditions).each { |i| + # We provide this alias so all events can be treated in the same manner + def i.created_on + self.updated_on + end + + @events_by_day[i.created_on.to_date] ||= [] + @events_by_day[i.created_on.to_date] << i + } + @show_wiki_edits = 1 + end + render :layout => false if request.xhr? end diff --git a/app/models/wiki_page.rb b/app/models/wiki_page.rb index e99bb314..19961cb0 100644 --- a/app/models/wiki_page.rb +++ b/app/models/wiki_page.rb @@ -29,6 +29,10 @@ class WikiPage < ActiveRecord::Base end def pretty_title - title.tr '_', ' ' + WikiPage.pretty_title(title) + end + + def self.pretty_title(str) + (str && str.is_a?(String)) ? str.tr('_', ' ') : str end end diff --git a/app/views/projects/activity.rhtml b/app/views/projects/activity.rhtml index 80386b9e..b1d131aa 100644 --- a/app/views/projects/activity.rhtml +++ b/app/views/projects/activity.rhtml @@ -9,7 +9,8 @@ <%= check_box_tag 'show_issues', 1, @show_issues %><%= hidden_field_tag 'show_issues', 0, :id => nil %> <%=l(:label_issue_plural)%>
<%= check_box_tag 'show_news', 1, @show_news %><%= hidden_field_tag 'show_news', 0, :id => nil %> <%=l(:label_news_plural)%>
<%= check_box_tag 'show_files', 1, @show_files %><%= hidden_field_tag 'show_files', 0, :id => nil %> <%=l(:label_attachment_plural)%>
- <%= check_box_tag 'show_documents', 1, @show_documents %><%= hidden_field_tag 'show_documents', 0, :id => nil %> <%=l(:label_document_plural)%> + <%= check_box_tag 'show_documents', 1, @show_documents %><%= hidden_field_tag 'show_documents', 0, :id => nil %> <%=l(:label_document_plural)%>
+ <%= check_box_tag 'show_wiki_edits', 1, @show_wiki_edits %><%= hidden_field_tag 'show_wiki_edits', 0, :id => nil %> <%=l(:label_wiki_edit_plural)%>

<%= submit_tag l(:button_apply), :class => 'button-small' %>

<% end %> @@ -35,6 +36,9 @@ <%= e.author.name %> <% elsif e.is_a? Document %> <%= e.created_on.strftime("%H:%M") %> <%=l(:label_document)%>: <%= link_to h(e.title), :controller => 'documents', :action => 'show', :id => e %>
+ <% elsif e.is_a? WikiContent.versioned_class %> + <%= e.created_on.strftime("%H:%M") %> <%=l(:label_wiki_edit)%>: <%= link_to h(WikiPage.pretty_title(e.title)), :controller => 'wiki', :page => e.title %> (<%= link_to '#' + e.version.to_s, :controller => 'wiki', :page => e.title, :version => e.version %>)
+ <% unless e.comment.blank? %><%=h e.comment %><% end %> <% end %>

@@ -56,4 +60,4 @@ %> 
- \ No newline at end of file + diff --git a/lang/de.yml b/lang/de.yml index 4cd6eab5..9bd29355 100644 --- a/lang/de.yml +++ b/lang/de.yml @@ -328,6 +328,8 @@ label_result: %d Resultat label_result_plural: %d Resultate label_all_words: Alle Wörter label_wiki: Wiki +label_wiki_edit: Wiki edit +label_wiki_edit_plural: Wiki edits label_page_index: Index label_current_version: Gegenwärtige Version label_preview: Preview diff --git a/lang/en.yml b/lang/en.yml index 00519ec5..72f75597 100644 --- a/lang/en.yml +++ b/lang/en.yml @@ -328,6 +328,8 @@ label_result: %d result label_result_plural: %d results label_all_words: All words label_wiki: Wiki +label_wiki_edit: Wiki edit +label_wiki_edit_plural: Wiki edits label_page_index: Index label_current_version: Current version label_preview: Preview diff --git a/lang/es.yml b/lang/es.yml index 13c32bf1..a8eb1d0d 100644 --- a/lang/es.yml +++ b/lang/es.yml @@ -328,6 +328,8 @@ label_result: %d resultado label_result_plural: %d resultados label_all_words: Todas las palabras label_wiki: Wiki +label_wiki_edit: Wiki edit +label_wiki_edit_plural: Wiki edits label_page_index: Índice label_current_version: Versión actual label_preview: Previo diff --git a/lang/fr.yml b/lang/fr.yml index c113301d..dbce4b0c 100644 --- a/lang/fr.yml +++ b/lang/fr.yml @@ -328,6 +328,8 @@ label_result: %d résultat label_result_plural: %d résultats label_all_words: Tous les mots label_wiki: Wiki +label_wiki_edit: Révision wiki +label_wiki_edit_plural: Révisions wiki label_page_index: Index label_current_version: Version actuelle label_preview: Prévisualisation diff --git a/lang/it.yml b/lang/it.yml index 9bab4c9b..e6316e0d 100644 --- a/lang/it.yml +++ b/lang/it.yml @@ -328,6 +328,8 @@ label_result: %d risultato label_result_plural: %d risultati label_all_words: Tutte le parole label_wiki: Wiki +label_wiki_edit: Wiki edit +label_wiki_edit_plural: Wiki edits label_page_index: Indice label_current_version: Versione corrente label_preview: Previsione diff --git a/lang/ja.yml b/lang/ja.yml index eb0be882..83e681c0 100644 --- a/lang/ja.yml +++ b/lang/ja.yml @@ -329,6 +329,8 @@ label_result: %d 件の結果 label_result_plural: %d 件の結果 label_all_words: すべての単語 label_wiki: Wiki +label_wiki_edit: Wiki edit +label_wiki_edit_plural: Wiki edits label_page_index: 索引 label_current_version: 最近版 label_preview: 下検分