Browse Source

Merge pull request #3765 from HappyMushroom-TechTeam/feature/miniCard_subtaskCount

Feature/mini card subtask count
Lauri Ojansivu 4 years ago
parent
commit
39ece35f52
2 changed files with 23 additions and 23 deletions
  1. 5 0
      client/components/cards/minicard.jade
  2. 18 23
      models/cards.js

+ 5 - 0
client/components/cards/minicard.jade

@@ -129,3 +129,8 @@ template(name="minicard")
         .badge(class="{{#if checklistFinished}}is-finished{{/if}}")
           span.badge-icon.fa.fa-check-square-o
           span.badge-text.check-list-text {{checklistFinishedCount}}/{{checklistItemCount}}
+      if allSubtasks.count
+        .badge
+          span.badge-icon.fa.fa-sitemap
+          span.badge-text.check-list-text {{subtasksFinishedCount}}/{{allSubtasksCount}}
+          //{{subtasksFinishedCount}}/{{subtasksCount}} does not work because when a subtaks is archived, the count goes down

+ 18 - 23
models/cards.js

@@ -641,37 +641,32 @@ Cards.helpers({
     );
   },
 
-  allSubtasks() {
-    return Cards.find(
-      {
-        parentId: this._id,
-        archived: false,
-      },
-      {
-        sort: {
-          sort: 1,
-        },
-      },
-    );
+  subtasksFinished() {
+    return Cards.find({
+      parentId: this._id,
+      archived: true,
+    });
   },
 
-  subtasksCount() {
+  allSubtasks() {
     return Cards.find({
-      parentId: this._id,
-      archived: false,
-    }).count();
+      parentId: this._id
+    });
+  },
+  
+  subtasksCount() {
+    const subtasks = this.subtasks();
+    return subtasks.count();
   },
 
   subtasksFinishedCount() {
-    return Cards.find({
-      parentId: this._id,
-      archived: true,
-    }).count();
+    const subtasksArchived = this.subtasksFinished();
+    return subtasksArchived.count();
   },
 
-  subtasksFinished() {
-    const finishCount = this.subtasksFinishedCount();
-    return finishCount > 0 && this.subtasksCount() === finishCount;
+  allSubtasksCount() {
+    const allSubtasks = this.allSubtasks();
+    return allSubtasks.count();
   },
 
   allowsSubtasks() {