diff options
author | Lauri Ojansivu <x@xet7.org> | 2017-11-21 10:03:02 +0200 |
---|---|---|
committer | Lauri Ojansivu <x@xet7.org> | 2017-11-21 10:03:02 +0200 |
commit | e162fe3c0fc425efe925dd15f55771f9a3ee60f3 (patch) | |
tree | b2015f2a7b8d099aa554027e482c8f9676a960d3 /models | |
parent | f3e7646cfa065ceea0cf1aaff1f5adbde457a32a (diff) | |
parent | 6dba4ccd4d0c8d7443e7d9c39ddafed2b8f1b6ca (diff) | |
download | wekan-e162fe3c0fc425efe925dd15f55771f9a3ee60f3.tar.gz wekan-e162fe3c0fc425efe925dd15f55771f9a3ee60f3.tar.bz2 wekan-e162fe3c0fc425efe925dd15f55771f9a3ee60f3.zip |
Merge branch 'card-spent-time' of https://github.com/thuanpq/wekan into thuanpq-card-spent-time
Diffstat (limited to 'models')
-rw-r--r-- | models/boards.js | 10 | ||||
-rw-r--r-- | models/cards.js | 26 |
2 files changed, 34 insertions, 2 deletions
diff --git a/models/boards.js b/models/boards.js index 6ae818c6..594bb7b9 100644 --- a/models/boards.js +++ b/models/boards.js @@ -187,6 +187,16 @@ Boards.helpers({ return Lists.find({ boardId: this._id, archived: false }, { sort: { sort: 1 } }); }, + hasOvertimeCards(){ + const card = Cards.findOne({isOvertime: true, boardId: this._id, archived: false} ); + return card !== undefined; + }, + + hasSpentTimeCards(){ + const card = Cards.findOne({spentTime: { $gt: 0 }, boardId: this._id, archived: false} ); + return card !== undefined; + }, + activities() { return Activities.find({ boardId: this._id }, { sort: { createdAt: -1 } }); }, diff --git a/models/cards.js b/models/cards.js index b6397c9e..b62bfea8 100644 --- a/models/cards.js +++ b/models/cards.js @@ -64,8 +64,18 @@ Cards.attachSchema(new SimpleSchema({ type: Date, optional: true, }, - // XXX Should probably be called `authorId`. Is it even needed since we have - // the `members` field? + spentTime: { + type: Number, + decimal: true, + optional: true, + }, + isOvertime: { + type: Boolean, + defaultValue: false, + optional: true, + }, + // XXX Should probably be called `authorId`. Is it even needed since we have + // the `members` field? userId: { type: String, autoValue() { // eslint-disable-line consistent-return @@ -273,6 +283,18 @@ Cards.mutations({ unsetDue() { return {$unset: {dueAt: ''}}; }, + + setOvertime(isOvertime) { + return {$set: {isOvertime}}; + }, + + setSpentTime(spentTime) { + return {$set: {spentTime}}; + }, + + unsetSpentTime() { + return {$unset: {spentTime: '', isOvertime: false}}; + }, }); |