BUGFIX/FEATURE: store topic changes in post revisions

History + edit notifications for title and category changes
This commit is contained in:
Sam
2014-03-07 18:59:47 +11:00
parent 83272d6986
commit b19400726f
10 changed files with 281 additions and 106 deletions

View File

@@ -38,7 +38,45 @@ Discourse.HistoryController = Discourse.ObjectController.extend(Discourse.ModalF
displayingSideBySide: Em.computed.equal("viewMode", "side_by_side"),
displayingSideBySideMarkdown: Em.computed.equal("viewMode", "side_by_side_markdown"),
diff: function() { return this.get(this.get("viewMode")); }.property("inline", "side_by_side", "side_by_side_markdown", "viewMode"),
category_diff: function() {
var viewMode = this.get("viewMode");
var changes = this.get("category_changes");
var prevCategory = Discourse.Category.findById(changes.previous_category_id);
var curCategory = Discourse.Category.findById(changes.current_category_id);
var raw = "";
prevCategory = Discourse.HTML.categoryLink(prevCategory);
curCategory = Discourse.HTML.categoryLink(curCategory);
if(viewMode === "side_by_side_markdown" || viewMode === "side_by_side") {
raw = "<div class='span8'>" + prevCategory + "</div> <div class='span8 offset1'>" + curCategory + "</div>";
} else {
var diff;
if(curCategory === prevCategory){
diff = curCategory;
} else {
diff = "<del>" + prevCategory + "</del> " + "<ins>" + curCategory + "</ins>";
}
raw = "<div class='inline-diff'>" + diff + "</div>";
}
return raw;
}.property("inline", "side_by_side", "side_by_side_markdown", "viewMode"),
title_diff: function() {
var viewMode = this.get("viewMode");
if(viewMode === "side_by_side_markdown") {
viewMode = "side_by_side";
}
return this.get("title_changes." + viewMode);
}.property("inline", "side_by_side", "side_by_side_markdown", "viewMode"),
body_diff: function() {
return this.get("body_changes." + this.get("viewMode"));
}.property("inline", "side_by_side", "side_by_side_markdown", "viewMode"),
actions: {
loadFirstVersion: function() { this.refresh(this.get("post_id"), 2); },

View File

@@ -22,7 +22,15 @@
{{i18n post.revisions.details.edited_by}} {{avatar this imageSize="small"}} {{username}} <span class="date">{{unboundDate path="created_at" leaveAgo="true"}}</span> {{#if edit_reason}} &mdash; <span class="edit-reason">{{edit_reason}}</span>{{/if}}
</div>
<div id="revisions">
{{{diff}}}
{{#if title_changes}}
<h2>{{{title_diff}}}</h2>
{{/if}}
{{#if category_changes}}
<div class="category-diff">
{{{category_diff}}}
</div>
{{/if}}
{{{body_diff}}}
</div>
{{/if}}
</div>