From 1f991c6a792a76de50d6b373510544e6469751b3 Mon Sep 17 00:00:00 2001
From: Jean-Philippe Lang <jp_lang@yahoo.fr>
Date: Thu, 16 Aug 2007 11:01:00 +0000
Subject: [PATCH] Added feeds auto discovery links on projects/show (patch by
 Nicolas Chuche). Also fixed 'issue changes details' feed title.

git-svn-id: http://redmine.rubyforge.org/svn/trunk@647 e93f8b46-1217-0410-a6f0-8f06a7374b81
---
 app/controllers/feeds_controller.rb    |  2 +-
 app/controllers/projects_controller.rb |  2 ++
 app/controllers/welcome_controller.rb  |  2 ++
 app/views/feeds/history.rxml           |  2 +-
 app/views/feeds/issues.rxml            |  2 +-
 app/views/projects/show.rhtml          | 13 ++++++++++++-
 app/views/welcome/index.rhtml          |  5 +++--
 7 files changed, 22 insertions(+), 6 deletions(-)

diff --git a/app/controllers/feeds_controller.rb b/app/controllers/feeds_controller.rb
index bf03acbc9..aaba4ac57 100644
--- a/app/controllers/feeds_controller.rb
+++ b/app/controllers/feeds_controller.rb
@@ -69,7 +69,7 @@ class FeedsController < ApplicationController
                                      :order => "#{Journal.table_name}.created_on DESC"
     end
     
-    @title = (@project ? @project.name : Setting.app_title) + ": " + (query ? query.name : l(:label_reported_issues))
+    @title = (@project ? @project.name : Setting.app_title) + ": " + (query ? query.name : l(:label_changes_details))
     headers["Content-Type"] = "application/rss+xml"
     render :action => 'history_atom' if 'atom' == params[:format]
   end
diff --git a/app/controllers/projects_controller.rb b/app/controllers/projects_controller.rb
index 70b9b407d..582ff3367 100644
--- a/app/controllers/projects_controller.rb
+++ b/app/controllers/projects_controller.rb
@@ -95,6 +95,8 @@ class ProjectsController < ApplicationController
     @trackers = Tracker.find(:all, :order => 'position')
     @open_issues_by_tracker = Issue.count(:group => :tracker, :joins => "INNER JOIN #{IssueStatus.table_name} ON #{IssueStatus.table_name}.id = #{Issue.table_name}.status_id", :conditions => ["project_id=? and #{IssueStatus.table_name}.is_closed=?", @project.id, false])
     @total_issues_by_tracker = Issue.count(:group => :tracker, :conditions => ["project_id=?", @project.id])
+
+    @key = logged_in_user.get_or_create_rss_key.value if logged_in_user
   end
 
   def settings
diff --git a/app/controllers/welcome_controller.rb b/app/controllers/welcome_controller.rb
index 2eac2268f..7b1c398d1 100644
--- a/app/controllers/welcome_controller.rb
+++ b/app/controllers/welcome_controller.rb
@@ -21,5 +21,7 @@ class WelcomeController < ApplicationController
   def index
     @news = News.latest logged_in_user
     @projects = Project.latest logged_in_user
+    
+    @key = logged_in_user.get_or_create_rss_key.value if logged_in_user
   end
 end
diff --git a/app/views/feeds/history.rxml b/app/views/feeds/history.rxml
index b7e5a3509..9894412cc 100644
--- a/app/views/feeds/history.rxml
+++ b/app/views/feeds/history.rxml
@@ -4,7 +4,7 @@ xml.rss "version" => "2.0", "xmlns:dc" => "http://purl.org/dc/elements/1.1/" do
     xml.title @title
     xml.link url_for(:controller => 'welcome', :only_path => false)
     xml.pubDate CGI.rfc1123_date(@journals.first ? @journals.first.created_on : Time.now)
-    xml.description l(:label_reported_issues)
+    xml.description l(:label_changes_details)
     @journals.each do |journal|
       issue = journal.issue
       xml.item do
diff --git a/app/views/feeds/issues.rxml b/app/views/feeds/issues.rxml
index fb120b7cb..70398f421 100644
--- a/app/views/feeds/issues.rxml
+++ b/app/views/feeds/issues.rxml
@@ -17,4 +17,4 @@ xml.rss "version" => "2.0", "xmlns:dc" => "http://purl.org/dc/elements/1.1/" do
       end
     end
   end
-end
\ No newline at end of file
+end
diff --git a/app/views/projects/show.rhtml b/app/views/projects/show.rhtml
index 354568f97..9419fb2a1 100644
--- a/app/views/projects/show.rhtml
+++ b/app/views/projects/show.rhtml
@@ -56,4 +56,15 @@
     <p class="textcenter"><small><%= link_to l(:label_news_view_all), :controller => 'projects', :action => 'list_news', :id => @project %></small></p>
   </div>  
   <% end %>
-</div>
\ No newline at end of file
+</div>
+
+<% content_for :header_tags do %>
+<%= auto_discovery_link_tag(:rss,  {:controller => 'feeds', :action => 'issues', :project_id => @project, :key => @key}, {:title => l(:label_reported_issues)}) %>
+<%= auto_discovery_link_tag(:atom, {:controller => 'feeds', :action => 'issues', :project_id => @project, :key => @key, :format => 'atom'}, {:title => l(:label_reported_issues)}) %>
+
+<%= auto_discovery_link_tag(:rss,  {:controller => 'feeds', :action => 'history', :project_id => @project, :key => @key }, {:title => l(:label_changes_details)}) %>
+<%= auto_discovery_link_tag(:atom, {:controller => 'feeds', :action => 'history', :project_id => @project, :key => @key, :format => 'atom'}, {:title => l(:label_changes_details)}) %>
+
+<%= auto_discovery_link_tag(:rss,  {:controller => 'feeds', :action => 'news', :project_id => @project, :key => @key}, {:title => l(:label_news_latest)}) %>
+<%= auto_discovery_link_tag(:atom, {:controller => 'feeds', :action => 'news', :project_id => @project, :key => @key, :format => 'atom'}, {:title => l(:label_news_latest)}) %>
+<% end %>
diff --git a/app/views/welcome/index.rhtml b/app/views/welcome/index.rhtml
index 9c73ab863..b91efec28 100644
--- a/app/views/welcome/index.rhtml
+++ b/app/views/welcome/index.rhtml
@@ -23,5 +23,6 @@
 </div>	
 
 <% content_for :header_tags do %>
-<%= auto_discovery_link_tag(:rss, {:controller => 'feeds' , :action => 'news' }) %>
-<% end %>
\ No newline at end of file
+<%= auto_discovery_link_tag(:rss,  {:controller => 'feeds', :action => 'news', :key => @key}, {:title => l(:label_news_latest)}) %>
+<%= auto_discovery_link_tag(:atom, {:controller => 'feeds', :action => 'news', :key => @key, :format => 'atom'}, {:title => l(:label_news_latest)}) %>
+<% end %>
-- 
GitLab