about summary refs log tree commit diff
path: root/app/models
diff options
context:
space:
mode:
Diffstat (limited to 'app/models')
-rw-r--r--app/models/account.rb1
-rw-r--r--app/models/form/admin_settings.rb5
-rw-r--r--app/models/site_upload.rb1
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