diff options
Diffstat (limited to 'app/models')
-rw-r--r-- | app/models/account.rb | 1 | ||||
-rw-r--r-- | app/models/form/admin_settings.rb | 5 | ||||
-rw-r--r-- | app/models/site_upload.rb | 1 |
3 files changed, 6 insertions, 1 deletions
diff --git a/app/models/account.rb b/app/models/account.rb index a82251d2e..983d38e0e 100644 --- a/app/models/account.rb +++ b/app/models/account.rb @@ -102,6 +102,7 @@ class Account < ApplicationRecord scope :tagged_with, ->(tag) { joins(:accounts_tags).where(accounts_tags: { tag_id: tag }) } scope :by_recent_status, -> { order(Arel.sql('(case when account_stats.last_status_at is null then 1 else 0 end) asc, account_stats.last_status_at desc')) } scope :popular, -> { order('account_stats.followers_count desc') } + scope :without_blocking, ->(account) { account.nil? ? all : where.not(id: Block.where(target_account_id: account.id).pluck(:account_id)) } delegate :email, :unconfirmed_email, diff --git a/app/models/form/admin_settings.rb b/app/models/form/admin_settings.rb index 0fcbd0605..5b71dfad5 100644 --- a/app/models/form/admin_settings.rb +++ b/app/models/form/admin_settings.rb @@ -28,6 +28,9 @@ class Form::AdminSettings profile_directory hide_followers_count flavour_and_skin + thumbnail + hero + mascot ).freeze BOOLEAN_KEYS = %i( @@ -73,7 +76,7 @@ class Form::AdminSettings next if PSEUDO_KEYS.include?(key) value = instance_variable_get("@#{key}") - if UPLOAD_KEYS.include?(key) + if UPLOAD_KEYS.include?(key) && !value.nil? upload = SiteUpload.where(var: key).first_or_initialize(var: key) upload.update(file: value) else diff --git a/app/models/site_upload.rb b/app/models/site_upload.rb index 14d683767..cf10b30fc 100644 --- a/app/models/site_upload.rb +++ b/app/models/site_upload.rb @@ -18,6 +18,7 @@ class SiteUpload < ApplicationRecord has_attached_file :file validates_attachment_content_type :file, content_type: /\Aimage\/.*\z/ + validates :file, presence: true validates :var, presence: true, uniqueness: true before_save :set_meta |