diff options
Diffstat (limited to 'app/models')
-rw-r--r-- | app/models/account.rb | 2 | ||||
-rw-r--r-- | app/models/status.rb | 5 |
2 files changed, 7 insertions, 0 deletions
diff --git a/app/models/account.rb b/app/models/account.rb index 03584b4e6..c5fc6d7ab 100644 --- a/app/models/account.rb +++ b/app/models/account.rb @@ -82,6 +82,8 @@ class Account < ApplicationRecord prefix: true, allow_nil: true + delegate :allowed_languages, to: :user, prefix: false, allow_nil: true + def follow!(other_account) active_relationships.where(target_account: other_account).first_or_create!(target_account: other_account) end diff --git a/app/models/status.rb b/app/models/status.rb index f005813e5..3243d1ecb 100644 --- a/app/models/status.rb +++ b/app/models/status.rb @@ -119,6 +119,10 @@ class Status < ApplicationRecord end class << self + def in_allowed_languages(account) + where(language: account.allowed_languages) + end + def as_home_timeline(account) where(account: [account] + account.following) end @@ -198,6 +202,7 @@ class Status < ApplicationRecord def filter_timeline_for_account(query, account) query = query.not_excluded_by_account(account) + query = query.in_allowed_languages(account) if account.allowed_languages.present? query.merge(account_silencing_filter(account)) end |