diff --git a/models/users.js b/models/users.js index 1a021bb72..976e5068b 100644 --- a/models/users.js +++ b/models/users.js @@ -1075,6 +1075,7 @@ if (Meteor.isServer) { incrementBoards(_.difference(newIds, oldIds), +1); }); + // Override getUserId so that we can TODO get the current userId const fakeUserId = new Meteor.EnvironmentVariable(); const getUserId = CollectionHooks.getUserId; CollectionHooks.getUserId = () => { @@ -1108,6 +1109,10 @@ if (Meteor.isServer) { }); */ + const Future = require('fibers/future'); + let future1 = new Future(); + let future2 = new Future(); + let future3 = new Future(); Boards.insert( { title: TAPi18n.__('templates'), @@ -1135,6 +1140,7 @@ if (Meteor.isServer) { Users.update(fakeUserId.get(), { $set: { 'profile.cardTemplatesSwimlaneId': swimlaneId }, }); + future1.return(); }, ); @@ -1152,6 +1158,7 @@ if (Meteor.isServer) { Users.update(fakeUserId.get(), { $set: { 'profile.listTemplatesSwimlaneId': swimlaneId }, }); + future2.return(); }, ); @@ -1169,15 +1176,22 @@ if (Meteor.isServer) { Users.update(fakeUserId.get(), { $set: { 'profile.boardTemplatesSwimlaneId': swimlaneId }, }); + future3.return(); }, ); }, ); + // HACK + future1.wait(); + future2.wait(); + future3.wait(); }); }); } - Users.after.insert((userId, doc) => { + Users.after.insert((userId, doc) => { + // HACK + doc = Users.findOne({_id: doc._id}); if (doc.createdThroughApi) { // The admin user should be able to create a user despite disabling registration because // it is two different things (registration and creation). diff --git a/package-lock.json b/package-lock.json index 7efc5c9f6..c8a71ef74 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1744,6 +1744,14 @@ "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", "dev": true }, + "fibers": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/fibers/-/fibers-5.0.0.tgz", + "integrity": "sha512-UpGv/YAZp7mhKHxDvC1tColrroGRX90sSvh8RMZV9leo+e5+EkRVgCEZPlmXeo3BUNQTZxUaVdLskq1Q2FyCPg==", + "requires": { + "detect-libc": "^1.0.3" + } + }, "figures": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", diff --git a/package.json b/package.json index d44c51a38..2cf564335 100644 --- a/package.json +++ b/package.json @@ -64,6 +64,7 @@ "bunyan": "^1.8.12", "csv-stringify": "^5.5.0", "es6-promise": "^4.2.4", + "fibers": "^5.0.0", "flatted": "^2.0.1", "gridfs-stream": "^0.5.3", "jszip": "^3.4.0",