FIX: Make category slugs lowercase (#11277)
Admins could specify category slug with upper case characters and same slug, but with different cases could be used simultaneously.
This commit is contained in:
@@ -23,15 +23,19 @@ export function linkSeenHashtags($elem) {
|
||||
slug = slug.substr(0, slug.length - TAG_HASHTAG_POSTFIX.length);
|
||||
}
|
||||
|
||||
if (categoryHashtags[slug] && !hasTagSuffix) {
|
||||
replaceSpan($(hashtag), slug, categoryHashtags[slug]);
|
||||
} else if (tagHashtags[slug]) {
|
||||
replaceSpan($(hashtag), slug, tagHashtags[slug]);
|
||||
const lowerSlug = slug.toLowerCase();
|
||||
if (categoryHashtags[lowerSlug] && !hasTagSuffix) {
|
||||
replaceSpan($(hashtag), slug, categoryHashtags[lowerSlug]);
|
||||
} else if (tagHashtags[lowerSlug]) {
|
||||
replaceSpan($(hashtag), slug, tagHashtags[lowerSlug]);
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
return slugs.uniq().filter((slug) => !checkedHashtags.has(slug));
|
||||
return slugs
|
||||
.map((slug) => slug.toLowerCase())
|
||||
.uniq()
|
||||
.filter((slug) => !checkedHashtags.has(slug));
|
||||
}
|
||||
|
||||
export function fetchUnseenHashtags(slugs) {
|
||||
|
||||
@@ -27,14 +27,17 @@ acceptance("Category and Tag Hashtags", function (needs) {
|
||||
|
||||
this is a tag hashtag #monkey
|
||||
|
||||
category vs tag: #bug vs #bug::tag`
|
||||
category vs tag: #bug vs #bug::tag
|
||||
|
||||
uppercase hashtag works too #BUG, #BUG::tag`
|
||||
);
|
||||
|
||||
assert.equal(
|
||||
queryAll(".d-editor-preview:visible").html().trim(),
|
||||
`<p>this is a category hashtag <a href="/c/bugs" class="hashtag">#<span>bug</span></a></p>
|
||||
<p>this is a tag hashtag <a href="/tag/monkey" class="hashtag">#<span>monkey</span></a></p>
|
||||
<p>category vs tag: <a href="/c/bugs" class="hashtag">#<span>bug</span></a> vs <a href="/tag/bug" class="hashtag">#<span>bug</span></a></p>`
|
||||
<p>category vs tag: <a href="/c/bugs" class="hashtag">#<span>bug</span></a> vs <a href="/tag/bug" class="hashtag">#<span>bug</span></a></p>
|
||||
<p>uppercase hashtag works too <a href="/c/bugs" class="hashtag">#<span>BUG</span></a>, <a href="/tag/bug" class="hashtag">#<span>BUG</span></a></p>`
|
||||
);
|
||||
});
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user