2014-06-04 22:18:23 -05:00
|
|
|
import loadingIndicator from 'ghost/mixins/loading-indicator';
|
2014-06-13 14:35:22 -05:00
|
|
|
|
2014-07-25 08:38:13 -05:00
|
|
|
var PostsIndexRoute = Ember.Route.extend(SimpleAuth.AuthenticatedRouteMixin, loadingIndicator, {
|
2014-07-21 09:13:52 -05:00
|
|
|
// This route's only function is to determine whether or not a post
|
|
|
|
// exists to be used for the content preview. It has a parent resource (Posts)
|
|
|
|
// that is responsible for populating the store.
|
2014-06-17 14:17:08 -05:00
|
|
|
beforeModel: function () {
|
2014-07-31 03:29:05 -05:00
|
|
|
var self = this,
|
2014-07-21 09:13:52 -05:00
|
|
|
// the store has been populated so we can work with the local copy
|
2014-07-31 03:29:05 -05:00
|
|
|
post = this.store.all('post').get('firstObject');
|
2014-03-02 09:30:35 -05:00
|
|
|
|
2014-07-21 09:13:52 -05:00
|
|
|
if (post) {
|
2014-07-31 03:29:05 -05:00
|
|
|
return this.store.find('user', 'me').then(function (user) {
|
|
|
|
if (user.get('isAuthor') && post.isAuthoredByUser(user)) {
|
|
|
|
// do not show the post if they are an author but not this posts author
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
|
|
|
|
return self.transitionTo('posts.post', post);
|
|
|
|
});
|
2014-07-21 09:13:52 -05:00
|
|
|
}
|
2014-03-02 09:30:35 -05:00
|
|
|
}
|
2014-03-03 15:18:10 -05:00
|
|
|
});
|
|
|
|
|
2014-07-31 03:29:05 -05:00
|
|
|
export default PostsIndexRoute;
|