Merge branch 'master' into glitch-soc/merge-upstream
Conflicts: app/models/user.rb Resolved by adding :default_language to user settings fields
This commit is contained in:
@@ -144,7 +144,7 @@ class Account < ApplicationRecord
|
||||
prefix: true,
|
||||
allow_nil: true
|
||||
|
||||
delegate :filtered_languages, to: :user, prefix: false, allow_nil: true
|
||||
delegate :chosen_languages, to: :user, prefix: false, allow_nil: true
|
||||
|
||||
def local?
|
||||
domain.nil?
|
||||
|
||||
@@ -41,7 +41,9 @@ module Attachmentable
|
||||
|
||||
extensions_for_mime_type = mime_type.empty? ? [] : mime_type.first.extensions
|
||||
original_extension = Paperclip::Interpolations.extension(attachment, :original)
|
||||
proper_extension = extensions_for_mime_type.first.to_s
|
||||
proper_extension = 'jpeg' if proper_extension == 'jpe'
|
||||
|
||||
extensions_for_mime_type.include?(original_extension) ? original_extension : extensions_for_mime_type.first
|
||||
extensions_for_mime_type.include?(original_extension) ? original_extension : proper_extension
|
||||
end
|
||||
end
|
||||
|
||||
@@ -197,8 +197,8 @@ class Status < ApplicationRecord
|
||||
before_validation :set_local
|
||||
|
||||
class << self
|
||||
def not_in_filtered_languages(account)
|
||||
where(language: nil).or where.not(language: account.filtered_languages)
|
||||
def in_chosen_languages(account)
|
||||
where(language: nil).or where(language: account.chosen_languages)
|
||||
end
|
||||
|
||||
def as_home_timeline(account)
|
||||
@@ -344,7 +344,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.not_in_filtered_languages(account) if account.filtered_languages.present?
|
||||
query = query.in_chosen_languages(account) if account.chosen_languages.present?
|
||||
query.merge(account_silencing_filter(account))
|
||||
end
|
||||
|
||||
|
||||
@@ -35,6 +35,7 @@
|
||||
# moderator :boolean default(FALSE), not null
|
||||
# invite_id :bigint(8)
|
||||
# remember_token :string
|
||||
# chosen_languages :string is an Array
|
||||
#
|
||||
|
||||
class User < ApplicationRecord
|
||||
@@ -88,7 +89,7 @@ class User < ApplicationRecord
|
||||
|
||||
delegate :auto_play_gif, :default_sensitive, :unfollow_modal, :boost_modal, :favourite_modal, :delete_modal,
|
||||
:reduce_motion, :system_font_ui, :noindex, :flavour, :skin, :display_sensitive_media, :hide_network,
|
||||
to: :settings, prefix: :setting, allow_nil: false
|
||||
:default_language, to: :settings, prefix: :setting, allow_nil: false
|
||||
|
||||
attr_accessor :invite_code
|
||||
|
||||
@@ -317,7 +318,9 @@ class User < ApplicationRecord
|
||||
private
|
||||
|
||||
def sanitize_languages
|
||||
filtered_languages.reject!(&:blank?)
|
||||
return if chosen_languages.nil?
|
||||
chosen_languages.reject!(&:blank?)
|
||||
self.chosen_languages = nil if chosen_languages.empty?
|
||||
end
|
||||
|
||||
def prepare_new_user!
|
||||
|
||||
Reference in New Issue
Block a user