diff options
Diffstat (limited to 'models/users.js')
-rw-r--r-- | models/users.js | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/models/users.js b/models/users.js index 0fdf21a8..7bc9e5bf 100644 --- a/models/users.js +++ b/models/users.js @@ -159,6 +159,13 @@ Users.attachSchema(new SimpleSchema({ 'board-view-cal', ], }, + 'profile.templatesBoardId': { + /** + * Reference to the templates board + */ + type: String, + defaultValue: '', + }, services: { /** * services field of the user @@ -328,6 +335,13 @@ Users.helpers({ const profile = this.profile || {}; return profile.language || 'en'; }, + + getTemplatesBoard() { + return { + id: this.profile.templatesBoardId, + slug: Boards.findOne(this.profile.templatesBoardId).slug, + }; + }, }); Users.mutations({ @@ -701,6 +715,40 @@ if (Meteor.isServer) { Lists.insert({title: TAPi18n.__(title), boardId, sort: titleIndex}, fakeUser); }); }); + + Boards.insert({ + title: TAPi18n.__('templates-board'), + permission: 'private', + type: 'template-container' + }, fakeUser, (err, boardId) => { + + // Insert the reference to our templates board + Users.update(fakeUserId.get(), {$set: {'profile.templatesBoardId': boardId}}); + + // Insert the card templates swimlane + Swimlanes.insert({ + title: TAPi18n.__('card-templates-swimlane'), + boardId, + sort: 1, + type: 'template-container', + }, fakeUser); + + // Insert the list templates swimlane + Swimlanes.insert({ + title: TAPi18n.__('list-templates-swimlane'), + boardId, + sort: 2, + type: 'template-container', + }, fakeUser); + + // Insert the board templates swimlane + Swimlanes.insert({ + title: TAPi18n.__('board-templates-swimlane'), + boardId, + sort: 3, + type: 'template-container', + }, fakeUser); + }); }); }); } |