FIX: Subfolder path is missing in category permalinks after slug update
This commit is contained in:
parent
a2ae67509d
commit
2909e7fbdf
|
@ -572,11 +572,9 @@ class Category < ActiveRecord::Base
|
|||
|
||||
def create_category_permalink
|
||||
old_slug = saved_changes.transform_values(&:first)["slug"]
|
||||
if self.parent_category
|
||||
url = "c/#{self.parent_category.slug}/#{old_slug}"
|
||||
else
|
||||
url = "c/#{old_slug}"
|
||||
end
|
||||
url = +"#{Discourse.base_uri}/c"
|
||||
url << "/#{parent_category.slug}" if parent_category_id
|
||||
url << "/#{old_slug}"
|
||||
|
||||
if Permalink.where(url: url).exists?
|
||||
Permalink.where(url: url).update_all(category_id: id)
|
||||
|
|
|
@ -332,6 +332,15 @@ describe Category do
|
|||
expect(Permalink.count).to eq(0)
|
||||
end
|
||||
|
||||
it "correctly creates permalink when category slug is changed in subfolder install" do
|
||||
GlobalSetting.stubs(:relative_url_root).returns('/forum')
|
||||
Discourse.stubs(:base_uri).returns("/forum")
|
||||
old_url = @category.url
|
||||
@category.update_attributes(slug: 'new-category')
|
||||
permalink = Permalink.last
|
||||
expect(permalink.url).to eq(old_url[1..-1])
|
||||
end
|
||||
|
||||
it "should not set its description topic to auto-close" do
|
||||
category = Fabricate(:category, name: 'Closing Topics', auto_close_hours: 1)
|
||||
expect(category.topic.public_topic_timer).to eq(nil)
|
||||
|
|
Loading…
Reference in New Issue