FEATURE: mailing list mode always available
This commit is contained in:
parent
69b498da24
commit
adb6541635
|
@ -103,12 +103,6 @@
|
||||||
<div class="control-group">
|
<div class="control-group">
|
||||||
<label class="control-label">{{i18n user.email_settings}}</label>
|
<label class="control-label">{{i18n user.email_settings}}</label>
|
||||||
<div class="controls">
|
<div class="controls">
|
||||||
{{#if Discourse.SiteSettings.enable_mailing_list_mode}}
|
|
||||||
<label class="checkbox-label">
|
|
||||||
{{view Ember.Checkbox checkedBinding="mailing_list_mode"}}
|
|
||||||
{{i18n user.mailing_list_mode}}
|
|
||||||
</label>
|
|
||||||
{{/if}}
|
|
||||||
|
|
||||||
<label class="checkbox-label">{{view Ember.Checkbox checkedBinding="email_digests"}}
|
<label class="checkbox-label">{{view Ember.Checkbox checkedBinding="email_digests"}}
|
||||||
{{i18n user.email_digests.title}}</label>
|
{{i18n user.email_digests.title}}</label>
|
||||||
|
@ -120,8 +114,12 @@
|
||||||
{{/if}}
|
{{/if}}
|
||||||
<label class="checkbox-label">{{view Ember.Checkbox checkedBinding="email_private_messages"}}
|
<label class="checkbox-label">{{view Ember.Checkbox checkedBinding="email_private_messages"}}
|
||||||
{{i18n user.email_private_messages}}</label>
|
{{i18n user.email_private_messages}}</label>
|
||||||
|
|
||||||
<label class="checkbox-label">{{view Ember.Checkbox checkedBinding="email_direct"}}
|
<label class="checkbox-label">{{view Ember.Checkbox checkedBinding="email_direct"}}
|
||||||
{{i18n user.email_direct}}</label>
|
{{i18n user.email_direct}}</label>
|
||||||
|
<label class="checkbox-label">
|
||||||
|
{{view Ember.Checkbox checkedBinding="mailing_list_mode"}}
|
||||||
|
{{i18n user.mailing_list_mode}}</label>
|
||||||
<label class="checkbox-label">{{view Ember.Checkbox checkedBinding="email_always"}}
|
<label class="checkbox-label">{{view Ember.Checkbox checkedBinding="email_always"}}
|
||||||
{{i18n user.email_always}}</label>
|
{{i18n user.email_always}}</label>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -141,8 +141,7 @@ class UserNotifications < ActionMailer::Base
|
||||||
username = @notification.data_hash[:original_username]
|
username = @notification.data_hash[:original_username]
|
||||||
notification_type = opts[:notification_type] || Notification.types[@notification.notification_type].to_s
|
notification_type = opts[:notification_type] || Notification.types[@notification.notification_type].to_s
|
||||||
|
|
||||||
return if SiteSetting.enable_mailing_list_mode &&
|
return if user.mailing_list_mode &&
|
||||||
user.mailing_list_mode &&
|
|
||||||
["replied", "mentioned", "quoted", "posted"].include?(notification_type)
|
["replied", "mentioned", "quoted", "posted"].include?(notification_type)
|
||||||
|
|
||||||
title = @notification.data_hash[:topic_title]
|
title = @notification.data_hash[:topic_title]
|
||||||
|
|
|
@ -803,7 +803,6 @@ en:
|
||||||
email_in_address: "The email address the users can post new topics to. None means users can't post globally."
|
email_in_address: "The email address the users can post new topics to. None means users can't post globally."
|
||||||
email_in_min_trust: "The minimum trust level an users needs to have to be allowed to post new topics via email"
|
email_in_min_trust: "The minimum trust level an users needs to have to be allowed to post new topics via email"
|
||||||
email_in_category: "The category new emails are posted into"
|
email_in_category: "The category new emails are posted into"
|
||||||
enable_mailing_list_mode: "Allow users to (optionally) opt-in to mailing list mode via a user preference"
|
|
||||||
|
|
||||||
minimum_topics_similar: "How many topics need to exist in the database before similar topics are presented."
|
minimum_topics_similar: "How many topics need to exist in the database before similar topics are presented."
|
||||||
|
|
||||||
|
|
|
@ -694,7 +694,6 @@ fr:
|
||||||
pop3s_polling_host: "L'hôte utilisé pour le polling pour l'email via POP3S"
|
pop3s_polling_host: "L'hôte utilisé pour le polling pour l'email via POP3S"
|
||||||
pop3s_polling_username: "Le nom d'utilisateur pour le polling POPS3 par email"
|
pop3s_polling_username: "Le nom d'utilisateur pour le polling POPS3 par email"
|
||||||
pop3s_polling_password: "Le mot de passe pour le polling POPS3 par email"
|
pop3s_polling_password: "Le mot de passe pour le polling POPS3 par email"
|
||||||
enable_mailing_list_mode: "Autoriser les utilisateurs à s'inscrire (optionnellement) au mode de liste de diffusion via une préférence de l'utilisateur"
|
|
||||||
minimum_topics_similar: "Combien de topics ont besoin d'exister dans la base de données avant que des topics similaires soit présentés."
|
minimum_topics_similar: "Combien de topics ont besoin d'exister dans la base de données avant que des topics similaires soit présentés."
|
||||||
relative_date_duration: "Nombre de jours après la création d'un message à partir desquels les dates seront affichées en absolu plutôt qu'en relatif. Exemple: relatif : 7j, absolut : 20 Fév"
|
relative_date_duration: "Nombre de jours après la création d'un message à partir desquels les dates seront affichées en absolu plutôt qu'en relatif. Exemple: relatif : 7j, absolut : 20 Fév"
|
||||||
delete_user_max_post_age: "L'âge maximum du premier message d'un utilisateur, en jours, qui permet de supprimer un utilisateur."
|
delete_user_max_post_age: "L'âge maximum du premier message d'un utilisateur, en jours, qui permet de supprimer un utilisateur."
|
||||||
|
|
|
@ -721,7 +721,6 @@ ru:
|
||||||
pop3s_polling_host: 'Имя хоста для доступа по протоколу POP3S'
|
pop3s_polling_host: 'Имя хоста для доступа по протоколу POP3S'
|
||||||
pop3s_polling_username: 'Имя пользователя для доступа по протоколу POP3S'
|
pop3s_polling_username: 'Имя пользователя для доступа по протоколу POP3S'
|
||||||
pop3s_polling_password: 'Пароль пользователя для доступа по протоколу POP3S'
|
pop3s_polling_password: 'Пароль пользователя для доступа по протоколу POP3S'
|
||||||
enable_mailing_list_mode: 'Позволить пользователям (опционально) присоединиться к списку рассылки через пользовательские настройки'
|
|
||||||
minimum_topics_similar: 'Количество тем, которое должно присутствовать в базе данных, перед тем, как начнет выводиться подсказка о похожих темах.'
|
minimum_topics_similar: 'Количество тем, которое должно присутствовать в базе данных, перед тем, как начнет выводиться подсказка о похожих темах.'
|
||||||
relative_date_duration: 'Количество дней после отправки, в течении которых даты будут отображаться в относительном виде вместо абсолютного. Например, относительная дата: 7д, абсолютная дата: 20 Фев'
|
relative_date_duration: 'Количество дней после отправки, в течении которых даты будут отображаться в относительном виде вместо абсолютного. Например, относительная дата: 7д, абсолютная дата: 20 Фев'
|
||||||
delete_user_max_post_age: 'Максимальный возраст первого сообщения пользователя, в днях, позволяющий удалить пользователя.'
|
delete_user_max_post_age: 'Максимальный возраст первого сообщения пользователя, в днях, позволяющий удалить пользователя.'
|
||||||
|
@ -995,4 +994,4 @@ ru:
|
||||||
message_blank: 'пустое сообщение'
|
message_blank: 'пустое сообщение'
|
||||||
message_to_blank: 'Адрес получателя пусто'
|
message_to_blank: 'Адрес получателя пусто'
|
||||||
text_part_body_blank: 'Текстовая часть сообщения письма пуста'
|
text_part_body_blank: 'Текстовая часть сообщения письма пуста'
|
||||||
body_blank: 'Cообщения письма пусто'
|
body_blank: 'Cообщения письма пусто'
|
||||||
|
|
|
@ -255,9 +255,6 @@ email:
|
||||||
default: 3
|
default: 3
|
||||||
enum: 'MinTrustToCreateTopicSetting'
|
enum: 'MinTrustToCreateTopicSetting'
|
||||||
email_in_category: -1
|
email_in_category: -1
|
||||||
enable_mailing_list_mode:
|
|
||||||
default: false
|
|
||||||
client: true
|
|
||||||
|
|
||||||
files:
|
files:
|
||||||
max_image_size_kb:
|
max_image_size_kb:
|
||||||
|
|
|
@ -32,13 +32,11 @@ class PostJobsEnqueuer
|
||||||
TopicTrackingState.publish_unread(@post)
|
TopicTrackingState.publish_unread(@post)
|
||||||
end
|
end
|
||||||
|
|
||||||
if SiteSetting.enable_mailing_list_mode
|
Jobs.enqueue_in(
|
||||||
Jobs.enqueue_in(
|
SiteSetting.email_time_window_mins.minutes,
|
||||||
SiteSetting.email_time_window_mins.minutes,
|
:notify_mailing_list_subscribers,
|
||||||
:notify_mailing_list_subscribers,
|
post_id: @post.id
|
||||||
post_id: @post.id
|
)
|
||||||
)
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
|
|
||||||
def after_topic_create
|
def after_topic_create
|
||||||
|
|
|
@ -90,7 +90,6 @@ describe UserNotifications do
|
||||||
tu.last_emailed_post_number.should == response.post_number
|
tu.last_emailed_post_number.should == response.post_number
|
||||||
|
|
||||||
# in mailing list mode user_replies is not sent through
|
# in mailing list mode user_replies is not sent through
|
||||||
SiteSetting.stubs(:enable_mailing_list_mode).returns(true)
|
|
||||||
response.user.mailing_list_mode = true
|
response.user.mailing_list_mode = true
|
||||||
mail = UserNotifications.user_replied(response.user, post: response, notification: notification)
|
mail = UserNotifications.user_replied(response.user, post: response, notification: notification)
|
||||||
mail.class.should == ActionMailer::Base::NullMail
|
mail.class.should == ActionMailer::Base::NullMail
|
||||||
|
|
|
@ -271,8 +271,6 @@ describe TopicUser do
|
||||||
describe "mailing_list_mode" do
|
describe "mailing_list_mode" do
|
||||||
|
|
||||||
it "will receive email notification for every topic" do
|
it "will receive email notification for every topic" do
|
||||||
SiteSetting.stubs(:enable_mailing_list_mode).returns(true)
|
|
||||||
|
|
||||||
user1 = Fabricate(:user)
|
user1 = Fabricate(:user)
|
||||||
user2 = Fabricate(:user, mailing_list_mode: true)
|
user2 = Fabricate(:user, mailing_list_mode: true)
|
||||||
post = create_post
|
post = create_post
|
||||||
|
|
Loading…
Reference in New Issue