Pārlūkot izejas kodu

Merge branch 'rjevnikar-moreFieldsColours' into devel

Closes #833
Lauri Ojansivu 7 gadi atpakaļ
vecāks
revīzija
5f5a1b780e
54 mainītis faili ar 517 papildinājumiem un 59 dzēšanām
  1. 6 3
      CHANGELOG.md
  2. 12 4
      client/components/boards/boardArchive.jade
  3. 12 0
      client/components/boards/boardArchive.js
  4. 6 0
      client/components/boards/boardHeader.js
  5. 46 2
      client/components/cards/cardDetails.jade
  6. 41 1
      client/components/cards/cardDetails.js
  7. 2 1
      client/components/cards/cardDetails.styl
  8. 42 0
      client/components/cards/labels.styl
  9. 7 1
      i18n/ar.i18n.json
  10. 7 1
      i18n/bg.i18n.json
  11. 7 1
      i18n/br.i18n.json
  12. 7 1
      i18n/ca.i18n.json
  13. 7 1
      i18n/cs.i18n.json
  14. 7 1
      i18n/de.i18n.json
  15. 7 1
      i18n/el.i18n.json
  16. 7 1
      i18n/en-GB.i18n.json
  17. 7 1
      i18n/en.i18n.json
  18. 7 1
      i18n/eo.i18n.json
  19. 7 1
      i18n/es-AR.i18n.json
  20. 7 1
      i18n/es.i18n.json
  21. 7 1
      i18n/eu.i18n.json
  22. 7 1
      i18n/fa.i18n.json
  23. 7 1
      i18n/fi.i18n.json
  24. 7 1
      i18n/fr.i18n.json
  25. 7 1
      i18n/gl.i18n.json
  26. 7 1
      i18n/he.i18n.json
  27. 7 1
      i18n/hu.i18n.json
  28. 7 1
      i18n/hy.i18n.json
  29. 7 1
      i18n/id.i18n.json
  30. 7 1
      i18n/ig.i18n.json
  31. 7 1
      i18n/it.i18n.json
  32. 7 1
      i18n/ja.i18n.json
  33. 7 1
      i18n/ko.i18n.json
  34. 7 1
      i18n/lv.i18n.json
  35. 7 1
      i18n/mn.i18n.json
  36. 7 1
      i18n/nb.i18n.json
  37. 7 1
      i18n/nl.i18n.json
  38. 7 1
      i18n/pl.i18n.json
  39. 7 1
      i18n/pt-BR.i18n.json
  40. 7 1
      i18n/pt.i18n.json
  41. 7 1
      i18n/ro.i18n.json
  42. 7 1
      i18n/ru.i18n.json
  43. 7 1
      i18n/sr.i18n.json
  44. 12 6
      i18n/sv.i18n.json
  45. 7 1
      i18n/ta.i18n.json
  46. 7 1
      i18n/th.i18n.json
  47. 7 1
      i18n/tr.i18n.json
  48. 7 1
      i18n/uk.i18n.json
  49. 7 1
      i18n/vi.i18n.json
  50. 7 1
      i18n/zh-CN.i18n.json
  51. 7 1
      i18n/zh-TW.i18n.json
  52. 3 0
      models/boards.js
  53. 16 0
      models/cards.js
  54. 25 0
      server/migrations.js

+ 6 - 3
CHANGELOG.md

@@ -3,13 +3,16 @@
 This release adds the following new features:
 
 * [Update to newest Sandstorm fork of Node.js that includes performance
-   etc fixes](https://github.com/wekan/wekan/commit/90d55777f7298d243ed0de03c934cea239a31272).
+   etc fixes](https://github.com/wekan/wekan/commit/90d55777f7298d243ed0de03c934cea239a31272);
+* [Additional label colors. Assigned By and Requested By text fields
+   on card. Delete board from Recycle Bin](https://github.com/wekan/wekan/pull/1679).
 
 and possibly fixes the following bugs, please test:
 
-* [Try to fix: Missing board-view-lists Field after DB updated to Wekan 1.02](https://github.com/wekan/wekan/issues/1675).
+* [Try to fix: Missing board-view-lists Field after DB updated to
+   Wekan 1.02](https://github.com/wekan/wekan/issues/1675).
 
-Thanks to GitHub users rjevnikar and xet7 for their contributions.
+Thanks to GitHub users JamesLavin, rjevnikar and xet7 for their contributions.
 
 # v1.02 2018-05-26 Wekan release
 

+ 12 - 4
client/components/boards/boardArchive.jade

@@ -6,9 +6,17 @@ template(name="archivedBoards")
   ul.archived-lists
     each archivedBoards
       li.archived-lists-item
-        button.js-restore-board
-          i.fa.fa-undo
-          | {{_ 'restore-board'}}
-        = title
+        div.board-header-btns
+          button.board-header-btn.js-delete-board
+            i.fa.fa-trash-o
+            | {{_ 'delete-board'}}
+          button.board-header-btn.js-restore-board
+            i.fa.fa-undo
+            | {{_ 'restore-board'}}
+          = title
     else
       li.no-items-message {{_ 'no-archived-boards'}}
+
+template(name="boardDeletePopup")
+  p {{_ 'delete-board-confirm-popup'}}
+  button.js-confirm.negate.full(type="submit") {{_ 'delete'}}

+ 12 - 0
client/components/boards/boardArchive.js

@@ -29,6 +29,18 @@ BlazeComponent.extendComponent({
         board.restore();
         Utils.goBoardId(board._id);
       },
+      'click .js-delete-board': Popup.afterConfirm('boardDelete', function() {
+        Popup.close();
+        const isSandstorm = Meteor.settings && Meteor.settings.public &&
+          Meteor.settings.public.sandstorm;
+        if (isSandstorm && Session.get('currentBoard')) {
+          const currentBoard = Boards.findOne(Session.get('currentBoard'));
+          Boards.remove(currentBoard._id);
+        }
+        const board = this.currentData();
+        Boards.remove(board._id);
+        FlowRouter.go('home');
+      }),
     }];
   },
 }).register('archivedBoards');

+ 6 - 0
client/components/boards/boardHeader.js

@@ -17,6 +17,12 @@ Template.boardMenuPopup.events({
     // confirm that the board was successfully archived.
     FlowRouter.go('home');
   }),
