mirror of
https://github.com/codeninjasllc/discourse.git
synced 2024-11-23 23:58:31 -05:00
FEATURE: new 'manual_polling_enabled' site setting
This commit is contained in:
parent
84d234a98a
commit
20ce7f29e0
5 changed files with 14 additions and 7 deletions
|
@ -105,6 +105,10 @@ class SiteSetting < ActiveRecord::Base
|
||||||
nil
|
nil
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def self.email_polling_enabled?
|
||||||
|
SiteSetting.manual_polling_enabled? || SiteSetting.pop3_polling_enabled?
|
||||||
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
||||||
# == Schema Information
|
# == Schema Information
|
||||||
|
|
|
@ -1158,6 +1158,7 @@ en:
|
||||||
|
|
||||||
delete_email_logs_after_days: "Delete email logs after (N) days. 0 to keep indefinitely"
|
delete_email_logs_after_days: "Delete email logs after (N) days. 0 to keep indefinitely"
|
||||||
|
|
||||||
|
manual_polling_enabled: "Push emails using the API for email replies."
|
||||||
pop3_polling_enabled: "Poll via POP3 for email replies."
|
pop3_polling_enabled: "Poll via POP3 for email replies."
|
||||||
pop3_polling_ssl: "Use SSL while connecting to the POP3 server. (Recommended)"
|
pop3_polling_ssl: "Use SSL while connecting to the POP3 server. (Recommended)"
|
||||||
pop3_polling_period_mins: "The period in minutes between checking the POP3 account for email. NOTE: requires restart."
|
pop3_polling_period_mins: "The period in minutes between checking the POP3 account for email. NOTE: requires restart."
|
||||||
|
@ -1310,7 +1311,7 @@ en:
|
||||||
pop3_polling_password_is_empty: "You must set a 'pop3 polling password' before enabling POP3 polling."
|
pop3_polling_password_is_empty: "You must set a 'pop3 polling password' before enabling POP3 polling."
|
||||||
pop3_polling_authentication_failed: "POP3 authentication failed. Please verify your pop3 credentials."
|
pop3_polling_authentication_failed: "POP3 authentication failed. Please verify your pop3 credentials."
|
||||||
reply_by_email_address_is_empty: "You must set a 'reply by email address' before enabling reply by email."
|
reply_by_email_address_is_empty: "You must set a 'reply by email address' before enabling reply by email."
|
||||||
pop3_polling_disabled: "You must first enabled POP3 polling before enabling reply by email."
|
email_polling_disabled: "You must enable either manual or POP3 polling before enabling reply by email."
|
||||||
user_locale_not_enabled: "You must first enable 'allow user locale' before enabling this setting."
|
user_locale_not_enabled: "You must first enable 'allow user locale' before enabling this setting."
|
||||||
|
|
||||||
notification_types:
|
notification_types:
|
||||||
|
|
|
@ -525,6 +525,8 @@ email:
|
||||||
reply_by_email_address:
|
reply_by_email_address:
|
||||||
default: ''
|
default: ''
|
||||||
validator: "ReplyByEmailAddressValidator"
|
validator: "ReplyByEmailAddressValidator"
|
||||||
|
manual_polling_enabled:
|
||||||
|
default: false
|
||||||
pop3_polling_enabled:
|
pop3_polling_enabled:
|
||||||
default: false
|
default: false
|
||||||
validator: "POP3PollingEnabledSettingValidator"
|
validator: "POP3PollingEnabledSettingValidator"
|
||||||
|
|
|
@ -9,14 +9,14 @@ class ReplyByEmailEnabledValidator
|
||||||
return true if val == "f"
|
return true if val == "f"
|
||||||
# ensure reply_by_email_address is configured && polling is working
|
# ensure reply_by_email_address is configured && polling is working
|
||||||
SiteSetting.reply_by_email_address.present? &&
|
SiteSetting.reply_by_email_address.present? &&
|
||||||
SiteSetting.pop3_polling_enabled?
|
SiteSetting.email_polling_enabled?
|
||||||
end
|
end
|
||||||
|
|
||||||
def error_message
|
def error_message
|
||||||
if SiteSetting.reply_by_email_address.blank?
|
if SiteSetting.reply_by_email_address.blank?
|
||||||
I18n.t("site_settings.errors.reply_by_email_address_is_empty")
|
I18n.t("site_settings.errors.reply_by_email_address_is_empty")
|
||||||
else
|
else
|
||||||
I18n.t("site_settings.errors.pop3_polling_disabled")
|
I18n.t("site_settings.errors.email_polling_disabled")
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
@ -14,15 +14,15 @@ describe ReplyByEmailEnabledValidator do
|
||||||
expect(validator.valid_value?("t")).to eq(false)
|
expect(validator.valid_value?("t")).to eq(false)
|
||||||
end
|
end
|
||||||
|
|
||||||
it "returns false if POP3 polling is disabled" do
|
it "returns false if email polling is disabled" do
|
||||||
SiteSetting.expects(:reply_by_email_address).returns("foo.%{reply_key}+42@bar.com")
|
SiteSetting.expects(:reply_by_email_address).returns("foo.%{reply_key}+42@bar.com")
|
||||||
SiteSetting.expects(:pop3_polling_enabled).returns(false)
|
SiteSetting.expects(:email_polling_enabled?).returns(false)
|
||||||
expect(validator.valid_value?("t")).to eq(false)
|
expect(validator.valid_value?("t")).to eq(false)
|
||||||
end
|
end
|
||||||
|
|
||||||
it "returns true when POP3 polling is enabled and the reply_by_email_address is configured" do
|
it "returns true when email polling is enabled and the reply_by_email_address is configured" do
|
||||||
SiteSetting.expects(:reply_by_email_address).returns("foo.%{reply_key}+42@bar.com")
|
SiteSetting.expects(:reply_by_email_address).returns("foo.%{reply_key}+42@bar.com")
|
||||||
SiteSetting.expects(:pop3_polling_enabled).returns(true)
|
SiteSetting.expects(:email_polling_enabled?).returns(true)
|
||||||
expect(validator.valid_value?("t")).to eq(true)
|
expect(validator.valid_value?("t")).to eq(true)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue