Fix dmail failures when akismet isn't configured.

This commit is contained in:
evazion 2017-11-25 21:26:59 -06:00
parent b62b16b5a2
commit 127e4e385b
4 changed files with 16 additions and 11 deletions

View File

@ -30,6 +30,12 @@ class Dmail < ApplicationRecord
def creator_ip_addr_str
creator_ip_addr.to_s
end
def spam?(sender = CurrentUser.user)
return false if Danbooru.config.rakismet_key.blank?
return false if sender.is_gold?
super()
end
end
module AddressMethods
@ -52,12 +58,7 @@ class Dmail < ApplicationRecord
def initialize_attributes
self.from_id ||= CurrentUser.id
self.creator_ip_addr ||= CurrentUser.ip_addr
if CurrentUser.is_gold?
self.is_spam = false
else
self.is_spam = spam?
end
true
self.is_spam = spam?(CurrentUser.user)
end
end

View File

@ -30,11 +30,6 @@ module Danbooru
config.x.git_hash = nil
end
if ENV["DANBOORU_RAKISMET_KEY"]
config.rakismet.key = ENV["DANBOORU_RAKISMET_KEY"]
config.rakismet.url = ENV["DANBOORU_RAKISMET_URL"]
end
config.after_initialize do
Rails.application.routes.default_url_options = {
host: Danbooru.config.hostname,

View File

@ -619,6 +619,13 @@ module Danbooru
def aws_sqs_cropper_url
end
# Akismet API key. Used for Dmail spam detection. http://akismet.com/signup/
def rakismet_key
end
def rakismet_url
end
end
class EnvironmentConfiguration

View File

@ -0,0 +1,2 @@
Rails.application.config.rakismet.key = Danbooru.config.rakismet_key
Rails.application.config.rakismet.url = Danbooru.config.rakismet_url