diff --git a/src/order/OrderEditor.js b/src/order/OrderEditor.js index 66d263f39af548cb00413eb7befcbd43dc1dccf3..246f399b954dc2474df7a44c6abd475b1144bb8b 100644 --- a/src/order/OrderEditor.js +++ b/src/order/OrderEditor.js @@ -6,9 +6,10 @@ import { date2string, time2string, daysAfterNow } from "../util"; function order2picks(order) { return order.products.map((p) => { + const name = p.product !== null ? p.product.name : p.code; return { code: p.code, - name: p.product.name, + name: name, price: p.price, }; }); diff --git a/src/order/ShowOrder.js b/src/order/ShowOrder.js index 72d8c40ed204fb610423142b86fb5bcc45520557..75e3e11ee3c5e8a372c034eec060652385e2dae0 100644 --- a/src/order/ShowOrder.js +++ b/src/order/ShowOrder.js @@ -16,10 +16,17 @@ import { printDate } from "../util"; import AuthContext from "../AuthContext"; import { printMoney, url } from "../util"; +function getName(order_product) { + if (order_product.product !== null) { + return order_product.product.name; + } + return order_product.code; +} + function ShowOrderTransaction(props) { const list = props.transaction.order_purchase.map((o) => ( <li key={o.order_product.code}> - {o.order_product.product.name} ({o.order_product.code}): {o.amount} + {getName(o.order_product)} ({o.order_product.code}): {o.amount} </li> )); return ( @@ -48,7 +55,7 @@ function ShowOrderResults(props) { t.member.num.toString() + "-" + purchase.order_product_id.toString(); return ( <li key={key}> - {products[i].product.name} {purchase.amount} + {getName(products[i])} {purchase.amount} </li> ); } @@ -64,7 +71,7 @@ function ShowOrderResults(props) { const product_list = products.map((p) => ( <li key={p.code}> - {p.product.name}: {p.total} + {getName(p)}: {p.total} </li> )); return ( diff --git a/src/purchase/ShowPurchase.js b/src/purchase/ShowPurchase.js index 634cb75054358d59aaccda424fd228d5df6ec206..d1239676f171895c9feeb9b3fac08ddd228f5bbd 100644 --- a/src/purchase/ShowPurchase.js +++ b/src/purchase/ShowPurchase.js @@ -7,7 +7,7 @@ function ShowPurchase(props) { return ( <tr key={p.code}> <td>{p.code}</td> - <td>{p.product.name}</td> + <td>{p.product !== null ? p.product.name : p.code}</td> <td>{printMoney(p.price) + " €"}</td> <td>{p.amount}</td> </tr> diff --git a/src/transaction/TransactionTr.js b/src/transaction/TransactionTr.js index 8cffa391240eed26ff06ab9bb302c680df9657d6..ee5d5b8e1271487697800b12b739d07f01daffff 100644 --- a/src/transaction/TransactionTr.js +++ b/src/transaction/TransactionTr.js @@ -8,7 +8,10 @@ function transactionOverlay(transaction) { switch (transaction.type) { case "purchase": title = "compra"; - content = transaction.purchase.map((p) => p.product.name).join(",") + "."; + content = + transaction.purchase + .map((p) => (p.product !== null ? p.product.name : p.code)) + .join(",") + "."; break; case "topup": if (transaction.total < 0) { @@ -21,9 +24,13 @@ function transactionOverlay(transaction) { case "order": title = "pedido de " + transaction.order.name; content = transaction.order_purchase.map((p) => { + const name = + p.order_product.product !== null + ? p.order_product.product.name + : p.order_product.code; return ( <div key={"O" + transaction.ID + "-" + p.order_product.ID}> - {p.order_product.product.name + ": " + p.amount} + {name + ": " + p.amount} <br /> </div> );