mirror of
https://github.com/discourse/discourse.git
synced 2024-11-23 03:40:00 +08:00
FIX: Error when trying to bump a topic with no category (#21207)
When revising a post, if the topic that post belonged to did not have a category attached it would error with > NoMethodError (undefined method `read_restricted' for nil:NilClass)
This commit is contained in:
parent
26b7f8a63b
commit
599979902e
|
@ -579,6 +579,8 @@ class TopicTrackingState
|
||||||
def self.secure_category_group_ids(topic)
|
def self.secure_category_group_ids(topic)
|
||||||
category = topic.category
|
category = topic.category
|
||||||
|
|
||||||
|
return [Group::AUTO_GROUPS[:admins]] if category.nil?
|
||||||
|
|
||||||
if category.read_restricted
|
if category.read_restricted
|
||||||
ids = [Group::AUTO_GROUPS[:admins]]
|
ids = [Group::AUTO_GROUPS[:admins]]
|
||||||
ids.push(*category.secure_group_ids)
|
ids.push(*category.secure_group_ids)
|
||||||
|
|
|
@ -422,6 +422,20 @@ RSpec.describe PostRevisor do
|
||||||
}.to change { post.topic.bumped_at }
|
}.to change { post.topic.bumped_at }
|
||||||
end
|
end
|
||||||
|
|
||||||
|
it "should bump topic when no topic category" do
|
||||||
|
topic_with_no_category = Fabricate(:topic, category_id: nil)
|
||||||
|
post_from_topic_with_no_category = Fabricate(:post, topic: topic_with_no_category)
|
||||||
|
expect {
|
||||||
|
result =
|
||||||
|
subject.revise!(
|
||||||
|
Fabricate(:admin),
|
||||||
|
raw: post_from_topic_with_no_category.raw,
|
||||||
|
tags: ["foo"],
|
||||||
|
)
|
||||||
|
expect(result).to eq(true)
|
||||||
|
}.to change { topic.reload.bumped_at }
|
||||||
|
end
|
||||||
|
|
||||||
it "should send muted and latest message" do
|
it "should send muted and latest message" do
|
||||||
TopicUser.create!(topic: post.topic, user: post.user, notification_level: 0)
|
TopicUser.create!(topic: post.topic, user: post.user, notification_level: 0)
|
||||||
messages =
|
messages =
|
||||||
|
|
Loading…
Reference in New Issue
Block a user