Fix: transfert de contenants
Le transfert de contenants faisait une copie et perdait les rangements à cause de l'utilisation de _id
This commit is contained in:
parent
1fdfa6a834
commit
806d44522d
@ -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();
|
||||
|
Loading…
Reference in New Issue
Block a user