From 8f4b7c1820b046c8df10e043a0bc605f3007eee7 Mon Sep 17 00:00:00 2001 From: Matt Jankowski Date: Sat, 20 May 2017 11:32:44 -0400 Subject: Filter languages with opt out (#3175) * Remove allowed_languages and add filtered_languages * Use filtered_languages instead of allowed_languages --- app/models/account.rb | 2 +- app/models/status.rb | 6 +++--- app/models/user.rb | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) (limited to 'app/models') diff --git a/app/models/account.rb b/app/models/account.rb index 726e6c127..7e4291d55 100644 --- a/app/models/account.rb +++ b/app/models/account.rb @@ -99,7 +99,7 @@ class Account < ApplicationRecord prefix: true, allow_nil: true - delegate :allowed_languages, to: :user, prefix: false, allow_nil: true + delegate :filtered_languages, to: :user, prefix: false, allow_nil: true def local? domain.nil? diff --git a/app/models/status.rb b/app/models/status.rb index a4e581a06..d7304152f 100644 --- a/app/models/status.rb +++ b/app/models/status.rb @@ -142,8 +142,8 @@ class Status < ApplicationRecord before_validation :set_conversation class << self - def in_allowed_languages(account) - where(language: account.allowed_languages) + def not_in_filtered_languages(account) + where.not(language: account.filtered_languages) end def as_home_timeline(account) @@ -234,7 +234,7 @@ class Status < ApplicationRecord def filter_timeline_for_account(query, account, local_only) query = query.not_excluded_by_account(account) query = query.not_domain_blocked_by_account(account) unless local_only - query = query.in_allowed_languages(account) if account.allowed_languages.present? + query = query.not_in_filtered_languages(account) if account.filtered_languages.present? query.merge(account_silencing_filter(account)) end diff --git a/app/models/user.rb b/app/models/user.rb index 7cf3a1290..2ad68f9ae 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -30,7 +30,7 @@ # otp_required_for_login :boolean # last_emailed_at :datetime # otp_backup_codes :string is an Array -# allowed_languages :string default([]), not null, is an Array +# filtered_languages :string default([]), not null, is an Array # class User < ApplicationRecord @@ -83,6 +83,6 @@ class User < ApplicationRecord private def sanitize_languages - allowed_languages.reject!(&:blank?) + filtered_languages.reject!(&:blank?) end end -- cgit