From 806d44522d4f3d1599258467b5b0814cd29a6dc4 Mon Sep 17 00:00:00 2001 From: Vincent Vandemeulebrouck Date: Sat, 23 Apr 2022 00:26:56 +0200 Subject: [PATCH] Fix: transfert de contenants MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Le transfert de contenants faisait une copie et perdait les rangements à cause de l'utilisation de _id --- module/actor.js | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/module/actor.js b/module/actor.js index aa5a01ac..f90ebffc 100644 --- a/module/actor.js +++ b/module/actor.js @@ -1251,17 +1251,12 @@ export class RdDActor extends Actor { itemsList.push({ id: itemId, conteneurId: undefined }); // Init list sourceActor.buildSubConteneurObjetList(itemId, itemsList); // Get itemId list - let itemMap = {}; const itemsDataToCreate = itemsList.map(it => sourceActor.getObjet(it.id)) .map(it => duplicate(Misc.data(it))) .map(it => { it.data.contenu = []; return it; }); let newItems = await this.createEmbeddedDocuments('Item', itemsDataToCreate); - for (let i = 0; i < itemsList.length; i++) { - const srcItem = itemsList[i]; - const newItem = newItems[i]; - console.log('New object', newItem, srcItem); - itemMap[srcItem.id] = newItem._id; // Pour garder le lien ancien / nouveau - } + + let itemMap = this._buildMapOldNewId(itemsList, newItems); for (let item of itemsList) { // Second boucle pour traiter la remise en conteneurs // gestion conteneur/contenu @@ -1282,6 +1277,14 @@ export class RdDActor extends Actor { } } + _buildMapOldNewId(itemsList, newItems) { + let itemMap = {}; + for (let i = 0; i < itemsList.length; i++) { + itemMap[itemsList[i].id] = newItems[i].id; // Pour garder le lien ancien / nouveau + } + return itemMap; + } + async regrouperEquipementsSimilaires(item, dest) { await dest.quantiteIncDec(Misc.templateData(item).quantite); await item.delete();