From c3b55e80c5c161e7a996eafc89c27c7cb42edb11 Mon Sep 17 00:00:00 2001 From: evazion Date: Wed, 5 Oct 2016 00:56:07 +0000 Subject: [PATCH 1/2] Make default user level and settings configurable. Remove start_as_gold? and start_as_contributor? from default config because they don't actually do anything. `git log -G start_as` indicates they never have done anything. Add a more general customize_new_user method for setting the starting user level, permissions and defaults for any other settings. --- app/models/user.rb | 5 +++++ config/danbooru_default_config.rb | 21 +++++++++++++-------- 2 files changed, 18 insertions(+), 8 deletions(-) diff --git a/app/models/user.rb b/app/models/user.rb index d86a1f6aa..0bb9d4b48 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -64,6 +64,7 @@ class User < ActiveRecord::Base after_save :update_cache after_update :update_remote_cache before_create :promote_to_admin_if_first_user + before_create :customize_new_user #after_create :notify_sock_puppets has_many :feedback, :class_name => "UserFeedback", :dependent => :destroy has_many :posts, :foreign_key => "uploader_id" @@ -311,6 +312,10 @@ class User < ActiveRecord::Base end end + def customize_new_user + Danbooru.config.customize_new_user(self) + end + def role case level when Levels::MEMBER diff --git a/config/danbooru_default_config.rb b/config/danbooru_default_config.rb index d6d4d9e8d..ab41e7476 100644 --- a/config/danbooru_default_config.rb +++ b/config/danbooru_default_config.rb @@ -49,14 +49,19 @@ module Danbooru "choujin-steiner" end - # Set to true to give all new users gold access. - def start_as_gold? - false - end - - # Set to true to give all new users contributor access. - def start_as_contributor? - false + # Set the default level, permissions, and other settings for new users here. + def customize_new_user(user) + # user.level = User::Levels::MEMBER + # user.can_approve_posts = false + # user.can_upload_free = false + # user.is_super_voter = false + # + # user.base_upload_limit = 10 + # user.comment_threshold = -1 + # user.blacklisted_tags = ["spoilers", "guro", "scat", "furry -rating:s"].join("\n") + # user.default_image_size = "large" + # user.per_page = 20 + # user.disable_tagged_filenames = false end # What method to use to store images. From 96df7acffbe74274ec9a81ac276c27d93cf04f86 Mon Sep 17 00:00:00 2001 From: Albert Yi Date: Wed, 5 Oct 2016 12:46:04 -0700 Subject: [PATCH 2/2] Update danbooru_default_config.rb make sure config method never returns false --- config/danbooru_default_config.rb | 1 + 1 file changed, 1 insertion(+) diff --git a/config/danbooru_default_config.rb b/config/danbooru_default_config.rb index ab41e7476..1067c75a9 100644 --- a/config/danbooru_default_config.rb +++ b/config/danbooru_default_config.rb @@ -62,6 +62,7 @@ module Danbooru # user.default_image_size = "large" # user.per_page = 20 # user.disable_tagged_filenames = false + true end # What method to use to store images.