From 6ced47aa8c7c62764778f8123708455c0f33f82f Mon Sep 17 00:00:00 2001 From: Pedro Sousa <18445484+slvrpdr@users.noreply.github.com> Date: Thu, 9 Apr 2020 19:10:50 +0100 Subject: When adding a user to a board that has subtasks, also add user to the subtask board --- models/users.js | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'models/users.js') diff --git a/models/users.js b/models/users.js index 8a05a0d2..b1f3e26c 100644 --- a/models/users.js +++ b/models/users.js @@ -814,6 +814,16 @@ if (Meteor.isServer) { board.addMember(user._id); user.addInvite(boardId); + //Check if there is a subtasks board + if (board.subtasksDefaultBoardId){ + const subBoard = Boards.findOne(board.subtasksDefaultBoardId); + //If there is, also add user to that board + if (subBoard) { + subBoard.addMember(user._id); + user.addInvite(subBoard._id); + } + } + try { const params = { user: user.username, -- cgit v1.2.3-1-g7c22 From 269382869e20a9b172dfa5f56f4d06a7722993ef Mon Sep 17 00:00:00 2001 From: Jonathan Baird Date: Sat, 11 Apr 2020 17:28:15 -0600 Subject: fix error in notifications cleanup cron --- models/users.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'models/users.js') diff --git a/models/users.js b/models/users.js index b1f3e26c..3700d1c8 100644 --- a/models/users.js +++ b/models/users.js @@ -815,7 +815,7 @@ if (Meteor.isServer) { user.addInvite(boardId); //Check if there is a subtasks board - if (board.subtasksDefaultBoardId){ + if (board.subtasksDefaultBoardId) { const subBoard = Boards.findOne(board.subtasksDefaultBoardId); //If there is, also add user to that board if (subBoard) { @@ -823,7 +823,7 @@ if (Meteor.isServer) { user.addInvite(subBoard._id); } } - + try { const params = { user: user.username, @@ -952,6 +952,7 @@ const addCronJob = _.debounce( schedule: parser => parser.text('every 1 days'), job: () => { for (const user of Users.find()) { + if (!user.profile || !user.profile.notifications) continue; for (const notification of user.profile.notifications) { if (notification.read) { const removeDate = new Date(notification.read); -- cgit v1.2.3-1-g7c22 From 35ae07e2a65c5ab5ba6784cdb67631918a41ccc3 Mon Sep 17 00:00:00 2001 From: salleman Date: Mon, 13 Apr 2020 15:46:29 +0200 Subject: debug isBoardAdmin on main page --- models/users.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'models/users.js') diff --git a/models/users.js b/models/users.js index 3700d1c8..a9eeb38b 100644 --- a/models/users.js +++ b/models/users.js @@ -377,8 +377,8 @@ if (Meteor.isClient) { return board && board.hasWorker(this._id); }, - isBoardAdmin() { - const board = Boards.findOne(Session.get('currentBoard')); + isBoardAdmin(boardId = Session.get('currentBoard')) { + const board = Boards.findOne(boardId); return board && board.hasAdmin(this._id); }, }); -- cgit v1.2.3-1-g7c22 From 10fcc19b7f9307e71f01b6abca055806d69f7d4e Mon Sep 17 00:00:00 2001 From: boeserwolf Date: Sun, 19 Apr 2020 12:30:21 +0300 Subject: Add sortDefault helper for sorting boards --- models/users.js | 30 +++++++++++++++++++++++------- 1 file changed, 23 insertions(+), 7 deletions(-) (limited to 'models/users.js') diff --git a/models/users.js b/models/users.js index a9eeb38b..f4b7329a 100644 --- a/models/users.js +++ b/models/users.js @@ -386,12 +386,20 @@ if (Meteor.isClient) { Users.helpers({ boards() { - return Boards.find({ 'members.userId': this._id }); + return Boards.find( + { 'members.userId': this._id }, + { sort: { sort: 1 /* boards default sorting */ } }, + ); }, starredBoards() { const { starredBoards = [] } = this.profile || {}; - return Boards.find({ archived: false, _id: { $in: starredBoards } }); + return Boards.find( + { archived: false, _id: { $in: starredBoards } }, + { + sort: { sort: 1 /* boards default sorting */ }, + }, + ); }, hasStarred(boardId) { @@ -401,7 +409,12 @@ Users.helpers({ invitedBoards() { const { invitedBoards = [] } = this.profile || {}; - return Boards.find({ archived: false, _id: { $in: invitedBoards } }); + return Boards.find( + { archived: false, _id: { $in: invitedBoards } }, + { + sort: { sort: 1 /* boards default sorting */ }, + }, + ); }, isInvitedTo(boardId) { @@ -1292,10 +1305,13 @@ if (Meteor.isServer) { let data = Meteor.users.findOne({ _id: id }); if (data !== undefined) { if (action === 'takeOwnership') { - data = Boards.find({ - 'members.userId': id, - 'members.isAdmin': true, - }).map(function(board) { + data = Boards.find( + { + 'members.userId': id, + 'members.isAdmin': true, + }, + { sort: { sort: 1 /* boards default sorting */ } }, + ).map(function(board) { if (board.hasMember(req.userId)) { board.removeMember(req.userId); } -- cgit v1.2.3-1-g7c22 From 8e14459cff4da1391f536dfbc6441abb21e9c215 Mon Sep 17 00:00:00 2001 From: Marc Hartmayer Date: Wed, 22 Apr 2020 14:44:08 +0200 Subject: Implement option to change the first day of week in user settings Implements #2535. --- models/users.js | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'models/users.js') diff --git a/models/users.js b/models/users.js index f4b7329a..f4f4f38e 100644 --- a/models/users.js +++ b/models/users.js @@ -190,6 +190,13 @@ Users.attachSchema( type: Number, optional: true, }, + 'profile.startDayOfWeek': { + /** + * startDayOfWeek field of the user + */ + type: Number, + optional: true, + }, 'profile.starredBoards': { /** * list of starred board IDs @@ -521,6 +528,11 @@ Users.helpers({ return profile.language || 'en'; }, + getStartDayOfWeek() { + const profile = this.profile || {}; + return profile.startDayOfWeek || 1; + }, + getTemplatesBoardId() { return (this.profile || {}).templatesBoardId; }, @@ -652,6 +664,10 @@ Users.mutations({ return { $set: { 'profile.showCardsCountAt': limit } }; }, + setStartDayOfWeek(startDay) { + return { $set: { 'profile.startDayOfWeek': startDay } }; + }, + setBoardView(view) { return { $set: { @@ -682,6 +698,10 @@ Meteor.methods({ check(limit, Number); Meteor.user().setShowCardsCountAt(limit); }, + changeStartDayOfWeek(startDay) { + check(startDay, Number); + Meteor.user().setStartDayOfWeek(startDay); + }, }); if (Meteor.isServer) { -- cgit v1.2.3-1-g7c22 From 405f176bbb04a02e9aa9be662df6412100ffb257 Mon Sep 17 00:00:00 2001 From: Marc Hartmayer Date: Wed, 22 Apr 2020 21:04:44 +0200 Subject: Fix getStartDayOfWeek function In case profile.startDayOfWeek is 0 it's evaluated to false and 1 is returned. Let's fix this by differentiating between undefined and an actual value. --- models/users.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'models/users.js') diff --git a/models/users.js b/models/users.js index f4f4f38e..ebb14f5f 100644 --- a/models/users.js +++ b/models/users.js @@ -530,7 +530,8 @@ Users.helpers({ getStartDayOfWeek() { const profile = this.profile || {}; - return profile.startDayOfWeek || 1; + // default is 'Monday' (1) + return profile.startDayOfWeek ?? 1; }, getTemplatesBoardId() { -- cgit v1.2.3-1-g7c22