mirror of
https://github.com/discourse/discourse.git
synced 2024-11-22 22:21:55 +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)
|
||||
category = topic.category
|
||||
|
||||
return [Group::AUTO_GROUPS[:admins]] if category.nil?
|
||||
|
||||
if category.read_restricted
|
||||
ids = [Group::AUTO_GROUPS[:admins]]
|
||||
ids.push(*category.secure_group_ids)
|
||||
|
|
|
@ -422,6 +422,20 @@ RSpec.describe PostRevisor do
|
|||
}.to change { post.topic.bumped_at }
|
||||
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
|
||||
TopicUser.create!(topic: post.topic, user: post.user, notification_level: 0)
|
||||
messages =
|
||||
|
|
Loading…
Reference in New Issue
Block a user