Merge pull request #2916 from jaswilli/editor-route

Handle invalid post ids in editor route
This commit is contained in:
Hannah Wolfe 2014-06-09 19:57:21 +02:00
commit 8f3bf38d61

View File

@ -5,16 +5,32 @@ var EditorRoute = AuthenticatedRoute.extend(styleBody, {
classNames: ['editor'],
model: function (params) {
var post = this.store.getById('post', params.post_id);
var self = this,
post,
postId;
postId = Number(params.post_id);
if (!Number.isInteger(postId) || !Number.isFinite(postId) || postId <= 0) {
this.transitionTo('posts.index');
}
post = this.store.getById('post', postId);
if (post) {
return post;
}
return this.store.filter('post', { status: 'all', staticPages: 'all' }, function (post) {
return post.get('id') === params.post_id;
return post.get('id') === postId;
}).then(function (records) {
return records.get('firstObject');
var post = records.get('firstObject');
if (post) {
return post;
}
return self.transitionTo('posts.index');
});
}
});