From b5444b5fcd84008a67a5486e373813dec1a371c8 Mon Sep 17 00:00:00 2001 From: Jean-Philippe Lang Date: Sat, 12 Jul 2008 09:42:18 +0000 Subject: [PATCH] Fixed: no :author method error on projects atom feed (#1623). git-svn-id: http://redmine.rubyforge.org/svn/trunk@1653 e93f8b46-1217-0410-a6f0-8f06a7374b81 --- app/models/project.rb | 3 ++- test/functional/projects_controller_test.rb | 8 ++++++++ vendor/plugins/acts_as_event/lib/acts_as_event.rb | 15 ++++++++------- 3 files changed, 18 insertions(+), 8 deletions(-) diff --git a/app/models/project.rb b/app/models/project.rb index 67e6c0e39..5679344bc 100644 --- a/app/models/project.rb +++ b/app/models/project.rb @@ -48,7 +48,8 @@ class Project < ActiveRecord::Base acts_as_customizable acts_as_searchable :columns => ['name', 'description'], :project_key => 'id', :permission => nil acts_as_event :title => Proc.new {|o| "#{l(:label_project)}: #{o.name}"}, - :url => Proc.new {|o| {:controller => 'projects', :action => 'show', :id => o.id}} + :url => Proc.new {|o| {:controller => 'projects', :action => 'show', :id => o.id}}, + :author => nil attr_protected :status, :enabled_module_names diff --git a/test/functional/projects_controller_test.rb b/test/functional/projects_controller_test.rb index 88a9fae60..f5f1c6733 100644 --- a/test/functional/projects_controller_test.rb +++ b/test/functional/projects_controller_test.rb @@ -42,6 +42,14 @@ class ProjectsControllerTest < Test::Unit::TestCase # Subproject in corresponding value assert assigns(:project_tree)[Project.find(1)].include?(Project.find(3)) end + + def test_index_atom + get :index, :format => 'atom' + assert_response :success + assert_template 'common/feed.atom.rxml' + assert_select 'feed>title', :text => 'Redmine: Latest projects' + assert_select 'feed>entry', :count => Project.count(:conditions => Project.visible_by(User.current)) + end def test_show_by_id get :show, :id => 1 diff --git a/vendor/plugins/acts_as_event/lib/acts_as_event.rb b/vendor/plugins/acts_as_event/lib/acts_as_event.rb index d7f437a5e..0b7ad21f5 100644 --- a/vendor/plugins/acts_as_event/lib/acts_as_event.rb +++ b/vendor/plugins/acts_as_event/lib/acts_as_event.rb @@ -25,14 +25,15 @@ module Redmine module ClassMethods def acts_as_event(options = {}) return if self.included_modules.include?(Redmine::Acts::Event::InstanceMethods) - options[:datetime] ||= :created_on - options[:title] ||= :title - options[:description] ||= :description - options[:author] ||= :author - options[:url] ||= {:controller => 'welcome'} - options[:type] ||= self.name.underscore.dasherize + default_options = { :datetime => :created_on, + :title => :title, + :description => :description, + :author => :author, + :url => {:controller => 'welcome'}, + :type => self.name.underscore.dasherize } + cattr_accessor :event_options - self.event_options = options + self.event_options = default_options.merge(options) send :include, Redmine::Acts::Event::InstanceMethods end end -- 2.39.5