about summary refs log tree commit diff
path: root/app/models/user.rb
diff options
context:
space:
mode:
authorStarfall <us@starfall.systems>2022-02-25 12:35:11 -0600
committerStarfall <us@starfall.systems>2022-02-25 12:35:11 -0600
commitad1733ea294c6049336a9aeeb7ff96c8fea22cfa (patch)
tree306ff2d36a8bce82039890c4327f7d7bf37583dc /app/models/user.rb
parentc5f289e8ef7ec1592d068ac797add7332343820d (diff)
parente48eaf64cc7cb0cfab388331c4823ee5fb580d59 (diff)
Merge remote-tracking branch 'glitch/main'
Diffstat (limited to 'app/models/user.rb')
-rw-r--r--app/models/user.rb6
1 files changed, 5 insertions, 1 deletions
diff --git a/app/models/user.rb b/app/models/user.rb
index ee20e293e..a21e96ae5 100644
--- a/app/models/user.rb
+++ b/app/models/user.rb
@@ -111,7 +111,7 @@ class User < ApplicationRecord
   scope :inactive, -> { where(arel_table[:current_sign_in_at].lt(ACTIVE_DURATION.ago)) }
   scope :active, -> { confirmed.where(arel_table[:current_sign_in_at].gteq(ACTIVE_DURATION.ago)).joins(:account).where(accounts: { suspended_at: nil }) }
   scope :matches_email, ->(value) { where(arel_table[:email].matches("#{value}%")) }
-  scope :matches_ip, ->(value) { left_joins(:ips).where('user_ips.ip <<= ?', value) }
+  scope :matches_ip, ->(value) { left_joins(:ips).where('user_ips.ip <<= ?', value).group('users.id') }
   scope :emailable, -> { confirmed.enabled.joins(:account).merge(Account.searchable) }
 
   before_validation :sanitize_languages
@@ -265,6 +265,10 @@ class User < ApplicationRecord
     settings.notification_emails['pending_account']
   end
 
+  def allows_appeal_emails?
+    settings.notification_emails['appeal']
+  end
+
   def allows_trending_tag_emails?
     settings.notification_emails['trending_tag']
   end