diff --git a/app/models/comment.rb b/app/models/comment.rb index b6fe41e..200b1f1 100644 --- a/app/models/comment.rb +++ b/app/models/comment.rb @@ -213,7 +213,7 @@ class Comment < ActiveRecord::Base end def archived? - self.article.archived? + self.article.archived? if self.article.present? && self.article.respond_to?(:archived?) end protected diff --git a/lib/noosfero/vote_ext.rb b/lib/noosfero/vote_ext.rb index be349ca..26f7857 100644 --- a/lib/noosfero/vote_ext.rb +++ b/lib/noosfero/vote_ext.rb @@ -8,4 +8,15 @@ class Vote voter.present? end + validate :verify_target_archived + + def verify_target_archived + if voteable.kind_of?(Article) || voteable.kind_of?(Comment) + if voteable.archived? + errors.add(:base, _("The target is achived and can't accept votes")) + false + end + end + end + end diff --git a/plugins/vote/lib/ext/vote.rb b/plugins/vote/lib/ext/vote.rb deleted file mode 100644 index 0b5729e..0000000 --- a/plugins/vote/lib/ext/vote.rb +++ /dev/null @@ -1,18 +0,0 @@ -require_dependency 'models/vote' - -class Vote - - validate :verify_target_archived - - def verify_target_archived - - if voteable.kind_of?(Article) || voteable.kind_of?(Comment) - if voteable.archived? - errors.add(:base, _("The target is achived and can't accept votes")) - false - end - end - - end - -end -- libgit2 0.21.2