Revert "FIX: Sanitize tags before creation"
This reverts commit 18ae8de9e5
.
This commit is contained in:
parent
18ae8de9e5
commit
0dd717e641
|
@ -214,6 +214,28 @@ export default ComboBox.extend(TagsMixin, {
|
|||
this.destroyTags(tags);
|
||||
},
|
||||
|
||||
_sanitizeContent(content, property) {
|
||||
switch (typeof content) {
|
||||
case "string":
|
||||
// See lib/discourse_tagging#clean_tag.
|
||||
return content
|
||||
.trim()
|
||||
.replace(/\s+/, "-")
|
||||
.replace(/[\/\?#\[\]@!\$&'\(\)\*\+,;=\.%\\`^\s|\{\}"<>]+/, "")
|
||||
.substring(0, this.siteSettings.max_tag_length);
|
||||
default:
|
||||
return get(content, this.get(property));
|
||||
}
|
||||
},
|
||||
|
||||
valueForContentItem(content) {
|
||||
return this._sanitizeContent(content, "valueAttribute");
|
||||
},
|
||||
|
||||
_nameForContent(content) {
|
||||
return this._sanitizeContent(content, "nameProperty");
|
||||
},
|
||||
|
||||
actions: {
|
||||
onSelect(tag) {
|
||||
this.set("tags", makeArray(this.get("tags")).concat(tag));
|
||||
|
|
|
@ -68,20 +68,5 @@ export default Ember.Mixin.create({
|
|||
}
|
||||
|
||||
return true;
|
||||
},
|
||||
|
||||
createContentFromInput(input) {
|
||||
// See lib/discourse_tagging#clean_tag.
|
||||
var content = input
|
||||
.trim()
|
||||
.replace(/\s+/, "-")
|
||||
.replace(/[\/\?#\[\]@!\$&'\(\)\*\+,;=\.%\\`^\s|\{\}"<>]+/, "")
|
||||
.substring(0, this.siteSettings.max_tag_length);
|
||||
|
||||
if (this.siteSettings.force_lowercase_tags) {
|
||||
content = content.toLowerCase();
|
||||
}
|
||||
|
||||
return content;
|
||||
}
|
||||
});
|
||||
|
|
|
@ -1811,4 +1811,3 @@ tags:
|
|||
default: false
|
||||
force_lowercase_tags:
|
||||
default: true
|
||||
client: true
|
||||
|
|
|
@ -12,7 +12,6 @@ componentTest("default", {
|
|||
|
||||
beforeEach() {
|
||||
this.siteSettings.max_tag_length = 24;
|
||||
this.siteSettings.force_lowercase_tags = true;
|
||||
|
||||
this.site.set("can_create_tag", true);
|
||||
this.set("tags", ["jeff", "neil", "arpit"]);
|
||||
|
@ -86,11 +85,11 @@ componentTest("default", {
|
|||
);
|
||||
|
||||
await this.get("subject").expand();
|
||||
await this.get("subject").fillInFilter("invalid' Tag");
|
||||
await this.get("subject").fillInFilter("invalid'tag");
|
||||
await this.get("subject").keyboard("enter");
|
||||
assert.deepEqual(
|
||||
this.get("tags"),
|
||||
["jeff", "neil", "arpit", "régis", "joffrey", "invalid-tag"],
|
||||
["jeff", "neil", "arpit", "régis", "joffrey", "invalidtag"],
|
||||
"it strips invalid characters in tag"
|
||||
);
|
||||
|
||||
|
@ -99,7 +98,7 @@ componentTest("default", {
|
|||
await this.get("subject").keyboard("enter");
|
||||
assert.deepEqual(
|
||||
this.get("tags"),
|
||||
["jeff", "neil", "arpit", "régis", "joffrey", "invalid-tag"],
|
||||
["jeff", "neil", "arpit", "régis", "joffrey", "invalidtag"],
|
||||
"it does not allow creating long tags"
|
||||
);
|
||||
|
||||
|
|
Loading…
Reference in New Issue