+  'click .js-delete-board': Popup.afterConfirm('deleteBoard', function() {
+    const currentBoard = Boards.findOne(Session.get('currentBoard'));
+    Popup.close();
+    Boards.remove(currentBoard._id);
+    FlowRouter.go('home');
+  }),
   'click .js-outgoing-webhooks': Popup.open('outgoingWebhooks'),
   'click .js-import-board': Popup.open('chooseBoardSource'),
 });

+ 46 - 2
client/components/cards/cardDetails.jade

@@ -108,6 +108,39 @@ template(name="cardDetails")
       +viewer
         = description
 
+    .card-details-items
+      .card-details-item.card-details-item-name
+        h3.card-details-item-title {{_ 'requested-by'}}
+        if canModifyCard
+          +inlinedForm(classNames="js-card-details-requester")
+            +editCardRequesterForm
+          else
+            a.js-open-inlined-form
+              if requestedBy
+                +viewer
+                  = requestedBy
+              else
+                | {{_ 'add'}}
+        else if requestedBy
+          +viewer
+            = requestedBy
+
+      .card-details-item.card-details-item-name
+        h3.card-details-item-title {{_ 'assigned-by'}}
+        if canModifyCard
+          +inlinedForm(classNames="js-card-details-assigner")
+            +editCardAssignerForm
+          else
+            a.js-open-inlined-form
+              if assignedBy
+                +viewer
+                  = assignedBy
+              else
+                | {{_ 'add'}}
+        else if requestedBy
+          +viewer
+            = assignedBy
+
     hr
     +checklists(cardId = _id)
 
@@ -141,6 +174,18 @@ template(name="editCardTitleForm")
     button.primary.confirm.js-submit-edit-card-title-form(type="submit") {{_ 'save'}}
     a.fa.fa-times-thin.js-close-inlined-form
 
