diff --git a/app/assets/javascripts/discourse/models/post.js.es6 b/app/assets/javascripts/discourse/models/post.js.es6 index 5ce71ab8b55..fb205649e65 100644 --- a/app/assets/javascripts/discourse/models/post.js.es6 +++ b/app/assets/javascripts/discourse/models/post.js.es6 @@ -20,7 +20,7 @@ const Post = RestModel.extend({ @computed("url") shareUrl(url) { const user = Discourse.User.current(); - const userSuffix = user ? "?u=" + user.get("username_lower") : ""; + const userSuffix = user ? `?u=${user.username_lower}` : ""; if (this.firstPost) { return this.get("topic.url") + userSuffix; @@ -56,23 +56,16 @@ const Post = RestModel.extend({ @computed("post_number", "topic_id", "topic.slug") url(postNr, topicId, slug) { - return postUrl( - slug || this.topic_slug, - topicId || this.get("topic.id"), - postNr - ); + return postUrl(slug || slug, topicId || this.get("topic.id"), postNr); }, // Don't drop the /1 @computed("post_number", "url") urlWithNumber(postNumber, baseUrl) { - return postNumber === 1 ? baseUrl + "/1" : baseUrl; + return postNumber === 1 ? `${baseUrl}/1` : baseUrl; }, - @computed("username") - usernameUrl(username) { - return userPath(username); - }, + @computed("username") usernameUrl: userPath, topicOwner: propertyEqual("topic.details.created_by.id", "user_id"), @@ -81,9 +74,7 @@ const Post = RestModel.extend({ data[field] = value; return ajax(`/posts/${this.id}/${field}`, { type: "PUT", data }) - .then(() => { - this.set(field, value); - }) + .then(() => this.set(field, value)) .catch(popupAjaxError); }, @@ -102,9 +93,9 @@ const Post = RestModel.extend({ return []; } - return this.site.get("flagTypes").filter(item => { - return this.get(`actionByName.${item.get("name_key")}.can_act`); - }); + return this.site.flagTypes.filter(item => + this.get(`actionByName.${item.name_key}.can_act`) + ); }, afterUpdate(res) { @@ -131,9 +122,9 @@ const Post = RestModel.extend({ // Put the metaData into the request if (metaData) { data.meta_data = {}; - Object.keys(metaData).forEach(function(key) { - data.meta_data[key] = metaData.get(key); - }); + Object.keys(metaData).forEach( + key => (data.meta_data[key] = metaData[key]) + ); } return data; @@ -194,7 +185,7 @@ const Post = RestModel.extend({ // Moderators can delete posts. Users can only trigger a deleted at message, unless delete_removed_posts_after is 0. if ( - deletedBy.get("staff") || + deletedBy.staff || Discourse.SiteSettings.delete_removed_posts_after === 0 ) { this.setProperties({ @@ -260,10 +251,9 @@ const Post = RestModel.extend({ is already found in an identity map. **/ updateFromPost(otherPost) { - const self = this; - Object.keys(otherPost).forEach(function(key) { + Object.keys(otherPost).forEach(key => { let value = otherPost[key], - oldValue = self[key]; + oldValue = this[key]; if (!value) { value = null; @@ -282,28 +272,27 @@ const Post = RestModel.extend({ } if (!skip) { - self.set(key, value); + this.set(key, value); } } }); }, expandHidden() { - return ajax("/posts/" + this.id + "/cooked.json").then(result => { + return ajax(`/posts/${this.id}/cooked.json`).then(result => { this.setProperties({ cooked: result.cooked, cooked_hidden: false }); }); }, rebake() { - return ajax("/posts/" + this.id + "/rebake", { type: "PUT" }); + return ajax(`/posts/${this.id}/rebake`, { type: "PUT" }); }, unhide() { - return ajax("/posts/" + this.id + "/unhide", { type: "PUT" }); + return ajax(`/posts/${this.id}/unhide`, { type: "PUT" }); }, toggleBookmark() { - const self = this; let bookmarkedTopic; this.toggleProperty("bookmarked"); @@ -316,13 +305,11 @@ const Post = RestModel.extend({ // need to wait to hear back from server (stuff may not be loaded) return Discourse.Post.updateBookmark(this.id, this.bookmarked) - .then(function(result) { - self.set("topic.bookmarked", result.topic_bookmarked); - }) - .catch(function(error) { - self.toggleProperty("bookmarked"); + .then(result => this.set("topic.bookmarked", result.topic_bookmarked)) + .catch(error => { + this.toggleProperty("bookmarked"); if (bookmarkedTopic) { - self.set("topic.bookmarked", false); + this.set("topic.bookmarked", false); } throw new Error(error); }); @@ -348,7 +335,7 @@ Post.reopenClass({ const lookup = Ember.Object.create(); // this area should be optimized, it is creating way too many objects per post - json.actions_summary = json.actions_summary.map(function(a) { + json.actions_summary = json.actions_summary.map(a => { a.actionType = Discourse.Site.current().postActionTypeById(a.id); a.count = a.count || 0; const actionSummary = ActionSummary.create(a); @@ -366,13 +353,14 @@ Post.reopenClass({ if (json && json.reply_to_user) { json.reply_to_user = Discourse.User.create(json.reply_to_user); } + return json; }, updateBookmark(postId, bookmarked) { - return ajax("/posts/" + postId + "/bookmark", { + return ajax(`/posts/${postId}/bookmark`, { type: "PUT", - data: { bookmarked: bookmarked } + data: { bookmarked } }); }, @@ -391,27 +379,27 @@ Post.reopenClass({ }, loadRevision(postId, version) { - return ajax("/posts/" + postId + "/revisions/" + version + ".json").then( - result => Ember.Object.create(result) + return ajax(`/posts/${postId}/revisions/${version}.json`).then(result => + Ember.Object.create(result) ); }, hideRevision(postId, version) { - return ajax("/posts/" + postId + "/revisions/" + version + "/hide", { + return ajax(`/posts/${postId}/revisions/${version}/hide`, { type: "PUT" }); }, showRevision(postId, version) { - return ajax("/posts/" + postId + "/revisions/" + version + "/show", { + return ajax(`/posts/${postId}/revisions/${version}/show`, { type: "PUT" }); }, loadQuote(postId) { - return ajax("/posts/" + postId + ".json").then(result => { + return ajax(`/posts/${postId}.json`).then(result => { const post = Discourse.Post.create(result); - return Quote.build(post, post.get("raw"), { raw: true, full: true }); + return Quote.build(post, post.raw, { raw: true, full: true }); }); },