Import from Trello fails if the board has a loose checklist
Impacted version: 0.39
Server Setup Information:
- Operating System: Ubuntu 16.04
- Deployment Method: snap
- ROOT_URL environment variable (Is there a subfolder?): http://localhost:5000
Steps to reproduce:
- Create a board in Trello.
- Create a list in the board.
- Create a card in the list.
- Create a checklist in the card.
- Archive the list.
- Copy the board.
- Export the new copy as JSON.
- In Wekan, initiate a Trello import.
- Map the user.
What I expect to happen:
For the board to be imported in Wekan.
What happens:
The importer reports a ’400’. journalctl -u snap.wekan.wekan.service
reports
Exception while invoking method 'importBoard' Error: Card id is required
at getErrorObject (packages/aldeed_collection2-core.js:480:15)
at [object Object].doValidate (packages/aldeed_collection2-core.js:462:13)
at [object Object].Mongo.Collection.(anonymous function) [as insert] (packages/aldeed_collection2-core.js:214:25)
at packages/matb33_collection-hooks.js:127:46
at [object Object]._.extend.withValue (packages/meteor.js:1122:17)
at Object.directOp (packages/matb33_collection-hooks.js:47:27)
at Object.self.direct.(anonymous function) [as insert] (packages/matb33_collection-hooks.js:126:30)
at models/trelloCreator.js:408:45
at Array.forEach (native)
at TrelloCreator.createChecklists (models/trelloCreator.js:400:22)
at TrelloCreator.create (models/trelloCreator.js:608:10)
at [object Object].Meteor.methods.importBoard (models/import.js:27:20)
at packages/check.js:130:16
at [object Object]._.extend.withValue (packages/meteor.js:1122:17)
at Object.exports.Match._failIfArgumentsAreNotAllChecked (packages/check.js:129:41)
at maybeAuditArgumentChecks (packages/ddp-server/livedata_server.js:1734:18)
Sanitized and reported to the client as: Card id is required [400]
I’m attaching the failing JSON.
To be fair, I think the blame here mostly lies with Trello: it does not preserve archived lists when copying a board (you won’t find them from archived lists view in the copy), but for some reason it does carry the checklists contained in those lists over, and they then pop up in the export file.
Wekan’s ”Card id is required” error is slightly misleading here though: I think the problem isn’t a missing card ID, but the fact that the parent card referenced by the checklist does not come with the export.