+template(name="editCardRequesterForm")
+  input.js-edit-card-requester(type='text' autofocus value=requestedBy)
+  .edit-controls.clearfix
+    button.primary.confirm.js-submit-edit-card-requester-form(type="submit") {{_ 'save'}}
+    a.fa.fa-times-thin.js-close-inlined-form
+
+template(name="editCardAssignerForm")
+  input.js-edit-card-assigner(type='text' autofocus value=assignedBy)
+  .edit-controls.clearfix
+    button.primary.confirm.js-submit-edit-card-assigner-form(type="submit") {{_ 'save'}}
+    a.fa.fa-times-thin.js-close-inlined-form
+
 template(name="cardDetailsActionsPopup")
   ul.pop-over-list
     li: a.js-toggle-watch-card {{#if isWatching}}{{_ 'unwatch'}}{{else}}{{_ 'watch'}}{{/if}}
@@ -150,8 +195,8 @@ template(name="cardDetailsActionsPopup")
       li: a.js-members {{_ 'card-edit-members'}}
       li: a.js-labels {{_ 'card-edit-labels'}}
       li: a.js-attachments {{_ 'card-edit-attachments'}}
-      li: a.js-received-date {{_ 'editCardReceivedDatePopup-title'}}
       li: a.js-custom-fields {{_ 'card-edit-custom-fields'}}
+      li: a.js-received-date {{_ 'editCardReceivedDatePopup-title'}}
       li: a.js-start-date {{_ 'editCardStartDatePopup-title'}}
       li: a.js-due-date {{_ 'editCardDueDatePopup-title'}}
       li: a.js-end-date {{_ 'editCardEndDatePopup-title'}}
@@ -178,7 +223,6 @@ template(name="copyCardPopup")
     = title
   +boardsAndLists
 
-
 template(name="copyChecklistToManyCardsPopup")
   label(for='copy-checklist-cards-title') {{_ 'copyChecklistToManyCardsPopup-instructions'}}:
   textarea#copy-card-title.minicard-composer-textarea.js-card-title(autofocus)

+ 41 - 1
client/components/cards/cardDetails.js

@@ -146,6 +146,20 @@ BlazeComponent.extendComponent({
           this.data().setTitle(title);
         }
       },
+      'submit .js-card-details-assigner'(evt) {
+        evt.preventDefault();
+        const assigner = this.currentComponent().getValue().trim();
+        if (assigner) {
+          this.data().setAssignedBy(assigner);
+        }
+      },
+      'submit .js-card-details-requester'(evt) {
+        evt.preventDefault();
+        const requester = this.currentComponent().getValue().trim();
+        if (requester) {
+          this.data().setRequestedBy(requester);
+        }
+      },
       'click .js-member': Popup.open('cardMember'),
       'click .js-add-members': Popup.open('cardMembers'),
       'click .js-add-labels': Popup.open('cardLabels'),
@@ -215,8 +229,8 @@ Template.cardDetailsActionsPopup.events({
   'click .js-members': Popup.open('cardMembers'),
   'click .js-labels': Popup.open('cardLabels'),
   'click .js-attachments': Popup.open('cardAttachments'),
-  'click .js-received-date': Popup.open('editCardReceivedDate'),
   'click .js-custom-fields': Popup.open('cardCustomFields'),
+  'click .js-received-date': Popup.open('editCardReceivedDate'),
   'click .js-start-date': Popup.open('editCardStartDate'),
   'click .js-due-date': Popup.open('editCardDueDate'),
   'click .js-end-date': Popup.open('editCardEndDate'),
@@ -263,6 +277,32 @@ Template.editCardTitleForm.events({
   },
 });
 
+Template.editCardRequesterForm.onRendered(function() {
+  autosize(this.$('.js-edit-card-requester'));
+});
+
+Template.editCardRequesterForm.events({
+  'keydown .js-edit-card-requester'(evt) {
+    // If enter key was pressed, submit the data
+    if (evt.keyCode === 13) {
+      $('.js-submit-edit-card-requester-form').click();
+    }
+  },
+});
+
+Template.editCardAssignerForm.onRendered(function() {
+  autosize(this.$('.js-edit-card-assigner'));
+});
+
+Template.editCardAssignerForm.events({
+  'keydown .js-edit-card-assigner'(evt) {
+    // If enter key was pressed, submit the data
+    if (evt.keyCode === 13) {
+      $('.js-submit-edit-card-assigner-form').click();
+    }
+  },
+});
+
 Template.moveCardPopup.events({
   'click .js-done' () {
     // XXX We should *not* get the currentCard from the global state, but

+ 2 - 1
client/components/cards/cardDetails.styl

@@ -82,7 +82,8 @@
       &.card-details-item-start,
       &.card-details-item-due,
       &.card-details-item-end,
-      &.card-details-item-customfield
+      &.card-details-item-customfield,
+      &.card-details-item-name
         max-width: 50%
         flex-grow: 1
 

+ 42 - 0
client/components/cards/labels.styl

@@ -73,6 +73,48 @@
 .card-label-lime
   background-color: #51e898
 
+.card-label-silver
+  background-color: #c0c0c0
+
+.card-label-peachpuff
+  background-color: #ffdab9
+
+.card-label-crimson
+  background-color: #dc143c
+
+.card-label-plum
+  background-color: #dda0dd
+
+.card-label-darkgreen
+  background-color: #006400
+
+.card-label-slateblue
+  background-color: #6a5acd
+
+.card-label-magenta
+  background-color: #ff00ff
+
+.card-label-gold
+  background-color: #ffd700
+
+.card-label-navy
+  background-color: #000080
+
+.card-label-gray
+  background-color: #808080
+
+.card-label-saddlebrown
+  background-color: #8b4513
+
+.card-label-paleturquoise
+  background-color: #afeeee
+
+.card-label-mistyrose
+  background-color: #ffe4e1
+
+.card-label-indigo
+  background-color: #4b0082
+
 .edit-label,
 .create-label
   .card-label

+ 7 - 1
i18n/ar.i18n.json

@@ -468,5 +468,11 @@
     "card-end": "End",
     "card-end-on": "Ends on",
     "editCardReceivedDatePopup-title": "Change received date",
-    "editCardEndDatePopup-title": "Change end date"
+    "editCardEndDatePopup-title": "Change end date",
+    "assigned-by": "Assigned By",
+    "requested-by": "Requested By",
+    "board-delete-notice": "Deleting is permanent. You will lose all lists, cards and actions associated with this board.",
+    "delete-board-confirm-popup": "All lists, cards, labels, and activities will be deleted and you won't be able to recover the board contents. There is no undo.",
+    "boardDeletePopup-title": "Delete Board?",
+    "delete-board": "Delete Board"
 }

+ 7 - 1
i18n/bg.i18n.json

@@ -468,5 +468,11 @@
     "card-end": "Завършена",
     "card-end-on": "Завършена на",
     "editCardReceivedDatePopup-title": "Промени датата на получаване",
-    "editCardEndDatePopup-title": "Промени датата на завършване"
+    "editCardEndDatePopup-title": "Промени датата на завършване",
+    "assigned-by": "Assigned By",
+    "requested-by": "Requested By",
+    "board-delete-notice": "Deleting is permanent. You will lose all lists, cards and actions associated with this board.",
+    "delete-board-confirm-popup": "All lists, cards, labels, and activities will be deleted and you won't be able to recover the board contents. There is no undo.",
+    "boardDeletePopup-title": "Delete Board?",
+    "delete-board": "Delete Board"
 }

+ 7 - 1
i18n/br.i18n.json

@@ -468,5 +468,11 @@
     "card-end": "End",
     "card-end-on": "Ends on",
     "editCardReceivedDatePopup-title": "Change received date",
-    "editCardEndDatePopup-title": "Change end date"
+    "editCardEndDatePopup-title": "Change end date",
+    "assigned-by": "Assigned By",
+    "requested-by": "Requested By",
+    "board-delete-notice": "Deleting is permanent. You will lose all lists, cards and actions associated with this board.",
+    "delete-board-confirm-popup": "All lists, cards, labels, and activities will be deleted and you won't be able to recover the board contents. There is no undo.",
+    "boardDeletePopup-title": "Delete Board?",
+    "delete-board": "Delete Board"
 }

+ 7 - 1
i18n/ca.i18n.json

@@ -468,5 +468,11 @@
     "card-end": "End",
     "card-end-on": "Ends on",
     "editCardReceivedDatePopup-title": "Change received date",
-    "editCardEndDatePopup-title": "Change end date"
+    "editCardEndDatePopup-title": "Change end date",
+    "assigned-by": "Assigned By",
+    "requested-by": "Requested By",
+    "board-delete-notice": "Deleting is permanent. You will lose all lists, cards and actions associated with this board.",
+    "delete-board-confirm-popup": "All lists, cards, labels, and activities will be deleted and you won't be able to recover the board contents. There is no undo.",
+    "boardDeletePopup-title": "Delete Board?",
+    "delete-board": "Delete Board"
 }

+ 7 - 1
i18n/cs.i18n.json

@@ -468,5 +468,11 @@
     "card-end": "Konec",
     "card-end-on": "Končí v",
     "editCardReceivedDatePopup-title": "Změnit datum přijetí",
-    "editCardEndDatePopup-title": "Změnit datum konce"
+    "editCardEndDatePopup-title": "Změnit datum konce",
+    "assigned-by": "Assigned By",
+    "requested-by": "Requested By",
+    "board-delete-notice": "Deleting is permanent. You will lose all lists, cards and actions associated with this board.",
+    "delete-board-confirm-popup": "All lists, cards, labels, and activities will be deleted and you won't be able to recover the board contents. There is no undo.",
+    "boardDeletePopup-title": "Delete Board?",
+    "delete-board": "Delete Board"
 }

+ 7 - 1
i18n/de.i18n.json

@@ -468,5 +468,11 @@
     "card-end": "Ende",
     "card-end-on": "Endet am",
     "editCardReceivedDatePopup-title": "Empfangsdatum ändern",
-    "editCardEndDatePopup-title": "Enddatum ändern"
+    "editCardEndDatePopup-title": "Enddatum ändern",
+    "assigned-by": "Assigned By",
+    "requested-by": "Requested By",
+    "board-delete-notice": "Deleting is permanent. You will lose all lists, cards and actions associated with this board.",
+    "delete-board-confirm-popup": "All lists, cards, labels, and activities will be deleted and you won't be able to recover the board contents. There is no undo.",
+    "boardDeletePopup-title": "Delete Board?",
+    "delete-board": "Delete Board"
 }

+ 7 - 1
i18n/el.i18n.json

@@ -468,5 +468,11 @@
     "card-end": "End",
     "card-end-on": "Ends on",
     "editCardReceivedDatePopup-title": "Change received date",
-    "editCardEndDatePopup-title": "Change end date"
+    "editCardEndDatePopup-title": "Change end date",
+    "assigned-by": "Assigned By",
+    "requested-by": "Requested By",
+    "board-delete-notice": "Deleting is permanent. You will lose all lists, cards and actions associated with this board.",
+    "delete-board-confirm-popup": "All lists, cards, labels, and activities will be deleted and you won't be able to recover the board contents. There is no undo.",
+    "boardDeletePopup-title": "Delete Board?",
+    "delete-board": "Delete Board"
 }

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

