FEATURE: add new user option skip_new_user_tips. (#10437)

And add new site setting `default_other_skip_new_user_tips` in user preferences category.
This commit is contained in:
Vinoth Kannan
2020-08-14 19:10:56 +05:30
committed by GitHub
parent 6287c8e171
commit 476d26159a
19 changed files with 42 additions and 8 deletions

View File

@ -167,6 +167,7 @@ export default Mixin.create({
"default_other_enable_defer",
"default_other_dynamic_favicon",
"default_other_like_notification_frequency",
"default_other_skip_new_user_tips",
"default_topics_automatic_unpin",
"default_categories_watching",
"default_categories_tracking",

View File

@ -43,7 +43,8 @@ export default Controller.extend({
"homepage_id",
"hide_profile_and_presence",
"text_size",
"title_count_mode"
"title_count_mode",
"skip_new_user_tips"
];
if (makeDefault) {

View File

@ -318,7 +318,8 @@ const User = RestModel.extend({
"hide_profile_and_presence",
"text_size",
"title_count_mode",
"timezone"
"timezone",
"skip_new_user_tips"
];
if (fields) {

View File

@ -103,6 +103,7 @@
onChange=(action (mut model.user_option.title_count_mode))
}}
</div>
{{preference-checkbox labelKey="user.skip_new_user_tips" checked=model.user_option.skip_new_user_tips class="pref-new-user-tips"}}
</div>
{{plugin-outlet name="user-preferences-interface" args=(hash model=model save=(action "save"))}}

View File

@ -194,6 +194,7 @@ class Admin::SiteSettingsController < Admin::AdminController
default_other_auto_track_topics_after_msecs: "auto_track_topics_after_msecs",
default_other_notification_level_when_replying: "notification_level_when_replying",
default_other_like_notification_frequency: "like_notification_frequency",
default_other_skip_new_user_tips: "skip_new_user_tips",
default_email_digest_frequency: "digest_after_minutes",
default_include_tl0_in_digests: "include_tl0_in_digests",
default_text_size: "text_size_key",

View File

@ -57,6 +57,7 @@ class UserOption < ActiveRecord::Base
self.enable_defer = SiteSetting.default_other_enable_defer
self.external_links_in_new_tab = SiteSetting.default_other_external_links_in_new_tab
self.dynamic_favicon = SiteSetting.default_other_dynamic_favicon
self.skip_new_user_tips = SiteSetting.default_other_skip_new_user_tips
self.new_topic_duration_minutes = SiteSetting.default_other_new_topic_duration_minutes
self.auto_track_topics_after_msecs = SiteSetting.default_other_auto_track_topics_after_msecs

View File

@ -47,7 +47,8 @@ class CurrentUserSerializer < BasicUserSerializer
:ignored_users,
:title_count_mode,
:timezone,
:featured_topic
:featured_topic,
:skip_new_user_tips
def groups
object.visible_groups.pluck(:id, :name).map { |id, name| { id: id, name: name.downcase } }
@ -204,6 +205,10 @@ class CurrentUserSerializer < BasicUserSerializer
object.user_option.mailing_list_mode
end
def skip_new_user_tips
object.user_option.skip_new_user_tips
end
def include_primary_group_id?
object.primary_group_id.present?
end

View File

@ -30,7 +30,8 @@ class UserOptionSerializer < ApplicationSerializer
:text_size,
:text_size_seq,
:title_count_mode,
:timezone
:timezone,
:skip_new_user_tips
def auto_track_topics_after_msecs
object.auto_track_topics_after_msecs || SiteSetting.default_other_auto_track_topics_after_msecs

View File

@ -43,7 +43,8 @@ class UserUpdater
:hide_profile_and_presence,
:text_size,
:title_count_mode,
:timezone
:timezone,
:skip_new_user_tips
]
def initialize(actor, user)