diff --git a/core/server/data/import/data-importer.js b/core/server/data/import/data-importer.js index e1bd8aa4c78a..e14cc703e995 100644 --- a/core/server/data/import/data-importer.js +++ b/core/server/data/import/data-importer.js @@ -23,13 +23,13 @@ DataImporter.prototype.loadRoles = function () { DataImporter.prototype.loadUsers = function () { var users = {all: {}}, - options = _.extend({}, {include: ['roles'], limit: 'all'}, internal); + options = _.extend({}, {include: ['roles']}, internal); - return models.User.findPage(options).then(function (data) { - data.users.forEach(function (user) { - users.all[user.email] = {realId: user.id}; - if (user.roles[0] && user.roles[0].name === 'Owner') { - users.owner = user; + return models.User.findAll(options).then(function (_users) { + _users.forEach(function (user) { + users.all[user.get('email')] = {realId: user.get('id')}; + if (user.related('roles').toJSON(options)[0] && user.related('roles').toJSON(options)[0].name === 'Owner') { + users.owner = user.toJSON(options); } }); diff --git a/core/server/models/base/index.js b/core/server/models/base/index.js index 2a3a38f3ff29..08841d7c1f35 100644 --- a/core/server/models/base/index.js +++ b/core/server/models/base/index.js @@ -187,7 +187,7 @@ ghostBookshelf.Model = ghostBookshelf.Model.extend({ /** * Returns an array of keys permitted in every method's `options` hash. * Can be overridden and added to by a model's `permittedOptions` method. - * @return {Array} Keys allowed in the `options` hash of every model's method. + * @return {Object} Keys allowed in the `options` hash of every model's method. */ permittedOptions: function permittedOptions() { // terms to whitelist for all methods. @@ -229,6 +229,7 @@ ghostBookshelf.Model = ghostBookshelf.Model.extend({ */ findAll: function findAll(options) { options = this.filterOptions(options, 'findAll'); + options.withRelated = _.union(options.withRelated, options.include); return this.forge().fetchAll(options).then(function then(result) { if (options.include) { _.each(result.models, function each(item) { diff --git a/core/server/models/index.js b/core/server/models/index.js index b3aa19847026..1b7864ca5b3d 100644 --- a/core/server/models/index.js +++ b/core/server/models/index.js @@ -44,13 +44,13 @@ models = { deleteAllContent: function deleteAllContent() { var self = this; - return self.Post.findPage({limit: 'all'}).then(function then(data) { - return Promise.all(_.map(data.posts, function mapper(post) { + return self.Post.findAll().then(function then(posts) { + return Promise.all(_.map(posts.toJSON(), function mapper(post) { return self.Post.destroy({id: post.id}); })); }).then(function () { - return self.Tag.findPage({limit: 'all'}).then(function then(data) { - return Promise.all(_.map(data.tags, function mapper(tag) { + return self.Tag.findAll().then(function then(tags) { + return Promise.all(_.map(tags.toJSON(), function mapper(tag) { return self.Tag.destroy({id: tag.id}); })); }); diff --git a/core/test/integration/model/model_posts_spec.js b/core/test/integration/model/model_posts_spec.js index 20539087b7c7..fe7ca32bae4b 100644 --- a/core/test/integration/model/model_posts_spec.js +++ b/core/test/integration/model/model_posts_spec.js @@ -513,7 +513,7 @@ describe('Post Model', function () { }).catch(done); }); - it.only('can save a draft without setting published_by or published_at', function (done) { + it('can save a draft without setting published_by or published_at', function (done) { var newPost = testUtils.DataGenerator.forModel.posts[2], postId;