@@ -468,5 +468,11 @@
     "card-end": "End",
     "card-end-on": "Ends on",
     "editCardReceivedDatePopup-title": "Change received date",
-    "editCardEndDatePopup-title": "Change end date"
+    "editCardEndDatePopup-title": "Change end date",
+    "assigned-by": "Assigned By",
+    "requested-by": "Requested By",
+    "board-delete-notice": "Deleting is permanent. You will lose all lists, cards and actions associated with this board.",
+    "delete-board-confirm-popup": "All lists, cards, labels, and activities will be deleted and you won't be able to recover the board contents. There is no undo.",
+    "boardDeletePopup-title": "Delete Board?",
+    "delete-board": "Delete Board"
 }

+ 7 - 1
i18n/en.i18n.json

@@ -468,5 +468,11 @@
     "card-end": "End",
     "card-end-on": "Ends on",
     "editCardReceivedDatePopup-title": "Change received date",
-    "editCardEndDatePopup-title": "Change end date"
+    "editCardEndDatePopup-title": "Change end date",
+    "assigned-by": "Assigned By",
+    "requested-by": "Requested By",
+    "board-delete-notice": "Deleting is permanent. You will lose all lists, cards and actions associated with this board.",
+    "delete-board-confirm-popup": "All lists, cards, labels, and activities will be deleted and you won't be able to recover the board contents. There is no undo.",
+    "boardDeletePopup-title": "Delete Board?",
+    "delete-board": "Delete Board"
 }

+ 7 - 1
i18n/eo.i18n.json

@@ -468,5 +468,11 @@
     "card-end": "End",
     "card-end-on": "Ends on",
     "editCardReceivedDatePopup-title": "Change received date",
-    "editCardEndDatePopup-title": "Change end date"
+    "editCardEndDatePopup-title": "Change end date",
+    "assigned-by": "Assigned By",
+    "requested-by": "Requested By",
+    "board-delete-notice": "Deleting is permanent. You will lose all lists, cards and actions associated with this board.",
+    "delete-board-confirm-popup": "All lists, cards, labels, and activities will be deleted and you won't be able to recover the board contents. There is no undo.",
+    "boardDeletePopup-title": "Delete Board?",
+    "delete-board": "Delete Board"
 }

+ 7 - 1
i18n/es-AR.i18n.json

@@ -468,5 +468,11 @@
     "card-end": "Termino",
     "card-end-on": "Termina en",
     "editCardReceivedDatePopup-title": "Cambiar fecha de recepción",
-    "editCardEndDatePopup-title": "Cambiar fecha de término"
+    "editCardEndDatePopup-title": "Cambiar fecha de término",
+    "assigned-by": "Assigned By",
+    "requested-by": "Requested By",
+    "board-delete-notice": "Deleting is permanent. You will lose all lists, cards and actions associated with this board.",
+    "delete-board-confirm-popup": "All lists, cards, labels, and activities will be deleted and you won't be able to recover the board contents. There is no undo.",
+    "boardDeletePopup-title": "Delete Board?",
+    "delete-board": "Delete Board"
 }

+ 7 - 1
i18n/es.i18n.json

@@ -468,5 +468,11 @@
     "card-end": "Finalizado",
     "card-end-on": "Finalizado el",
     "editCardReceivedDatePopup-title": "Cambiar la fecha de recepción",
-    "editCardEndDatePopup-title": "Cambiar la fecha de finalización"
+    "editCardEndDatePopup-title": "Cambiar la fecha de finalización",
+    "assigned-by": "Assigned By",
+    "requested-by": "Requested By",
+    "board-delete-notice": "Deleting is permanent. You will lose all lists, cards and actions associated with this board.",
+    "delete-board-confirm-popup": "All lists, cards, labels, and activities will be deleted and you won't be able to recover the board contents. There is no undo.",
+    "boardDeletePopup-title": "Delete Board?",
+    "delete-board": "Delete Board"
 }

+ 7 - 1
i18n/eu.i18n.json

@@ -468,5 +468,11 @@
     "card-end": "End",
     "card-end-on": "Ends on",
     "editCardReceivedDatePopup-title": "Change received date",
-    "editCardEndDatePopup-title": "Change end date"
+    "editCardEndDatePopup-title": "Change end date",
+    "assigned-by": "Assigned By",
+    "requested-by": "Requested By",
+    "board-delete-notice": "Deleting is permanent. You will lose all lists, cards and actions associated with this board.",
+    "delete-board-confirm-popup": "All lists, cards, labels, and activities will be deleted and you won't be able to recover the board contents. There is no undo.",
+    "boardDeletePopup-title": "Delete Board?",
+    "delete-board": "Delete Board"
 }

+ 7 - 1
i18n/fa.i18n.json

@@ -468,5 +468,11 @@
     "card-end": "پایان",
     "card-end-on": "پایان در",
     "editCardReceivedDatePopup-title": "تغییر تاریخ رسید",
-    "editCardEndDatePopup-title": "تغییر تاریخ پایان"
+    "editCardEndDatePopup-title": "تغییر تاریخ پایان",
+    "assigned-by": "Assigned By",
+    "requested-by": "Requested By",
+    "board-delete-notice": "Deleting is permanent. You will lose all lists, cards and actions associated with this board.",
+    "delete-board-confirm-popup": "All lists, cards, labels, and activities will be deleted and you won't be able to recover the board contents. There is no undo.",
+    "boardDeletePopup-title": "Delete Board?",
+    "delete-board": "Delete Board"
 }

+ 7 - 1
i18n/fi.i18n.json

@@ -468,5 +468,11 @@
     "card-end": "Loppuu",
     "card-end-on": "Loppuu",
     "editCardReceivedDatePopup-title": "Vaihda vastaanottamispäivää",
-    "editCardEndDatePopup-title": "Vaihda loppumispäivää"
+    "editCardEndDatePopup-title": "Vaihda loppumispäivää",
+    "assigned-by": "Tehtävänantaja",
+    "requested-by": "Pyytäjä",
+    "board-delete-notice": "Poistaminen on lopullista. Menetät kaikki listat, kortit ja toimet tällä taululla.",
+    "delete-board-confirm-popup": "Kaikki listat, kortit, tunnisteet ja toimet poistetaan ja et pysty palauttamaan taulun sisältöä. Tätä ei voi peruuttaa.",
+    "boardDeletePopup-title": "Poista taulu?",
+    "delete-board": "Poista taulu"
 }

