summaryrefslogtreecommitdiffstats
path: root/models/cards.js
diff options
context:
space:
mode:
authorLauri Ojansivu <x@xet7.org>2017-02-03 01:39:31 +0200
committerLauri Ojansivu <x@xet7.org>2017-02-03 01:39:31 +0200
commit1cf9b1be4e11e276e344088a63e5e0986da70250 (patch)
tree58bed7ea87109a9a733e09813bc81d4f5ad96989 /models/cards.js
parent70f92c6e0e3e15444cdb20987ce0544ec691d606 (diff)
parent59731af139b73f4b9cd8bd0bd0602ac272538b4f (diff)
downloadwekan-1cf9b1be4e11e276e344088a63e5e0986da70250.tar.gz
wekan-1cf9b1be4e11e276e344088a63e5e0986da70250.tar.bz2
wekan-1cf9b1be4e11e276e344088a63e5e0986da70250.zip
Merge branch 'ckls' of https://github.com/lkisme/wekan into lkisme-ckls
Diffstat (limited to 'models/cards.js')
-rw-r--r--models/cards.js30
1 files changed, 30 insertions, 0 deletions
diff --git a/models/cards.js b/models/cards.js
index 9e7d58c8..f6bd0b06 100644
--- a/models/cards.js
+++ b/models/cards.js
@@ -141,6 +141,36 @@ Cards.helpers({
return cover && cover.url() && cover;
},
+ checklists() {
+ return Checklists.find({ cardId: this._id }, { sort: { createdAt: 1 }});
+ },
+
+ checklistItemCount() {
+ const checklists = this.checklists().fetch();
+ return checklists.map((checklist) => {
+ return checklist.itemCount();
+ }).reduce((prev, next) => {
+ return prev + next;
+ }, 0);
+ },
+
+ checklistFinishedCount() {
+ const checklists = this.checklists().fetch();
+ return checklists.map((checklist) => {
+ return checklist.finishedCount();
+ }).reduce((prev, next) => {
+ return prev + next;
+ }, 0);
+ },
+
+ checklistFinished() {
+ return this.hasChecklist() && this.checklistItemCount() === this.checklistFinishedCount();
+ },
+
+ hasChecklist() {
+ return this.checklistItemCount() !== 0;
+ },
+
absoluteUrl() {
const board = this.board();
return FlowRouter.url('card', {