FEATURE: Replace Lounge with General Category (#18097)
- Seed the General category so that the general chat channel will have a home - Do not seed the Lounge category anymore - Move the "Welcome to Site" topic to the General category
This commit is contained in:
parent
e16c8ea2e7
commit
eba8b8d34d
|
@ -647,8 +647,8 @@ en:
|
||||||
|
|
||||||
uncategorized_category_name: "Uncategorized"
|
uncategorized_category_name: "Uncategorized"
|
||||||
|
|
||||||
vip_category_name: "Lounge"
|
general_category_name: "General"
|
||||||
vip_category_description: "A category exclusive to members with trust level 3 and higher."
|
general_category_description: "Create topics here that don’t fit into any other existing category."
|
||||||
|
|
||||||
meta_category_name: "Site Feedback"
|
meta_category_name: "Site Feedback"
|
||||||
meta_category_description: "Discussion about this site, its organization, how it works, and how we can improve it."
|
meta_category_description: "Discussion about this site, its organization, how it works, and how we can improve it."
|
||||||
|
@ -673,30 +673,6 @@ en:
|
||||||
|
|
||||||
You may want to close this topic via the admin :wrench: (at the upper right and bottom), so that replies don't pile up on an announcement.
|
You may want to close this topic via the admin :wrench: (at the upper right and bottom), so that replies don't pile up on an announcement.
|
||||||
|
|
||||||
lounge_welcome:
|
|
||||||
title: "Welcome to the Lounge"
|
|
||||||
body: |
|
|
||||||
|
|
||||||
Congratulations! :confetti_ball:
|
|
||||||
|
|
||||||
If you can see this topic, you were recently promoted to **regular** (trust level 3).
|
|
||||||
|
|
||||||
You can now …
|
|
||||||
|
|
||||||
* Edit the title of any topic
|
|
||||||
* Change the category of any topic
|
|
||||||
* Have all your links followed ([automatic nofollow](https://en.wikipedia.org/wiki/Nofollow) is removed)
|
|
||||||
* Access a private Lounge category only visible to users at trust level 3 and higher
|
|
||||||
* Hide spam with a single flag
|
|
||||||
|
|
||||||
Here's the [current list of fellow regulars](%{base_path}/badges/3/regular). Be sure to say hi.
|
|
||||||
|
|
||||||
Thanks for being an important part of this community!
|
|
||||||
|
|
||||||
(For more information on trust levels, [see this topic][trust]. Please note that only members who continue to meet the requirements over time will remain regulars.)
|
|
||||||
|
|
||||||
[trust]: https://blog.discourse.org/2018/06/understanding-discourse-trust-levels/
|
|
||||||
|
|
||||||
admin_quick_start_title: "READ ME FIRST: Admin Quick Start Guide"
|
admin_quick_start_title: "READ ME FIRST: Admin Quick Start Guide"
|
||||||
|
|
||||||
category:
|
category:
|
||||||
|
|
|
@ -2263,7 +2263,7 @@ uncategorized:
|
||||||
hidden: true
|
hidden: true
|
||||||
|
|
||||||
# Category IDs
|
# Category IDs
|
||||||
lounge_category_id:
|
general_category_id:
|
||||||
default: -1
|
default: -1
|
||||||
hidden: true
|
hidden: true
|
||||||
meta_category_id:
|
meta_category_id:
|
||||||
|
@ -2335,9 +2335,6 @@ uncategorized:
|
||||||
default: -1
|
default: -1
|
||||||
hidden: true
|
hidden: true
|
||||||
client: true
|
client: true
|
||||||
lounge_welcome_topic_id:
|
|
||||||
default: -1
|
|
||||||
hidden: true
|
|
||||||
admin_quick_start_topic_id:
|
admin_quick_start_topic_id:
|
||||||
default: -1
|
default: -1
|
||||||
hidden: true
|
hidden: true
|
||||||
|
|
|
@ -77,14 +77,14 @@ module SeedData
|
||||||
force_permissions: true
|
force_permissions: true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
site_setting_name: 'lounge_category_id',
|
site_setting_name: 'general_category_id',
|
||||||
name: I18n.t('vip_category_name'),
|
name: I18n.t('general_category_name'),
|
||||||
description: I18n.t('vip_category_description'),
|
description: I18n.t('general_category_description'),
|
||||||
position: 3,
|
position: 3,
|
||||||
color: 'A461EF',
|
color: '25AAE2',
|
||||||
text_color: '652D90',
|
text_color: 'FFFFFF',
|
||||||
permissions: { trust_level_3: :full },
|
permissions: { everyone: :full },
|
||||||
force_permissions: false
|
force_permissions: true
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
|
@ -85,24 +85,14 @@ module SeedData
|
||||||
|
|
||||||
if include_welcome_topics
|
if include_welcome_topics
|
||||||
# Welcome Topic
|
# Welcome Topic
|
||||||
topics << {
|
if general_category = Category.find_by(id: SiteSetting.general_category_id)
|
||||||
site_setting_name: 'welcome_topic_id',
|
|
||||||
title: I18n.t('discourse_welcome_topic.title'),
|
|
||||||
raw: I18n.t('discourse_welcome_topic.body', base_path: Discourse.base_path),
|
|
||||||
after_create: proc do |post|
|
|
||||||
post.topic.update_pinned(true, true)
|
|
||||||
end
|
|
||||||
}
|
|
||||||
|
|
||||||
# Lounge Welcome Topic
|
|
||||||
if lounge_category = Category.find_by(id: SiteSetting.lounge_category_id)
|
|
||||||
topics << {
|
topics << {
|
||||||
site_setting_name: 'lounge_welcome_topic_id',
|
site_setting_name: 'welcome_topic_id',
|
||||||
title: I18n.t('lounge_welcome.title'),
|
title: I18n.t('discourse_welcome_topic.title'),
|
||||||
raw: I18n.t('lounge_welcome.body', base_path: Discourse.base_path),
|
raw: I18n.t('discourse_welcome_topic.body', base_path: Discourse.base_path),
|
||||||
category: lounge_category,
|
category: general_category,
|
||||||
after_create: proc do |post|
|
after_create: proc do |post|
|
||||||
post.topic.update_pinned(true)
|
post.topic.update_pinned(true, true)
|
||||||
end
|
end
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
|
|
@ -158,13 +158,13 @@ RSpec.describe SeedData::Categories do
|
||||||
describe "#reseed_options" do
|
describe "#reseed_options" do
|
||||||
it "returns only existing categories as options" do
|
it "returns only existing categories as options" do
|
||||||
create_category("meta_category_id")
|
create_category("meta_category_id")
|
||||||
create_category("lounge_category_id")
|
create_category("general_category_id")
|
||||||
Post.last.revise(Fabricate(:admin), raw: "Hello world")
|
Post.last.revise(Fabricate(:admin), raw: "Hello world")
|
||||||
|
|
||||||
expected_options = [
|
expected_options = [
|
||||||
{ id: "uncategorized_category_id", name: I18n.t("uncategorized_category_name"), selected: true },
|
{ id: "uncategorized_category_id", name: I18n.t("uncategorized_category_name"), selected: true },
|
||||||
{ id: "meta_category_id", name: I18n.t("meta_category_name"), selected: true },
|
{ id: "meta_category_id", name: I18n.t("meta_category_name"), selected: true },
|
||||||
{ id: "lounge_category_id", name: I18n.t("vip_category_name"), selected: false }
|
{ id: "general_category_id", name: I18n.t("general_category_name"), selected: false }
|
||||||
]
|
]
|
||||||
|
|
||||||
expect(subject.reseed_options).to eq(expected_options)
|
expect(subject.reseed_options).to eq(expected_options)
|
||||||
|
|
|
@ -5,6 +5,11 @@ require 'seed_data/topics'
|
||||||
RSpec.describe SeedData::Topics do
|
RSpec.describe SeedData::Topics do
|
||||||
subject { SeedData::Topics.with_default_locale }
|
subject { SeedData::Topics.with_default_locale }
|
||||||
|
|
||||||
|
before do
|
||||||
|
general_category = Fabricate(:category, name: "General")
|
||||||
|
SiteSetting.general_category_id = general_category.id
|
||||||
|
end
|
||||||
|
|
||||||
def create_topic(name = "welcome_topic_id")
|
def create_topic(name = "welcome_topic_id")
|
||||||
subject.create(site_setting_names: [name])
|
subject.create(site_setting_names: [name])
|
||||||
end
|
end
|
||||||
|
@ -18,7 +23,7 @@ RSpec.describe SeedData::Topics do
|
||||||
topic = Topic.last
|
topic = Topic.last
|
||||||
expect(topic.title).to eq(I18n.t("discourse_welcome_topic.title"))
|
expect(topic.title).to eq(I18n.t("discourse_welcome_topic.title"))
|
||||||
expect(topic.first_post.raw).to eq(I18n.t('discourse_welcome_topic.body', base_path: Discourse.base_path).rstrip)
|
expect(topic.first_post.raw).to eq(I18n.t('discourse_welcome_topic.body', base_path: Discourse.base_path).rstrip)
|
||||||
expect(topic.category_id).to eq(SiteSetting.uncategorized_category_id)
|
expect(topic.category_id).to eq(SiteSetting.general_category_id)
|
||||||
expect(topic.user_id).to eq(Discourse::SYSTEM_USER_ID)
|
expect(topic.user_id).to eq(Discourse::SYSTEM_USER_ID)
|
||||||
expect(topic.pinned_globally).to eq(true)
|
expect(topic.pinned_globally).to eq(true)
|
||||||
expect(topic.pinned_at).to be_present
|
expect(topic.pinned_at).to be_present
|
||||||
|
|
Loading…
Reference in New Issue