+ 7 - 1
i18n/fr.i18n.json

@@ -468,5 +468,11 @@
     "card-end": "Fin",
     "card-end-on": "Se termine le",
     "editCardReceivedDatePopup-title": "Changer la date de réception",
-    "editCardEndDatePopup-title": "Changer la date de fin"
+    "editCardEndDatePopup-title": "Changer la date de fin",
+    "assigned-by": "Assigned By",
+    "requested-by": "Requested By",
+    "board-delete-notice": "Deleting is permanent. You will lose all lists, cards and actions associated with this board.",
+    "delete-board-confirm-popup": "All lists, cards, labels, and activities will be deleted and you won't be able to recover the board contents. There is no undo.",
+    "boardDeletePopup-title": "Delete Board?",
+    "delete-board": "Delete Board"
 }

+ 7 - 1
i18n/gl.i18n.json

@@ -468,5 +468,11 @@
     "card-end": "End",
     "card-end-on": "Ends on",
     "editCardReceivedDatePopup-title": "Change received date",
-    "editCardEndDatePopup-title": "Change end date"
+    "editCardEndDatePopup-title": "Change end date",
+    "assigned-by": "Assigned By",
+    "requested-by": "Requested By",
+    "board-delete-notice": "Deleting is permanent. You will lose all lists, cards and actions associated with this board.",
+    "delete-board-confirm-popup": "All lists, cards, labels, and activities will be deleted and you won't be able to recover the board contents. There is no undo.",
+    "boardDeletePopup-title": "Delete Board?",
+    "delete-board": "Delete Board"
 }

+ 7 - 1
i18n/he.i18n.json

@@ -468,5 +468,11 @@
     "card-end": "סיום",
     "card-end-on": "מועד הסיום",
     "editCardReceivedDatePopup-title": "החלפת מועד הקבלה",
-    "editCardEndDatePopup-title": "החלפת מועד הסיום"
+    "editCardEndDatePopup-title": "החלפת מועד הסיום",
+    "assigned-by": "Assigned By",
+    "requested-by": "Requested By",
+    "board-delete-notice": "Deleting is permanent. You will lose all lists, cards and actions associated with this board.",
+    "delete-board-confirm-popup": "All lists, cards, labels, and activities will be deleted and you won't be able to recover the board contents. There is no undo.",
+    "boardDeletePopup-title": "Delete Board?",
+    "delete-board": "Delete Board"
 }

+ 7 - 1
i18n/hu.i18n.json

@@ -468,5 +468,11 @@
     "card-end": "Befejezés",
     "card-end-on": "Befejeződik ekkor",
     "editCardReceivedDatePopup-title": "Érkezési dátum megváltoztatása",
-    "editCardEndDatePopup-title": "Befejezési dátum megváltoztatása"
+    "editCardEndDatePopup-title": "Befejezési dátum megváltoztatása",
+    "assigned-by": "Assigned By",
+    "requested-by": "Requested By",
+    "board-delete-notice": "Deleting is permanent. You will lose all lists, cards and actions associated with this board.",
+    "delete-board-confirm-popup": "All lists, cards, labels, and activities will be deleted and you won't be able to recover the board contents. There is no undo.",
+    "boardDeletePopup-title": "Delete Board?",
+    "delete-board": "Delete Board"
 }

+ 7 - 1
i18n/hy.i18n.json

@@ -468,5 +468,11 @@
     "card-end": "End",
     "card-end-on": "Ends on",
     "editCardReceivedDatePopup-title": "Change received date",
-    "editCardEndDatePopup-title": "Change end date"
+    "editCardEndDatePopup-title": "Change end date",
+    "assigned-by": "Assigned By",
+    "requested-by": "Requested By",
+    "board-delete-notice": "Deleting is permanent. You will lose all lists, cards and actions associated with this board.",
+    "delete-board-confirm-popup": "All lists, cards, labels, and activities will be deleted and you won't be able to recover the board contents. There is no undo.",
+    "boardDeletePopup-title": "Delete Board?",
+    "delete-board": "Delete Board"
 }

+ 7 - 1
i18n/id.i18n.json

@@ -468,5 +468,11 @@
     "card-end": "End",
     "card-end-on": "Ends on",
     "editCardReceivedDatePopup-title": "Change received date",
-    "editCardEndDatePopup-title": "Change end date"
+    "editCardEndDatePopup-title": "Change end date",
+    "assigned-by": "Assigned By",
+    "requested-by": "Requested By",
+    "board-delete-notice": "Deleting is permanent. You will lose all lists, cards and actions associated with this board.",
+    "delete-board-confirm-popup": "All lists, cards, labels, and activities will be deleted and you won't be able to recover the board contents. There is no undo.",
+    "boardDeletePopup-title": "Delete Board?",
+    "delete-board": "Delete Board"
 }

+ 7 - 1
i18n/ig.i18n.json

@@ -468,5 +468,11 @@
     "card-end": "End",
     "card-end-on": "Ends on",
     "editCardReceivedDatePopup-title": "Change received date",
-    "editCardEndDatePopup-title": "Change end date"
+    "editCardEndDatePopup-title": "Change end date",
+    "assigned-by": "Assigned By",
+    "requested-by": "Requested By",
+    "board-delete-notice": "Deleting is permanent. You will lose all lists, cards and actions associated with this board.",
+    "delete-board-confirm-popup": "All lists, cards, labels, and activities will be deleted and you won't be able to recover the board contents. There is no undo.",
+    "boardDeletePopup-title": "Delete Board?",
+    "delete-board": "Delete Board"
 }

+ 7 - 1
i18n/it.i18n.json

@@ -468,5 +468,11 @@
     "card-end": "Fine",
     "card-end-on": "Termina il",
     "editCardReceivedDatePopup-title": "Cambia data ricezione",
-    "editCardEndDatePopup-title": "Cambia data finale"
+    "editCardEndDatePopup-title": "Cambia data finale",
+    "assigned-by": "Assigned By",
+    "requested-by": "Requested By",
+    "board-delete-notice": "Deleting is permanent. You will lose all lists, cards and actions associated with this board.",
+    "delete-board-confirm-popup": "All lists, cards, labels, and activities will be deleted and you won't be able to recover the board contents. There is no undo.",
+    "boardDeletePopup-title": "Delete Board?",
+    "delete-board": "Delete Board"
 }

