FIX: Don't try to create an empty tag when updating a topic (#8481)

Fixes an issue where updates to the first post in a topic would be visible only for staff.

Before, because the empty tag would find its way to `PostRevisor`, `TopicsController#update` would create a hidden revision, and later `PostsController#update` would only update that revision.

After this change, `TopicsController` doesn't create a revision at all (unless necessary), so `PostsController` can create it (and correctly decide whether the revision should be hidden or not).
This commit is contained in:
Jarek Radosz
2019-12-09 19:55:08 +01:00
committed by GitHub
parent 34ccd9ecbb
commit b5236591e9
2 changed files with 12 additions and 8 deletions
@@ -660,8 +660,6 @@ Topic.reopenClass({
},
update(topic, props) {
props = JSON.parse(JSON.stringify(props)) || {};
// We support `category_id` and `categoryId` for compatibility
if (typeof props.categoryId !== "undefined") {
props.category_id = props.categoryId;
@@ -673,11 +671,11 @@ Topic.reopenClass({
delete props.category_id;
}
if (props.tags && props.tags.length === 0) {
props.tags = [""];
}
return ajax(topic.get("url"), { type: "PUT", data: props }).then(result => {
return ajax(topic.get("url"), {
type: "PUT",
data: JSON.stringify(props),
contentType: "application/json"
}).then(result => {
// The title can be cleaned up server side
props.title = result.basic_topic.title;
props.fancy_title = result.basic_topic.fancy_title;