diff options
author | Thomas Liske <thomas@fiasko-nw.net> | 2019-10-06 22:53:43 +0200 |
---|---|---|
committer | Thomas Liske <thomas@fiasko-nw.net> | 2019-10-06 22:53:43 +0200 |
commit | 72b22a73b68dd86c84bacee9fb407c555e63248f (patch) | |
tree | 54a7f65ef11347dc34b9dd6cc22cf7dddbba53c3 | |
parent | 4d30503cb5176228e6ccc446fed61118734df3d1 (diff) | |
download | wekan-72b22a73b68dd86c84bacee9fb407c555e63248f.tar.gz wekan-72b22a73b68dd86c84bacee9fb407c555e63248f.tar.bz2 wekan-72b22a73b68dd86c84bacee9fb407c555e63248f.zip |
REST API: fix creation of Checklists (closes wekan/wekan#2746)
-rw-r--r-- | models/checklists.js | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/models/checklists.js b/models/checklists.js index 7ad9cae5..3b50cda6 100644 --- a/models/checklists.js +++ b/models/checklists.js @@ -276,6 +276,7 @@ if (Meteor.isServer) { * @param {string} boardId the board ID * @param {string} cardId the card ID * @param {string} title the title of the new checklist + * @param {string} [items] the list of items on the new checklist * @return_type {_id: string} */ JsonRoutes.add( @@ -291,11 +292,19 @@ if (Meteor.isServer) { sort: 0, }); if (id) { - req.body.items.forEach(function(item, idx) { + let items = req.body.items || []; + if (_.isString(items)) { + if (items === '') { + items = []; + } else { + items = [items]; + } + } + items.forEach(function(item, idx) { ChecklistItems.insert({ cardId: paramCardId, checklistId: id, - title: item.title, + title: item, sort: idx, }); }); |