+ 7 - 1
i18n/ja.i18n.json

@@ -468,5 +468,11 @@
     "card-end": "End",
     "card-end-on": "Ends on",
     "editCardReceivedDatePopup-title": "Change received date",
-    "editCardEndDatePopup-title": "Change end date"
+    "editCardEndDatePopup-title": "Change end date",
+    "assigned-by": "Assigned By",
+    "requested-by": "Requested By",
+    "board-delete-notice": "Deleting is permanent. You will lose all lists, cards and actions associated with this board.",
+    "delete-board-confirm-popup": "All lists, cards, labels, and activities will be deleted and you won't be able to recover the board contents. There is no undo.",
+    "boardDeletePopup-title": "Delete Board?",
+    "delete-board": "Delete Board"
 }

+ 7 - 1
i18n/ko.i18n.json

@@ -468,5 +468,11 @@
     "card-end": "End",
     "card-end-on": "Ends on",
     "editCardReceivedDatePopup-title": "Change received date",
-    "editCardEndDatePopup-title": "Change end date"
+    "editCardEndDatePopup-title": "Change end date",
+    "assigned-by": "Assigned By",
+    "requested-by": "Requested By",
+    "board-delete-notice": "Deleting is permanent. You will lose all lists, cards and actions associated with this board.",
+    "delete-board-confirm-popup": "All lists, cards, labels, and activities will be deleted and you won't be able to recover the board contents. There is no undo.",
+    "boardDeletePopup-title": "Delete Board?",
+    "delete-board": "Delete Board"
 }

+ 7 - 1
i18n/lv.i18n.json

@@ -468,5 +468,11 @@
     "card-end": "End",
     "card-end-on": "Ends on",
     "editCardReceivedDatePopup-title": "Change received date",
-    "editCardEndDatePopup-title": "Change end date"
+    "editCardEndDatePopup-title": "Change end date",
+    "assigned-by": "Assigned By",
+    "requested-by": "Requested By",
+    "board-delete-notice": "Deleting is permanent. You will lose all lists, cards and actions associated with this board.",
+    "delete-board-confirm-popup": "All lists, cards, labels, and activities will be deleted and you won't be able to recover the board contents. There is no undo.",
+    "boardDeletePopup-title": "Delete Board?",
+    "delete-board": "Delete Board"
 }

+ 7 - 1
i18n/mn.i18n.json

@@ -468,5 +468,11 @@
     "card-end": "End",
     "card-end-on": "Ends on",
     "editCardReceivedDatePopup-title": "Change received date",
-    "editCardEndDatePopup-title": "Change end date"
+    "editCardEndDatePopup-title": "Change end date",
+    "assigned-by": "Assigned By",
+    "requested-by": "Requested By",
+    "board-delete-notice": "Deleting is permanent. You will lose all lists, cards and actions associated with this board.",
+    "delete-board-confirm-popup": "All lists, cards, labels, and activities will be deleted and you won't be able to recover the board contents. There is no undo.",
+    "boardDeletePopup-title": "Delete Board?",
+    "delete-board": "Delete Board"
 }

+ 7 - 1
i18n/nb.i18n.json

@@ -468,5 +468,11 @@
     "card-end": "End",
     "card-end-on": "Ends on",
     "editCardReceivedDatePopup-title": "Change received date",
-    "editCardEndDatePopup-title": "Change end date"
+    "editCardEndDatePopup-title": "Change end date",
+    "assigned-by": "Assigned By",
+    "requested-by": "Requested By",
+    "board-delete-notice": "Deleting is permanent. You will lose all lists, cards and actions associated with this board.",
+    "delete-board-confirm-popup": "All lists, cards, labels, and activities will be deleted and you won't be able to recover the board contents. There is no undo.",
+    "boardDeletePopup-title": "Delete Board?",
+    "delete-board": "Delete Board"
 }

+ 7 - 1
i18n/nl.i18n.json

@@ -468,5 +468,11 @@
     "card-end": "End",
     "card-end-on": "Ends on",
     "editCardReceivedDatePopup-title": "Change received date",
-    "editCardEndDatePopup-title": "Change end date"
+    "editCardEndDatePopup-title": "Change end date",
+    "assigned-by": "Assigned By",
+    "requested-by": "Requested By",
+    "board-delete-notice": "Deleting is permanent. You will lose all lists, cards and actions associated with this board.",
+    "delete-board-confirm-popup": "All lists, cards, labels, and activities will be deleted and you won't be able to recover the board contents. There is no undo.",
+    "boardDeletePopup-title": "Delete Board?",
+    "delete-board": "Delete Board"
 }

+ 7 - 1
i18n/pl.i18n.json

@@ -468,5 +468,11 @@
     "card-end": "End",
     "card-end-on": "Ends on",
     "editCardReceivedDatePopup-title": "Change received date",
-    "editCardEndDatePopup-title": "Change end date"
+    "editCardEndDatePopup-title": "Change end date",
+    "assigned-by": "Assigned By",
+    "requested-by": "Requested By",
+    "board-delete-notice": "Deleting is permanent. You will lose all lists, cards and actions associated with this board.",
+    "delete-board-confirm-popup": "All lists, cards, labels, and activities will be deleted and you won't be able to recover the board contents. There is no undo.",
+    "boardDeletePopup-title": "Delete Board?",
+    "delete-board": "Delete Board"
 }

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

@@ -468,5 +468,11 @@
     "card-end": "Fim",
     "card-end-on": "Termina em",
     "editCardReceivedDatePopup-title": "Modificar data de recebimento",
-    "editCardEndDatePopup-title": "Mudar data de fim"
+    "editCardEndDatePopup-title": "Mudar data de fim",
+    "assigned-by": "Assigned By",
+    "requested-by": "Requested By",
+    "board-delete-notice": "Deleting is permanent. You will lose all lists, cards and actions associated with this board.",
+    "delete-board-confirm-popup": "All lists, cards, labels, and activities will be deleted and you won't be able to recover the board contents. There is no undo.",
+    "boardDeletePopup-title": "Delete Board?",
+    "delete-board": "Delete Board"
 }

+ 7 - 1
i18n/pt.i18n.json

@@ -468,5 +468,11 @@
     "card-end": "End",
     "card-end-on": "Ends on",
     "editCardReceivedDatePopup-title": "Change received date",
