parent
5cb8cd789e
commit
838da1fd52
7 changed files with 25 additions and 48 deletions
|
|
@ -1,7 +1,3 @@
|
|||
app.collections.Comments = Backbone.Collection.extend({
|
||||
model: app.models.Comment,
|
||||
|
||||
initialize : function(models, options) {
|
||||
this.url = "/posts/" + options.post.id + "/comments" //not delegating to post.url() because when it is in a stream collection it delegates to that url
|
||||
}
|
||||
model: app.models.Comment
|
||||
});
|
||||
|
|
|
|||
|
|
@ -1,7 +1,3 @@
|
|||
app.collections.Likes = Backbone.Collection.extend({
|
||||
model: app.models.Like,
|
||||
|
||||
initialize : function(models, options) {
|
||||
this.url = "/posts/" + options.post.id + "/likes" //not delegating to post.url() because when it is in a stream collection it delegates to that url
|
||||
}
|
||||
model: app.models.Like
|
||||
});
|
||||
|
|
|
|||
|
|
@ -1,16 +1,21 @@
|
|||
app.models.Post = Backbone.Model.extend({
|
||||
urlRoot : "/posts",
|
||||
initialize : function() {
|
||||
this.comments = new app.collections.Comments(this.get("last_three_comments"), {post : this});
|
||||
this.likes = new app.collections.Likes(this.get("user_like"), { post : this}); // load in the user like initially
|
||||
this.comments = new app.collections.Comments(this.get("last_three_comments"));
|
||||
this.comments.url = this.url() + '/comments';
|
||||
|
||||
this.likes = new app.collections.Likes(this.get("user_like")); // load in the user like initially
|
||||
this.likes.url = this.url() + '/likes';
|
||||
},
|
||||
|
||||
createdAt : function() {
|
||||
return new Date(this.get("created_at")) / 1000;
|
||||
url : function() {
|
||||
if(this.id) {
|
||||
return "/posts/" + this.id;
|
||||
} else {
|
||||
return "/posts"
|
||||
}
|
||||
},
|
||||
|
||||
createReshareUrl : "/reshares",
|
||||
|
||||
reshareUrl : "/reshares",
|
||||
reshare : function(){
|
||||
return this._reshare = this._reshare || new app.models.Reshare({root_guid : this.get("guid")});
|
||||
},
|
||||
|
|
@ -28,8 +33,17 @@ app.models.Post = Backbone.Model.extend({
|
|||
}
|
||||
},
|
||||
|
||||
createdAt : function() {
|
||||
return new Date(this.get("created_at")) / 1000;
|
||||
},
|
||||
|
||||
|
||||
likeUrl : function(){
|
||||
return this.url() + "/likes"
|
||||
},
|
||||
|
||||
like : function() {
|
||||
this.set({ user_like : this.likes.create() });
|
||||
this.set({ user_like : this.likes.create({}, {url : this.likeUrl()}) });
|
||||
},
|
||||
|
||||
unlike : function() {
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@ app.views.Feedback = app.views.StreamObject.extend({
|
|||
if(!window.confirm("Reshare " + this.model.reshareAuthor().name + "'s post?")) { return }
|
||||
var reshare = this.model.reshare()
|
||||
reshare.save({}, {
|
||||
url: this.model.createReshareUrl,
|
||||
url: this.model.reshareUrl,
|
||||
success : function(){
|
||||
app.stream.collection.add(reshare);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,10 +0,0 @@
|
|||
describe("app.collections.comments", function(){
|
||||
describe("url", function(){
|
||||
it("should user the post id", function(){
|
||||
var post =new app.models.Post({id : 5})
|
||||
var collection = new app.collections.Comments([], {post : post})
|
||||
expect(collection.url).toBe("/posts/5/comments")
|
||||
})
|
||||
})
|
||||
})
|
||||
|
||||
|
|
@ -1,10 +0,0 @@
|
|||
describe("app.collections.Likes", function(){
|
||||
describe("url", function(){
|
||||
it("should user the post id", function(){
|
||||
var post =new app.models.Post({id : 5})
|
||||
var collection = new app.collections.Likes([], {post : post})
|
||||
expect(collection.url).toBe("/posts/5/likes")
|
||||
})
|
||||
})
|
||||
})
|
||||
|
||||
|
|
@ -3,15 +3,6 @@ describe("app.models.Post", function() {
|
|||
this.post = new app.models.Post();
|
||||
})
|
||||
|
||||
describe("url", function(){
|
||||
it("should be /posts when it doesn't have an id", function(){
|
||||
expect(new app.models.Post().url()).toBe("/posts")
|
||||
})
|
||||
|
||||
it("should be /posts/id when it doesn't have an id", function(){
|
||||
expect(new app.models.Post({id: 5}).url()).toBe("/posts/5")
|
||||
})
|
||||
})
|
||||
describe("createdAt", function() {
|
||||
it("returns the post's created_at as an integer", function() {
|
||||
var date = new Date;
|
||||
|
|
|
|||
Loading…
Reference in a new issue