Merge tag 'v3.0.1' into instance_only_statuses

This commit is contained in:
Renato "Lond" Cerqueira
2019-10-21 09:14:53 +02:00
1034 changed files with 32987 additions and 15887 deletions

View File

@ -74,6 +74,7 @@ class User < ApplicationRecord
has_many :applications, class_name: 'Doorkeeper::Application', as: :owner
has_many :backups, inverse_of: :user
has_many :invites, inverse_of: :user
has_many :markers, inverse_of: :user, dependent: :destroy
has_one :invite_request, class_name: 'UserInviteRequest', inverse_of: :user, dependent: :destroy
accepts_nested_attributes_for :invite_request, reject_if: ->(attributes) { attributes['text'].blank? }
@ -107,7 +108,8 @@ class User < ApplicationRecord
delegate :auto_play_gif, :default_sensitive, :unfollow_modal, :boost_modal, :delete_modal,
:reduce_motion, :system_font_ui, :noindex, :theme, :display_media, :hide_network,
:expand_spoilers, :default_language, :aggregate_reblogs, :show_application,
:advanced_layout, :default_federation, to: :settings, prefix: :setting, allow_nil: false
:advanced_layout, :use_blurhash, :use_pending_items, :trends, :default_federation,
to: :settings, prefix: :setting, allow_nil: false
attr_reader :invite_code
attr_writer :external
@ -162,7 +164,15 @@ class User < ApplicationRecord
end
def active_for_authentication?
super && approved?
true
end
def functional?
confirmed? && approved? && !disabled? && !account.suspended? && account.moved_to_account_id.nil?
end
def unconfirmed_or_pending?
!(confirmed? && approved?)
end
def inactive_message
@ -203,6 +213,10 @@ class User < ApplicationRecord
settings.notification_emails['pending_account']
end
def allows_trending_tag_emails?
settings.notification_emails['trending_tag']
end
def hides_network?
@hides_network ||= settings.hide_network
end
@ -250,17 +264,20 @@ class User < ApplicationRecord
end
def password_required?
return false if Devise.pam_authentication || Devise.ldap_authentication
return false if external?
super
end
def send_reset_password_instructions
return false if encrypted_password.blank? && (Devise.pam_authentication || Devise.ldap_authentication)
return false if encrypted_password.blank?
super
end
def reset_password!(new_password, new_password_confirmation)
return false if encrypted_password.blank? && (Devise.pam_authentication || Devise.ldap_authentication)
return false if encrypted_password.blank?
super
end