-    "editCardEndDatePopup-title": "Change end date"
+    "editCardEndDatePopup-title": "Change end date",
+    "assigned-by": "Assigned By",
+    "requested-by": "Requested By",
+    "board-delete-notice": "Deleting is permanent. You will lose all lists, cards and actions associated with this board.",
+    "delete-board-confirm-popup": "All lists, cards, labels, and activities will be deleted and you won't be able to recover the board contents. There is no undo.",
+    "boardDeletePopup-title": "Delete Board?",
+    "delete-board": "Delete Board"
 }

+ 7 - 1
i18n/ro.i18n.json

@@ -468,5 +468,11 @@
     "card-end": "End",
     "card-end-on": "Ends on",
     "editCardReceivedDatePopup-title": "Change received date",
-    "editCardEndDatePopup-title": "Change end date"
+    "editCardEndDatePopup-title": "Change end date",
+    "assigned-by": "Assigned By",
+    "requested-by": "Requested By",
+    "board-delete-notice": "Deleting is permanent. You will lose all lists, cards and actions associated with this board.",
+    "delete-board-confirm-popup": "All lists, cards, labels, and activities will be deleted and you won't be able to recover the board contents. There is no undo.",
+    "boardDeletePopup-title": "Delete Board?",
+    "delete-board": "Delete Board"
 }

+ 7 - 1
i18n/ru.i18n.json

@@ -468,5 +468,11 @@
     "card-end": "Дата окончания",
     "card-end-on": "Завершится до",
     "editCardReceivedDatePopup-title": "Изменить дату получения",
-    "editCardEndDatePopup-title": "Изменить дату завершения"
+    "editCardEndDatePopup-title": "Изменить дату завершения",
+    "assigned-by": "Assigned By",
+    "requested-by": "Requested By",
+    "board-delete-notice": "Deleting is permanent. You will lose all lists, cards and actions associated with this board.",
+    "delete-board-confirm-popup": "All lists, cards, labels, and activities will be deleted and you won't be able to recover the board contents. There is no undo.",
+    "boardDeletePopup-title": "Delete Board?",
+    "delete-board": "Delete Board"
 }

+ 7 - 1
i18n/sr.i18n.json

@@ -468,5 +468,11 @@
     "card-end": "End",
     "card-end-on": "Ends on",
     "editCardReceivedDatePopup-title": "Change received date",
-    "editCardEndDatePopup-title": "Change end date"
+    "editCardEndDatePopup-title": "Change end date",
+    "assigned-by": "Assigned By",
+    "requested-by": "Requested By",
+    "board-delete-notice": "Deleting is permanent. You will lose all lists, cards and actions associated with this board.",
+    "delete-board-confirm-popup": "All lists, cards, labels, and activities will be deleted and you won't be able to recover the board contents. There is no undo.",
+    "boardDeletePopup-title": "Delete Board?",
+    "delete-board": "Delete Board"
 }

+ 12 - 6
i18n/sv.i18n.json

@@ -68,16 +68,16 @@
     "app-is-offline": "Wekan laddar, vänta. Uppdatering av sidan kommer att leda till förlust av data. Om Wekan inte laddas, kontrollera att Wekan-servern inte har stoppats.",
     "archive": "Flytta till papperskorgen",
     "archive-all": "Flytta alla till papperskorgen",
-    "archive-board": "Move Board to Recycle Bin",
+    "archive-board": "Flytta anslagstavla till papperskorgen",
     "archive-card": "Flytta kort till papperskorgen",
     "archive-list": "Flytta lista till papperskorgen",
     "archive-swimlane": "Flytta simbana till papperskorgen",
     "archive-selection": "Flytta val till papperskorgen",
-    "archiveBoardPopup-title": "Move Board to Recycle Bin?",
+    "archiveBoardPopup-title": "Flytta anslagstavla till papperskorgen?",
     "archived-items": "Papperskorgen",
-    "archived-boards": "Boards in Recycle Bin",
+    "archived-boards": "Anslagstavlor i papperskorgen",
     "restore-board": "Återställ anslagstavla",
-    "no-archived-boards": "No Boards in Recycle Bin.",
+    "no-archived-boards": "Inga anslagstavlor i papperskorgen",
     "archives": "Papperskorgen",
     "assign-member": "Tilldela medlem",
     "attached": "bifogad",
@@ -292,7 +292,7 @@
     "list-move-cards": "Flytta alla kort i denna lista",
     "list-select-cards": "Välj alla kort i denna lista",
     "listActionPopup-title": "Liståtgärder",
-    "swimlaneActionPopup-title": "Simbana åtgärder",
+    "swimlaneActionPopup-title": "Simbana-åtgärder",
     "listImportCardPopup-title": "Importera ett Trello kort",
     "listMorePopup-title": "Mera",
     "link-list": "Länk till den här listan",
@@ -468,5 +468,11 @@
     "card-end": "Slut",
     "card-end-on": "Slutar den",
     "editCardReceivedDatePopup-title": "Ändra mottagningsdatum",
-    "editCardEndDatePopup-title": "Ändra slutdatum"
+    "editCardEndDatePopup-title": "Ändra slutdatum",
+    "assigned-by": "Assigned By",
+    "requested-by": "Requested By",
+    "board-delete-notice": "Deleting is permanent. You will lose all lists, cards and actions associated with this board.",
+    "delete-board-confirm-popup": "All lists, cards, labels, and activities will be deleted and you won't be able to recover the board contents. There is no undo.",
+    "boardDeletePopup-title": "Delete Board?",
+    "delete-board": "Delete Board"
 }

+ 7 - 1
i18n/ta.i18n.json

@@ -468,5 +468,11 @@
     "card-end": "End",
     "card-end-on": "Ends on",
     "editCardReceivedDatePopup-title": "Change received date",
-    "editCardEndDatePopup-title": "Change end date"
+    "editCardEndDatePopup-title": "Change end date",
+    "assigned-by": "Assigned By",
+    "requested-by": "Requested By",
+    "board-delete-notice": "Deleting is permanent. You will lose all lists, cards and actions associated with this board.",
+    "delete-board-confirm-popup": "All lists, cards, labels, and activities will be deleted and you won't be able to recover the board contents. There is no undo.",
+    "boardDeletePopup-title": "Delete Board?",
+    "delete-board": "Delete Board"
 }

+ 7 - 1
i18n/th.i18n.json

@@ -468,5 +468,11 @@
     "card-end": "End",
     "card-end-on": "Ends on",
     "editCardReceivedDatePopup-title": "Change received date",
