Skip to content
Extraits de code Groupes Projets
Valider f5172fa9 rédigé par danielgrippi's avatar danielgrippi Validation de Dennis Collinson
Parcourir les fichiers

comment and post deletion now works on the backbone stream

parent 46b15676
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
......@@ -44,12 +44,14 @@ class CommentsController < ApplicationController
current_user.retract(@comment)
respond_to do |format|
format.js { render :nothing => true, :status => 204 }
format.json { render :nothing => true, :status => 204 }
format.mobile{ redirect_to @comment.post }
end
else
respond_to do |format|
format.mobile {redirect_to :back}
format.js {render :nothing => true, :status => 403}
format.json { render :nothing => true, :status => 403 }
end
end
end
......
......@@ -52,6 +52,7 @@ class PostsController < ApplicationController
current_user.retract(@post)
respond_to do |format|
format.js {render 'destroy'}
format.json { render :nothing => true, :status => 204 }
format.all {redirect_to multi_path}
end
else
......
<div class="reshare">
<a href="/people/<%= root.author.id %>">
<img src="<%= root.author.avatar.small %>" class="avatar" data-person-id="<%= root.author.id %>"/>
</a>
<% if(root) { %>
<div class="content">
<div class="post_initial_info">
<span class="from">
<a href="/people/<%= root.author.id %>">
<%= root.author.name %>
</a>
</span>
<span class="details">
-
<a href="/posts/<%= root.id %>">
<time class="timeago" datetime="<%= root.created_at %>"/>
</a>
</span>
</div>
<a href="/people/<%= root.author.id %>">
<img src="<%= root.author.avatar.small %>" class="avatar" data-person-id="<%= root.author.id %>"/>
</a>
<div class="content">
<div class="post_initial_info">
<span class="from">
<a href="/people/<%= root.author.id %>">
<%= root.author.name %>
</a>
</span>
<span class="details">
-
<a href="/posts/<%= root.id %>">
<time class="timeago" datetime="<%= root.created_at %>"/>
</a>
</span>
</div>
<!-- duplicate from statusmessage partial -->
<p>
<%= root.text %>
</p>
<!-- duplicate from statusmessage partial -->
<p>
<%= root.text %>
</p>
</div>
</div>
<% } else { %>
<p>
Original post deleted by author.
</p>
<% } %>
</div>
......@@ -75,7 +75,7 @@
</span>
·
<% if(public) { %>
<% if(public && author.id != current_user.id) { %>
<span class="reshare_action">
<% if(root) {
var rootGuid = root.guid;
......
App.Models.Comment = Backbone.Model.extend({
url: function() {
return "/posts/" + this.get("post_id") + "/comments";
}
urlRoot: "/comments"
});
App.Models.Post = Backbone.Model.extend({
url: "/posts",
url: function(){
return "/posts/" + this.get("id");
},
initialize: function() {
this.comments = new App.Collections.Comments(this.get("last_three_comments"));
......
App.Views.Comment = Backbone.View.extend({
events : {
"click .delete": "destroyComment"
},
initialize: function(options) {
this.model = options.model;
this.template = _.template($("#comment-template").html());
......@@ -10,6 +14,21 @@ App.Views.Comment = Backbone.View.extend({
App.user()
)));
this.delegateEvents(); //we need this because we are explicitly setting this.el in this.render()
return this;
},
// NOTE: pull this out into a base class
destroyComment: function(evt) {
if(evt) { evt.preventDefault() }
var domElement = this.el;
this.model.destroy({
success: function(){
$(domElement).remove();
}
});
}
});
......@@ -2,7 +2,8 @@ App.Views.Post = Backbone.View.extend({
events: {
"click .focus_comment_textarea": "focusCommentTextarea",
"focus .comment_box": "commentTextareaFocused"
"focus .comment_box": "commentTextareaFocused",
"click .delete:first": "destroyPost"
},
initialize: function(options) {
......@@ -51,6 +52,19 @@ App.Views.Post = Backbone.View.extend({
commentTextareaFocused: function(evt){
this.$("form").removeClass('hidden').addClass("open");
},
// NOTE: pull this out into a base class
destroyPost: function(evt){
if(evt){ evt.preventDefault(); }
var domElement = this.el;
this.model.destroy({
success: function(){
$(domElement).remove();
}
});
}
});
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Veuillez vous inscrire ou vous pour commenter