]> git.openstreetmap.org Git - rails.git/blobdiff - app/models/user.rb
Remove nonsense has_one relationship
[rails.git] / app / models / user.rb
index 9eeb98290360d58cda7c759ec7b8dc37e6fb754e..c063b7c34b6f4babce1bff7b4eda0efadf13e59f 100644 (file)
@@ -73,6 +73,11 @@ class User < ActiveRecord::Base
 
   has_many :roles, :class_name => "UserRole"
 
 
   has_many :roles, :class_name => "UserRole"
 
+  has_many :issues, :class_name => "Issue", :foreign_key => :reported_user_id
+  has_many :issue_comments
+
+  has_many :reports
+
   scope :visible, -> { where(:status => %w[pending active confirmed]) }
   scope :active, -> { where(:status => %w[active confirmed]) }
   scope :identifiable, -> { where(:data_public => true) }
   scope :visible, -> { where(:status => %w[pending active confirmed]) }
   scope :active, -> { where(:status => %w[active confirmed]) }
   scope :identifiable, -> { where(:data_public => true) }
@@ -261,8 +266,8 @@ class User < ActiveRecord::Base
   def spam_score
     changeset_score = changesets.size * 50
     trace_score = traces.size * 50
   def spam_score
     changeset_score = changesets.size * 50
     trace_score = traces.size * 50
-    diary_entry_score = diary_entries.inject(0) { |acc, elem| acc + elem.body.spam_score }
-    diary_comment_score = diary_comments.inject(0) { |acc, elem| acc + elem.body.spam_score }
+    diary_entry_score = diary_entries.visible.inject(0) { |acc, elem| acc + elem.body.spam_score }
+    diary_comment_score = diary_comments.visible.inject(0) { |acc, elem| acc + elem.body.spam_score }
 
     score = description.spam_score / 4.0
     score += diary_entries.where("created_at > ?", 1.day.ago).count * 10
 
     score = description.spam_score / 4.0
     score += diary_entries.where("created_at > ?", 1.day.ago).count * 10