Browse Source

Merge branch 'GhassenRjab-log-checklist-items' into devel

Add checklist items to activity log.
Thanks to GhassenRjab ! Closes #1025
Lauri Ojansivu 8 years ago
parent
commit
5d24d3de2a

+ 2 - 1
CHANGELOG.md

@@ -4,7 +4,8 @@ This release adds the following new features:
 
 * [More screenshots at Features page](https://github.com/wekan/wekan/wiki/Features);
 * [Export and import boards in Sandstorm](https://github.com/wekan/wekan/pull/1144);
-* [GitHub Issue template](https://github.com/wekan/wekan/pull/1146).
+* [GitHub Issue template](https://github.com/wekan/wekan/pull/1146);
+* [Add checklist items to activity log](https://github.com/wekan/wekan/pull/1148).
 
 and fixes the following bugs:
 

+ 11 - 0
client/components/activities/activities.jade

@@ -31,6 +31,12 @@ template(name="boardActivities")
           .activity-checklist(href="{{ card.absoluteUrl }}")
             +viewer
               = checklist.title
+              
+        if($eq activityType 'addChecklistItem')
+          | {{{_ 'activity-checklist-item-added' checklist.title cardLink}}}.
+          .activity-checklist(href="{{ card.absoluteUrl }}")
+            +viewer
+              = checklistItem.title
 
         if($eq activityType 'archivedCard')
           | {{{_ 'activity-archived' cardLink}}}.
@@ -117,6 +123,11 @@ template(name="cardActivities")
           .activity-checklist
             +viewer
               = checklist.title
+        if($eq activityType 'addChecklistItem')
+          | {{{_ 'activity-checklist-item-added' checklist.title cardLink}}}.
+          .activity-checklist(href="{{ card.absoluteUrl }}")
+            +viewer
+              = checklistItem.title
 
         if($eq activityType 'addComment')
           +inlinedForm(classNames='js-edit-comment')

+ 1 - 0
i18n/ar.i18n.json

@@ -37,6 +37,7 @@
     "activity-sent": "إرسال %s إلى %s",
     "activity-unjoined": "غادر %s",
     "activity-checklist-added": "أضاف قائمة تحقق إلى %s",
+    "activity-checklist-item-added": "added checklist item to '%s' in %s",
     "add": "أضف",
     "add-attachment": "إضافة مرفق",
     "add-board": "إضافة لوحة",

+ 1 - 0
i18n/br.i18n.json

@@ -37,6 +37,7 @@
     "activity-sent": "sent %s to %s",
     "activity-unjoined": "unjoined %s",
     "activity-checklist-added": "added checklist to %s",
+    "activity-checklist-item-added": "added checklist item to '%s' in %s",
     "add": "Ouzhpenn",
     "add-attachment": "Add Attachment",
     "add-board": "Add Board",

+ 1 - 0
i18n/ca.i18n.json

@@ -37,6 +37,7 @@
     "activity-sent": "ha enviat %s %s",
     "activity-unjoined": "desassignat %s",
     "activity-checklist-added": "Checklist afegida a %s",
+    "activity-checklist-item-added": "added checklist item to '%s' in %s",
     "add": "Afegeix",
     "add-attachment": "Afegeix adjunt",
     "add-board": "Afegeix Tauler",

+ 1 - 0
i18n/cs.i18n.json

@@ -37,6 +37,7 @@
     "activity-sent": "%s posláno na %s",
     "activity-unjoined": "odpojen %s",
     "activity-checklist-added": "added checklist to %s",
+    "activity-checklist-item-added": "added checklist item to '%s' in %s",
     "add": "Přidat",
     "add-attachment": "Add Attachment",
     "add-board": "Add Board",

+ 1 - 0
i18n/de.i18n.json

@@ -37,6 +37,7 @@
     "activity-sent": "hat %s an %s gesendet",
     "activity-unjoined": "hat %s verlassen",
     "activity-checklist-added": "hat Checkliste zu %s hinzugefügt",
+    "activity-checklist-item-added": "added checklist item to '%s' in %s",
     "add": "Hinzufügen",
     "add-attachment": "Datei anhängen",
     "add-board": "neues Board",

+ 1 - 0
i18n/en-GB.i18n.json

@@ -37,6 +37,7 @@
     "activity-sent": "sent %s to %s",
     "activity-unjoined": "unjoined %s",
     "activity-checklist-added": "added checklist to %s",
+    "activity-checklist-item-added": "added checklist item to '%s' in %s",
     "add": "Add",
     "add-attachment": "Add Attachment",
     "add-board": "Add Board",

+ 1 - 0
i18n/en.i18n.json

@@ -37,6 +37,7 @@
     "activity-sent": "sent %s to %s",
     "activity-unjoined": "unjoined %s",
     "activity-checklist-added": "added checklist to %s",
+    "activity-checklist-item-added": "added checklist item to '%s' in %s",
     "add": "Add",
     "add-attachment": "Add Attachment",
     "add-board": "Add Board",

+ 1 - 0
i18n/eo.i18n.json

@@ -37,6 +37,7 @@
     "activity-sent": "sendis %s al %s",
     "activity-unjoined": "unjoined %s",
     "activity-checklist-added": "added checklist to %s",
+    "activity-checklist-item-added": "added checklist item to '%s' in %s",
     "add": "Aldoni",
     "add-attachment": "Add Attachment",
     "add-board": "Add Board",

+ 1 - 0
i18n/es.i18n.json

@@ -37,6 +37,7 @@
     "activity-sent": "enviado %s a %s",
     "activity-unjoined": "unjoined %s",
     "activity-checklist-added": "añadida lista de tareas a %s",
+    "activity-checklist-item-added": "added checklist item to '%s' in %s",
     "add": "Añadir",
     "add-attachment": "Agregar Adjunto",
     "add-board": "Agregar Tablero",

+ 2 - 1
i18n/eu.i18n.json

@@ -37,6 +37,7 @@
     "activity-sent": "%s %s(e)ri bidalita",
     "activity-unjoined": "%s utzita",
     "activity-checklist-added": "egiaztaketa zerrenda %s(e)ra gehituta",
+    "activity-checklist-item-added": "added checklist item to '%s' in %s",
     "add": "Gehitu",
     "add-attachment": "Gehitu eranskina",
     "add-board": "Gehitu arbela",
@@ -209,7 +210,7 @@
     "import-board-c": "Inportatu arbela",
     "import-board-title-trello": "Inportatu arbela Trellotik",
     "import-board-title-wekan": "Inportatu arbela Wekanetik",
-    "import-sandstorm-warning": "Imported board will delete all existing data on board and replace it with imported board.",
+    "import-sandstorm-warning": "Inportatutako arbelak oraingo arbeleko informazio guztia ezabatuko du eta inportatutako arbeleko informazioarekin ordeztu.",
     "from-trello": "Trellotik",
     "from-wekan": "Wekanetik",
     "import-board-instruction-trello": "Zure Trello arbelean, aukeratu 'Menu\", 'More', 'Print and Export', 'Export JSON', eta kopiatu jasotako testua hemen.",

+ 1 - 0
i18n/fa.i18n.json

@@ -37,6 +37,7 @@
     "activity-sent": "ارسال %s به %s",
     "activity-unjoined": "قطع اتصال %s",
     "activity-checklist-added": "سیاهه به %s اضافه شد",
+    "activity-checklist-item-added": "added checklist item to '%s' in %s",
     "add": "افزودن",
     "add-attachment": "Add Attachment",
     "add-board": "Add Board",

+ 3 - 2
i18n/fi.i18n.json

@@ -36,13 +36,14 @@
     "activity-removed": "poistettu %s kohteesta %s",
     "activity-sent": "lähetetty %s kohteeseen %s",
     "activity-unjoined": "peruttu %s liittyminen",
-    "activity-checklist-added": "lisätty tarkistuslista kohteeseen %s",
+    "activity-checklist-added": "lisätty tarkistuslista kortille %s",
+    "activity-checklist-item-added": "lisäsi kohdan tarkistuslistaan '%s' kortilla %s",
     "add": "Lisää",
     "add-attachment": "Lisää liite",
     "add-board": "Lisää taulu",
     "add-card": "Lisää kortti",
     "add-checklist": "Lisää tarkistuslista",
-    "add-checklist-item": "Lisää kohde tarkistuslistaan",
+    "add-checklist-item": "Lisää kohta tarkistuslistaan",
     "add-cover": "Lisää kansi",
     "add-label": "Lisää tunniste",
     "add-list": "Lisää lista",

+ 2 - 1
i18n/fr.i18n.json

@@ -37,6 +37,7 @@
     "activity-sent": "a envoyé %s vers %s",
     "activity-unjoined": "a quitté %s",
     "activity-checklist-added": "a ajouté une checklist à %s",
+    "activity-checklist-item-added": "added checklist item to '%s' in %s",
     "add": "Ajouter",
     "add-attachment": "Ajouter une pièce jointe",
     "add-board": "Ajouter un tableau",
@@ -209,7 +210,7 @@
     "import-board-c": "Importer un tableau",
     "import-board-title-trello": "Importer le tableau depuis Trello",
     "import-board-title-wekan": "Importer un tableau depuis Wekan",
-    "import-sandstorm-warning": "Imported board will delete all existing data on board and replace it with imported board.",
+    "import-sandstorm-warning": "Le tableau importé supprimera toutes les données du tableau et les remplacera avec celles du tableau importé.",
     "from-trello": "Depuis Trello",
     "from-wekan": "Depuis Wekan",
     "import-board-instruction-trello": "Dans votre tableau Trello, allez sur 'Menu', puis sur 'Plus', 'Imprimer et exporter', 'Exporter en JSON' et copiez le texte du résultat",

+ 26 - 25
i18n/gl.i18n.json

@@ -37,6 +37,7 @@
     "activity-sent": "sent %s to %s",
     "activity-unjoined": "unjoined %s",
     "activity-checklist-added": "added checklist to %s",
+    "activity-checklist-item-added": "added checklist item to '%s' in %s",
     "add": "Engadir",
     "add-attachment": "Engadir anexo",
     "add-board": "Engadir taboleiro",
@@ -330,34 +331,34 @@
     "upload": "Enviar",
     "upload-avatar": "Enviar un avatar",
     "uploaded-avatar": "Uploaded an avatar",
-    "username": "Username",
-    "view-it": "View it",
-    "warn-list-archived": "warning: this card is in an archived list",
-    "watch": "Watch",
-    "watching": "Watching",
-    "watching-info": "You will be notified of any change in this board",
-    "welcome-board": "Welcome Board",
-    "welcome-list1": "Basics",
-    "welcome-list2": "Advanced",
-    "what-to-do": "What do you want to do?",
-    "admin-panel": "Admin Panel",
-    "settings": "Settings",
-    "people": "People",
-    "registration": "Registration",
-    "disable-self-registration": "Disable Self-Registration",
-    "invite": "Invite",
-    "invite-people": "Invite People",
-    "to-boards": "To board(s)",
-    "email-addresses": "Email Addresses",
-    "smtp-host-description": "The address of the SMTP server that handles your emails.",
-    "smtp-port-description": "The port your SMTP server uses for outgoing emails.",
+    "username": "Nome de usuario",
+    "view-it": "Velo",
+    "warn-list-archived": "aviso: esta tarxeta está nunha lista arquivada",
+    "watch": "Vixiar",
+    "watching": "Vixiando",
+    "watching-info": "Recibirá unha notificación sobre calquera cambio que se produza neste taboleiro",
+    "welcome-board": "Taboleiro de benvida",
+    "welcome-list1": "Fundamentos",
+    "welcome-list2": "Avanzado",
+    "what-to-do": "Que desexa facer?",
+    "admin-panel": "Panel de administración",
+    "settings": "Configuración",
+    "people": "Persoas",
+    "registration": "Rexistro",
+    "disable-self-registration": "Desactivar o auto-rexistro",
+    "invite": "Convidar",
+    "invite-people": "Convidar persoas",
+    "to-boards": "Ao(s) taboleiro(s)",
+    "email-addresses": "Enderezos de correo",
+    "smtp-host-description": "O enderezo do servidor de SMTP que xestiona os seu correo electrónico.",
+    "smtp-port-description": "O porto que o servidor de SMTP emprega para o correo saínte.",
     "smtp-tls-description": "Enable TLS support for SMTP server",
-    "smtp-host": "SMTP Host",
-    "smtp-port": "SMTP Port",
-    "smtp-username": "Username",
+    "smtp-host": "Servidor de SMTP",
+    "smtp-port": "Porto de SMTP",
+    "smtp-username": "Nome de usuario",
     "smtp-password": "Contrasinal",
     "smtp-tls": "TLS support",
-    "send-from": "From",
+    "send-from": "De",
     "invitation-code": "Invitation Code",
     "email-invite-register-subject": "__inviter__ sent you an invitation",
     "email-invite-register-text": "Dear __user__,\n\n__inviter__ invites you to Wekan for collaborations.\n\nPlease follow the link below:\n__url__\n\nAnd your invitation code is: __icode__\n\nThanks.",

+ 1 - 0
i18n/he.i18n.json

@@ -37,6 +37,7 @@
     "activity-sent": "%s נשלח ל%s",
     "activity-unjoined": "בטל צירוף %s",
     "activity-checklist-added": "נוספה רשימת משימות אל %s",
+    "activity-checklist-item-added": "added checklist item to '%s' in %s",
     "add": "הוספה",
     "add-attachment": "הוספת קובץ מצורף",
     "add-board": "הוספת לוח",

+ 1 - 0
i18n/hu.i18n.json

@@ -37,6 +37,7 @@
     "activity-sent": "sent %s to %s",
     "activity-unjoined": "%s kilépett a csoportból",
     "activity-checklist-added": "added checklist to %s",
+    "activity-checklist-item-added": "added checklist item to '%s' in %s",
     "add": "Hozzáad",
     "add-attachment": "Add Attachment",
     "add-board": "Add Board",

+ 1 - 0
i18n/id.i18n.json

@@ -37,6 +37,7 @@
     "activity-sent": "terkirim %s ke %s",
     "activity-unjoined": "tidak bergabung %s",
     "activity-checklist-added": "daftar periksa ditambahkan ke %s",
+    "activity-checklist-item-added": "added checklist item to '%s' in %s",
     "add": "Tambah",
     "add-attachment": "Add Attachment",
     "add-board": "Add Board",

+ 1 - 0
i18n/it.i18n.json

@@ -37,6 +37,7 @@
     "activity-sent": "inviato %s a %s",
     "activity-unjoined": "ha abbandonato %s",
     "activity-checklist-added": "aggiunta checklist a %s",
+    "activity-checklist-item-added": "added checklist item to '%s' in %s",
     "add": "Aggiungere",
     "add-attachment": "Aggiungi Allegato",
     "add-board": "Aggiungi Bacheca",

+ 1 - 0
i18n/ja.i18n.json

@@ -37,6 +37,7 @@
     "activity-sent": "%s を %s に送りました",
     "activity-unjoined": "%s への参加を止めました",
     "activity-checklist-added": "%s にチェックリストを追加しました",
+    "activity-checklist-item-added": "added checklist item to '%s' in %s",
     "add": "追加",
     "add-attachment": "Add Attachment",
     "add-board": "Add Board",

+ 1 - 0
i18n/ko.i18n.json

@@ -37,6 +37,7 @@
     "activity-sent": "%s를 %s로 보냄",
     "activity-unjoined": "%s에서 멤버 해제",
     "activity-checklist-added": "%s에 체크리스트를 추가함",
+    "activity-checklist-item-added": "added checklist item to '%s' in %s",
     "add": "추가",
     "add-attachment": "첨부파일 추가",
     "add-board": "보드 추가",

+ 1 - 0
i18n/nb.i18n.json

@@ -37,6 +37,7 @@
     "activity-sent": "sendte %s til %s",
     "activity-unjoined": "forlot %s",
     "activity-checklist-added": "la til sjekkliste til %s",
+    "activity-checklist-item-added": "added checklist item to '%s' in %s",
     "add": "Legg til",
     "add-attachment": "Add Attachment",
     "add-board": "Add Board",

+ 1 - 0
i18n/nl.i18n.json

@@ -37,6 +37,7 @@
     "activity-sent": "%s gestuurd naar %s",
     "activity-unjoined": "uit %s gegaan",
     "activity-checklist-added": "checklist toegevoegd aan %s",
+    "activity-checklist-item-added": "added checklist item to '%s' in %s",
     "add": "Toevoegen",
     "add-attachment": "Voeg Bijlage Toe",
     "add-board": "Voeg Bord Toe",

+ 1 - 0
i18n/pl.i18n.json

@@ -37,6 +37,7 @@
     "activity-sent": "wysłano %s z %s",
     "activity-unjoined": "odłączono %s",
     "activity-checklist-added": "added checklist to %s",
+    "activity-checklist-item-added": "added checklist item to '%s' in %s",
     "add": "Dodaj",
     "add-attachment": "Add Attachment",
     "add-board": "Add Board",

+ 1 - 0
i18n/pt-BR.i18n.json

@@ -37,6 +37,7 @@
     "activity-sent": "enviou %s de %s",
     "activity-unjoined": "saiu de %s",
     "activity-checklist-added": "Adicionado lista de verificação a %s",
+    "activity-checklist-item-added": "added checklist item to '%s' in %s",
     "add": "Novo",
     "add-attachment": "Adicionar Anexos",
     "add-board": "Adiconar Quadro",

+ 1 - 0
i18n/ro.i18n.json

@@ -37,6 +37,7 @@
     "activity-sent": "sent %s to %s",
     "activity-unjoined": "unjoined %s",
     "activity-checklist-added": "added checklist to %s",
+    "activity-checklist-item-added": "added checklist item to '%s' in %s",
     "add": "Add",
     "add-attachment": "Add Attachment",
     "add-board": "Add Board",

+ 1 - 0
i18n/ru.i18n.json

@@ -37,6 +37,7 @@
     "activity-sent": "отправлено %s в %s",
     "activity-unjoined": "вышел из %s",
     "activity-checklist-added": "добавлен список в %s",
+    "activity-checklist-item-added": "added checklist item to '%s' in %s",
     "add": "Создать",
     "add-attachment": "Добавить вложение",
     "add-board": "Добавить доску",

+ 1 - 0
i18n/sr.i18n.json

@@ -37,6 +37,7 @@
     "activity-sent": "poslao %s %s-u",
     "activity-unjoined": "rastavio %s",
     "activity-checklist-added": "lista je dodata u %s",
+    "activity-checklist-item-added": "added checklist item to '%s' in %s",
     "add": "Dodaj",
     "add-attachment": "Add Attachment",
     "add-board": "Add Board",

+ 1 - 0
i18n/sv.i18n.json

@@ -37,6 +37,7 @@
     "activity-sent": "skickade %s till %s",
     "activity-unjoined": "gick ur %s",
     "activity-checklist-added": "lade kontrollista till %s",
+    "activity-checklist-item-added": "added checklist item to '%s' in %s",
     "add": "Lägg till",
     "add-attachment": "Lägg till bilaga",
     "add-board": "Add Board",

+ 1 - 0
i18n/ta.i18n.json

@@ -37,6 +37,7 @@
     "activity-sent": "sent %s to %s",
     "activity-unjoined": "unjoined %s",
     "activity-checklist-added": "added checklist to %s",
+    "activity-checklist-item-added": "added checklist item to '%s' in %s",
     "add": "Add",
     "add-attachment": "Add Attachment",
     "add-board": "Add Board",

+ 1 - 0
i18n/th.i18n.json

@@ -37,6 +37,7 @@
     "activity-sent": "ส่ง %s ถึง %s",
     "activity-unjoined": "ยกเลิกเข้าร่วม %s",
     "activity-checklist-added": "รายการถูกเพิ่มไป %s",
+    "activity-checklist-item-added": "added checklist item to '%s' in %s",
     "add": "เพิ่ม",
     "add-attachment": "Add Attachment",
     "add-board": "Add Board",

+ 1 - 0
i18n/tr.i18n.json

@@ -37,6 +37,7 @@
     "activity-sent": "%s i %s e gönderdi",
     "activity-unjoined": "%s içinden ayrıldı",
     "activity-checklist-added": "%s içine liste ekledi",
+    "activity-checklist-item-added": "added checklist item to '%s' in %s",
     "add": "Ekle",
     "add-attachment": "Ek Ekle",
     "add-board": "Pano Ekle",

+ 1 - 0
i18n/uk.i18n.json

@@ -37,6 +37,7 @@
     "activity-sent": "sent %s to %s",
     "activity-unjoined": "unjoined %s",
     "activity-checklist-added": "added checklist to %s",
+    "activity-checklist-item-added": "added checklist item to '%s' in %s",
     "add": "Додати",
     "add-attachment": "Add Attachment",
     "add-board": "Add Board",

+ 1 - 0
i18n/vi.i18n.json

@@ -37,6 +37,7 @@
     "activity-sent": "gửi %s đến %s",
     "activity-unjoined": "đã rời khỏi %s",
     "activity-checklist-added": "đã thêm checklist vào %s",
+    "activity-checklist-item-added": "added checklist item to '%s' in %s",
     "add": "Thêm",
     "add-attachment": "Thêm Bản Đính Kèm",
     "add-board": "Thêm Bảng",

+ 11 - 10
i18n/zh-CN.i18n.json

@@ -37,6 +37,7 @@
     "activity-sent": "发送 %s 至 %s",
     "activity-unjoined": "已解除 %s 关联",
     "activity-checklist-added": "已经将清单添加到 %s",
+    "activity-checklist-item-added": "added checklist item to '%s' in %s",
     "add": "添加",
     "add-attachment": "添加附件",
     "add-board": "添加看板",
@@ -55,7 +56,7 @@
     "and-n-other-card": "和其他 __count__ 个卡片",
     "and-n-other-card_plural": "和其他 __count__ 个卡片",
     "apply": "应用",
-    "app-is-offline": "Wekan is loading, please wait. Refreshing the page will cause data loss. If Wekan does not load, please check that Wekan server has not stopped.",
+    "app-is-offline": "Wekan 正在加载,请稍等。刷新页面将导致数据丢失。如果 Wekan 无法加载,请检查 Wekan 服务器是否已经停止。",
     "archive": "归档",
     "archive-all": "全部归档",
     "archive-board": "归档看板",
@@ -140,12 +141,12 @@
     "color-yellow": "黄色",
     "comment": "评论",
     "comment-placeholder": "添加评论",
-    "comment-only": "Comment only",
+    "comment-only": "仅能评论",
     "comment-only-desc": "只能在卡片上评论。",
     "computer": "从本机上传",
     "create": "创建",
     "createBoardPopup-title": "创建看板",
-    "chooseBoardSourcePopup-title": "Import board",
+    "chooseBoardSourcePopup-title": "导入看板",
     "createLabelPopup-title": "创建标签",
     "current": "当前",
     "date": "日期",
@@ -187,7 +188,7 @@
     "error-json-schema": "JSON 数据没有用正确的格式包含合适的信息",
     "error-list-doesNotExist": "不存在此列表",
     "error-user-doesNotExist": "该用户不存在",
-    "error-user-notAllowSelf": "You can not invite yourself",
+    "error-user-notAllowSelf": "无法邀请自己",
     "error-user-notCreated": "该用户未能成功创建",
     "error-username-taken": "此用户名已存在",
     "export-board": "导出看板",
@@ -205,13 +206,13 @@
     "headerBarCreateBoardPopup-title": "创建看板",
     "home": "首页",
     "import": "导入",
-    "import-board": "import board",
-    "import-board-c": "Import board",
+    "import-board": "导入看板",
+    "import-board-c": "导入看板",
     "import-board-title-trello": "从Trello导入看板",
-    "import-board-title-wekan": "Import board from Wekan",
+    "import-board-title-wekan": "从Wekan 导入看板",
     "import-sandstorm-warning": "Imported board will delete all existing data on board and replace it with imported board.",
-    "from-trello": "From Trello",
-    "from-wekan": "From Wekan",
+    "from-trello": " Trello",
+    "from-wekan": " Wekan",
     "import-board-instruction-trello": "在你的Trello看板中,点击“菜单”,然后选择“更多”,“打印与导出”,“导出为 JSON” 并拷贝结果文本",
     "import-board-instruction-wekan": "In your Wekan board, go to 'Menu', then 'Export board', and copy the text in the downloaded file.",
     "import-json-placeholder": "粘贴您有效的 JSON 数据至此",
@@ -362,7 +363,7 @@
     "email-invite-register-subject": "__inviter__ 向您发出邀请",
     "email-invite-register-text": "亲爱的 __user__,\n\n__inviter__ 邀请您加入 Wekan 进行协作。\n\n请访问下面的链接︰\n__url__\n\n您的的邀请码是︰\n__icode__\n\n非常感谢。",
     "error-invitation-code-not-exist": "邀请码不存在",
-    "error-notAuthorized": "You are not authorized to view this page.",
+    "error-notAuthorized": "您无权查看此页面。",
     "outgoing-webhooks": "Outgoing Webhooks",
     "outgoingWebhooksPopup-title": "Outgoing Webhooks"
 }

+ 1 - 0
i18n/zh-TW.i18n.json

@@ -37,6 +37,7 @@
     "activity-sent": "寄送 %s 至 %s",
     "activity-unjoined": "解除關聯 %s",
     "activity-checklist-added": "新增待辦清單至 %s",
+    "activity-checklist-item-added": "added checklist item to '%s' in %s",
     "add": "新增",
     "add-attachment": "新增附件",
     "add-board": "新增看板",

+ 3 - 0
models/activities.js

@@ -38,6 +38,9 @@ Activities.helpers({
   checklist() {
     return Checklists.findOne(this.checklistId);
   },
+  checklistItem() {
+    return Checklists.findOne(this.checklistId).getItem(this.checklistItemId);
+  },
 });
 
 Activities.before.insert((userId, doc) => {

+ 13 - 10
models/checklists.js

@@ -161,16 +161,19 @@ if (Meteor.isServer) {
   });
 
   //TODO: so there will be no activity for adding item into checklist, maybe will be implemented in the future.
-  // Checklists.after.update((userId, doc) => {
-  //   console.log('update:', doc)
-  // Activities.insert({
-  //   userId,
-  //   activityType: 'addChecklist',
-  //   boardId: doc.boardId,
-  //   cardId: doc.cardId,
-  //   checklistId: doc._id,
-  // });
-  // });
+  // The future is now
+  Checklists.after.update((userId, doc, fieldNames, modifier) => {
+    if (fieldNames.includes('items')) {
+      Activities.insert({
+        userId,
+        activityType: 'addChecklistItem',
+        cardId: doc.cardId,
+        boardId: Cards.findOne(doc.cardId).boardId,
+        checklistId: doc._id,
+        checklistItemId: modifier.$addToSet.items._id,
+      });
+    }
+  });
 
   Checklists.before.remove((userId, doc) => {
     const activity = Activities.findOne({ checklistId: doc._id });