-    "editCardEndDatePopup-title": "Change end date"
+    "editCardEndDatePopup-title": "Change end date",
+    "assigned-by": "Assigned By",
+    "requested-by": "Requested By",
+    "board-delete-notice": "Deleting is permanent. You will lose all lists, cards and actions associated with this board.",
+    "delete-board-confirm-popup": "All lists, cards, labels, and activities will be deleted and you won't be able to recover the board contents. There is no undo.",
+    "boardDeletePopup-title": "Delete Board?",
+    "delete-board": "Delete Board"
 }

+ 7 - 1
i18n/tr.i18n.json

@@ -468,5 +468,11 @@
     "card-end": "Bitiş",
     "card-end-on": "Bitiş zamanı",
     "editCardReceivedDatePopup-title": "Giriş tarihini değiştir",
-    "editCardEndDatePopup-title": "Bitiş tarihini değiştir"
+    "editCardEndDatePopup-title": "Bitiş tarihini değiştir",
+    "assigned-by": "Assigned By",
+    "requested-by": "Requested By",
+    "board-delete-notice": "Deleting is permanent. You will lose all lists, cards and actions associated with this board.",
+    "delete-board-confirm-popup": "All lists, cards, labels, and activities will be deleted and you won't be able to recover the board contents. There is no undo.",
+    "boardDeletePopup-title": "Delete Board?",
+    "delete-board": "Delete Board"
 }

+ 7 - 1
i18n/uk.i18n.json

@@ -468,5 +468,11 @@
     "card-end": "End",
     "card-end-on": "Ends on",
     "editCardReceivedDatePopup-title": "Change received date",
-    "editCardEndDatePopup-title": "Change end date"
+    "editCardEndDatePopup-title": "Change end date",
+    "assigned-by": "Assigned By",
+    "requested-by": "Requested By",
+    "board-delete-notice": "Deleting is permanent. You will lose all lists, cards and actions associated with this board.",
+    "delete-board-confirm-popup": "All lists, cards, labels, and activities will be deleted and you won't be able to recover the board contents. There is no undo.",
+    "boardDeletePopup-title": "Delete Board?",
+    "delete-board": "Delete Board"
 }

+ 7 - 1
i18n/vi.i18n.json

@@ -468,5 +468,11 @@
     "card-end": "End",
     "card-end-on": "Ends on",
     "editCardReceivedDatePopup-title": "Change received date",
-    "editCardEndDatePopup-title": "Change end date"
+    "editCardEndDatePopup-title": "Change end date",
+    "assigned-by": "Assigned By",
+    "requested-by": "Requested By",
+    "board-delete-notice": "Deleting is permanent. You will lose all lists, cards and actions associated with this board.",
+    "delete-board-confirm-popup": "All lists, cards, labels, and activities will be deleted and you won't be able to recover the board contents. There is no undo.",
+    "boardDeletePopup-title": "Delete Board?",
+    "delete-board": "Delete Board"
 }

+ 7 - 1
i18n/zh-CN.i18n.json

@@ -468,5 +468,11 @@
     "card-end": "终止",
     "card-end-on": "终止于",
     "editCardReceivedDatePopup-title": "修改接收日期",
-    "editCardEndDatePopup-title": "修改终止日期"
+    "editCardEndDatePopup-title": "修改终止日期",
+    "assigned-by": "Assigned By",
+    "requested-by": "Requested By",
+    "board-delete-notice": "Deleting is permanent. You will lose all lists, cards and actions associated with this board.",
+    "delete-board-confirm-popup": "All lists, cards, labels, and activities will be deleted and you won't be able to recover the board contents. There is no undo.",
+    "boardDeletePopup-title": "Delete Board?",
+    "delete-board": "Delete Board"
 }

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

@@ -468,5 +468,11 @@
     "card-end": "End",
     "card-end-on": "Ends on",
     "editCardReceivedDatePopup-title": "Change received date",
-    "editCardEndDatePopup-title": "Change end date"
+    "editCardEndDatePopup-title": "Change end date",
+    "assigned-by": "Assigned By",
+    "requested-by": "Requested By",
+    "board-delete-notice": "Deleting is permanent. You will lose all lists, cards and actions associated with this board.",
+    "delete-board-confirm-popup": "All lists, cards, labels, and activities will be deleted and you won't be able to recover the board contents. There is no undo.",
+    "boardDeletePopup-title": "Delete Board?",
+    "delete-board": "Delete Board"
 }

+ 3 - 0
models/boards.js

@@ -94,6 +94,9 @@ Boards.attachSchema(new SimpleSchema({
     allowedValues: [
       'green', 'yellow', 'orange', 'red', 'purple',
       'blue', 'sky', 'lime', 'pink', 'black',
+      'silver', 'peachpuff', 'crimson', 'plum', 'darkgreen',
+      'slateblue', 'magenta', 'gold', 'navy', 'gray',
+      'saddlebrown', 'paleturquoise', 'mistyrose', 'indigo',
     ],
   },
   // XXX We might want to maintain more informations under the member sub-

+ 16 - 0
models/cards.js

@@ -66,6 +66,14 @@ Cards.attachSchema(new SimpleSchema({
     type: String,
     optional: true,
   },
+  requestedBy: {
+    type: String,
+    optional: true,
+  },
+  assignedBy: {
+    type: String,
+    optional: true,
+  },
   labelIds: {
     type: [String],
     optional: true,
@@ -268,6 +276,14 @@ Cards.mutations({
     return {$set: {description}};
   },
 
+  setRequestedBy(requestedBy) {
+    return {$set: {requestedBy}};
+  },
+
+  setAssignedBy(assignedBy) {
+    return {$set: {assignedBy}};
+  },
+
   move(swimlaneId, listId, sortIndex) {
     const list = Lists.findOne(listId);
     const mutatedFields = {

+ 25 - 0
server/migrations.js

@@ -233,3 +233,28 @@ Migrations.add('add-custom-fields-to-cards', () => {
     },
   }, noValidateMulti);
 });
+
+Migrations.add('add-requester-field', () => {
+  Cards.update({
+    requestedBy: {
+      $exists: false,
+    },
+  }, {
+    $set: {
+      requestedBy:'',
+    },
+  }, noValidateMulti);
+});
+
+Migrations.add('add-assigner-field', () => {
+  Cards.update({
+    assignedBy: {
+      $exists: false,
+    },
+  }, {
+    $set: {
+      assignedBy:'',
+    },
+  }, noValidateMulti);
+});
+