Commit 3f2c283c269d68bfa0aa9ea9795a2056280ce34f
1 parent
5905980f
Exists in
master
and in
29 other branches
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
Showing
2 changed files
with
16 additions
and
0 deletions
Show diff stats
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 |