Commit 3f2c283c269d68bfa0aa9ea9795a2056280ce34f

Authored by AntonioTerceiro
1 parent 5905980f

ActionItem21: recording who did the last change to an article



git-svn-id: https://svn.colivre.coop.br/svn/noosfero/trunk@982 3f533792-8f58-4932-b0fe-aaf55b0a4547
app/models/article.rb
@@ -5,6 +5,8 @@ class Article < ActiveRecord::Base @@ -5,6 +5,8 @@ class Article < ActiveRecord::Base
5 5
6 validates_uniqueness_of :slug, :scope => ['profile_id', 'parent_id'], :message => _('%{fn} (the code generated from the article name) is already being used by another article.') 6 validates_uniqueness_of :slug, :scope => ['profile_id', 'parent_id'], :message => _('%{fn} (the code generated from the article name) is already being used by another article.')
7 7
  8 + belongs_to :last_changed_by, :class_name => Person.name, :foreign_key => 'last_changed_by_id'
  9 +
8 acts_as_taggable 10 acts_as_taggable
9 11
10 acts_as_filesystem 12 acts_as_filesystem
test/unit/article_test.rb
@@ -117,4 +117,18 @@ class ArticleTest < Test::Unit::TestCase @@ -117,4 +117,18 @@ class ArticleTest < Test::Unit::TestCase
117 assert_equal "/#{profile.identifier}/aaa/bbb", b.public_path 117 assert_equal "/#{profile.identifier}/aaa/bbb", b.public_path
118 end 118 end
119 119
  120 + should 'record who did the last change' do
  121 + a = profile.articles.build(:name => 'test')
  122 +
  123 + # must be a person
  124 + assert_raise ActiveRecord::AssociationTypeMismatch do
  125 + a.last_changed_by = Profile.new
  126 + end
  127 + assert_nothing_raised do
  128 + a.last_changed_by = Person.new
  129 + a.save!
  130 + end
  131 +
  132 + end
  133 +
120 end 134 end