From 9ca9ea6eaaad6f5a6fbfd5cf5c021565fe47ebfd Mon Sep 17 00:00:00 2001 From: Surya Paolo Date: Sun, 11 Feb 2024 16:33:00 +0100 Subject: [PATCH] - aggiungo campo "sfuso" - aggiunto totale al carrello --- .env.dev.pcb | 4 ++-- .env.development | 4 ++-- emails/ecommerce/makeorder/it/html.pug | 2 +- .../order_confirmed/it/html consegnato.pug | 2 +- emails/ecommerce/order_confirmed/it/html.pug | 2 +- emails/ecommerce/order_consegnato/it/html.pug | 2 +- src/server/models/order.js | 4 ++++ src/server/models/orderscart.js | 8 +++++--- src/server/models/productInfo.js | 3 +++ src/server/modules/Cart.js | 1 + src/server/populate/sectorgoods.js | 1 + src/server/router/admin_router.js | 13 ++++++++----- src/server/telegram/telegrambot.js | 11 ++++++++++- src/server/tools/shared_nodejs.js | 1 + 14 files changed, 41 insertions(+), 17 deletions(-) diff --git a/.env.dev.pcb b/.env.dev.pcb index 4e08963..61bd7e9 100644 --- a/.env.dev.pcb +++ b/.env.dev.pcb @@ -4,8 +4,8 @@ PDB=mypassword@1A SEND_EMAIL=0 SEND_EMAIL_ORDERS=1 PORT=3000 -appTelegram_TEST=["1","13"] -appTelegram=["1","13"] +appTelegram_TEST=["1","17"] +appTelegram=["1","17"] DOMAIN=mongodb://localhost:27017/ AUTH_MONGODB=true MONGODB_USER=admin diff --git a/.env.development b/.env.development index 4e08963..61bd7e9 100644 --- a/.env.development +++ b/.env.development @@ -4,8 +4,8 @@ PDB=mypassword@1A SEND_EMAIL=0 SEND_EMAIL_ORDERS=1 PORT=3000 -appTelegram_TEST=["1","13"] -appTelegram=["1","13"] +appTelegram_TEST=["1","17"] +appTelegram=["1","17"] DOMAIN=mongodb://localhost:27017/ AUTH_MONGODB=true MONGODB_USER=admin diff --git a/emails/ecommerce/makeorder/it/html.pug b/emails/ecommerce/makeorder/it/html.pug index 7700533..3d025d1 100755 --- a/emails/ecommerce/makeorder/it/html.pug +++ b/emails/ecommerce/makeorder/it/html.pug @@ -67,7 +67,7 @@ html - var img = rec.order.product.productInfo.img - var price = rec.order.price - var after_price = rec.order.after_price - - var TotalPriceProduct = rec.order.TotalPriceProduct + - var TotalPriceProduct = rec.order.TotalPriceProductstr if (rec.order.gasordine) - var gasordine = rec.order.gasordine.name else diff --git a/emails/ecommerce/order_confirmed/it/html consegnato.pug b/emails/ecommerce/order_confirmed/it/html consegnato.pug index 1f0a1d0..b8b5e74 100755 --- a/emails/ecommerce/order_confirmed/it/html consegnato.pug +++ b/emails/ecommerce/order_confirmed/it/html consegnato.pug @@ -65,7 +65,7 @@ html - var gasordine = '' - var qty = rec.order.product.quantity - var qtypreordered = rec.order.quantitypreordered - - var TotalPriceProduct = rec.order.TotalPriceProduct + - var TotalPriceProduct = rec.order.TotalPriceProductstr - index = index + 1 table(cellpadding="0", cellspacing="0", width="100%", summary="", border="0", align="center") diff --git a/emails/ecommerce/order_confirmed/it/html.pug b/emails/ecommerce/order_confirmed/it/html.pug index 6243290..ba511b3 100755 --- a/emails/ecommerce/order_confirmed/it/html.pug +++ b/emails/ecommerce/order_confirmed/it/html.pug @@ -72,7 +72,7 @@ html - var qty = rec.order.product.quantity - var qtypreordered = rec.order.quantitypreordered - var unit = rec.order.product.productInfo.unitstr - - var TotalPriceProduct = rec.order.TotalPriceProduct + - var TotalPriceProduct = rec.order.TotalPriceProductstr - index = index + 1 table(cellpadding="0", cellspacing="0", width="100%", summary="", border="0", align="center") diff --git a/emails/ecommerce/order_consegnato/it/html.pug b/emails/ecommerce/order_consegnato/it/html.pug index 087ee1a..964062b 100755 --- a/emails/ecommerce/order_consegnato/it/html.pug +++ b/emails/ecommerce/order_consegnato/it/html.pug @@ -71,7 +71,7 @@ html - var qty = rec.order.product.quantity - var qtypreordered = rec.order.quantitypreordered - var unit = rec.order.product.productInfo.unitstr - - var TotalPriceProduct = rec.order.TotalPriceProduct + - var TotalPriceProduct = rec.order.TotalPriceProductstr - index = index + 1 table(cellpadding="0", cellspacing="0", width="100%", summary="", border="0", align="center") diff --git a/src/server/models/order.js b/src/server/models/order.js index 97b11b5..c0f552d 100755 --- a/src/server/models/order.js +++ b/src/server/models/order.js @@ -54,6 +54,9 @@ const orderSchema = new Schema({ type: Number, default: 0, }, + TotalPriceProductstr: { + type: String, + }, TotalPriceProductCalc: { type: Number, default: 0, @@ -362,6 +365,7 @@ module.exports.updateTotals = function (order) { order.TotalPriceProductCalc += mypricecalc; order.TotalPriceProduct += mypricecalc; + order.TotalPriceProductstr = parseFloat(order.TotalPriceProduct.toFixed(2)); return order; diff --git a/src/server/models/orderscart.js b/src/server/models/orderscart.js index b8a4bd0..3d1a13f 100755 --- a/src/server/models/orderscart.js +++ b/src/server/models/orderscart.js @@ -919,10 +919,12 @@ module.exports.getmsgorderTelegram = async function (ordersCart) { if (ord.order.quantitypreordered > 0) qtynum += ord.order.quantitypreordered; - // if (ord.order.product.productInfo.weight) - // qtynum *= ord.order.product.productInfo.weight; + if (ord.order.product.productInfo.sfuso && ord.order.product.productInfo.weight) + qtyrisult = qtynum * ord.order.product.productInfo.weight; + else + qtyrisult = qtynum + ' x ' + ord.order.product.productInfo.weight; - qtystr += qtynum + ' ' + tools.getUnitsMeasure(ord.order.product.productInfo.unit, true); + qtystr += qtyrisult + ' ' + tools.getUnitsMeasure(ord.order.product.productInfo.unit, true); if (ord.order.quantitypreordered > 0) qtystr += ' Pre-Ordinati'; diff --git a/src/server/models/productInfo.js b/src/server/models/productInfo.js index 11b66f5..49051c7 100755 --- a/src/server/models/productInfo.js +++ b/src/server/models/productInfo.js @@ -58,6 +58,9 @@ const productInfoSchema = new Schema({ type: Number, default: 0, }, + sfuso: { // serve se moltiplicare le qta (es: 12 kg) oppure fare (2 x 20 ml) + type: Boolean + }, vegan: { type: Boolean }, diff --git a/src/server/modules/Cart.js b/src/server/modules/Cart.js index bc53719..b39ca85 100755 --- a/src/server/modules/Cart.js +++ b/src/server/modules/Cart.js @@ -254,6 +254,7 @@ class Cart { order.TotalPriceProductCalc += mypricecalc; if (updatecalcprice) { order.TotalPriceProduct += mypricecalc; + order.TotalPriceProductstr = parseFloat(order.TotalPriceProduct.toFixed(2)); } // Qui lo calcolo sempre, anche se lo cambio manualmente diff --git a/src/server/populate/sectorgoods.js b/src/server/populate/sectorgoods.js index 8acce99..6de6068 100644 --- a/src/server/populate/sectorgoods.js +++ b/src/server/populate/sectorgoods.js @@ -17,6 +17,7 @@ module.exports = { {_id: 15, descr: 'Sport'}, {_id: 16, descr: 'Un po\' di Tutto'}, {_id: 17, descr: 'Attrezzature'}, + {_id: 18, descr: 'Animali'}, ], }; diff --git a/src/server/router/admin_router.js b/src/server/router/admin_router.js index ddd1063..64e9704 100755 --- a/src/server/router/admin_router.js +++ b/src/server/router/admin_router.js @@ -151,8 +151,11 @@ function extractArrayDataFromCSV(idapp, rec) { arrcampi_product = getValoriAndIndice_Product(null); for (const campoobj of arrcampi_productInfo) { - if (rec.hasOwnProperty(campoobj)) - productInfo[campoobj] = rec[campoobj]; + if (rec.hasOwnProperty(campoobj)) { + let myval = rec[campoobj]; + productInfo[campoobj] = myval === 'TRUE' ? true : (myval === 'FALSE' ? false : myval); + } + } for (const campoobj of arrcampi_product) { @@ -375,9 +378,9 @@ router.post('/import', authenticate, async (req, res) => { } } else if (cmd === shared_consts.Cmd.PRODUCTS_V2) { - - let arrrec = JSON.parse(`[${data.arrdata}]`); - + let mydata = `[${data.arrdata}]`; + let cleanmydata = mydata.replace(/\n/g, ''); + let arrrec = JSON.parse(cleanmydata); let updated = 0; let imported = 0; let errors = 0; diff --git a/src/server/telegram/telegrambot.js b/src/server/telegram/telegrambot.js index 998c675..f7cd24e 100755 --- a/src/server/telegram/telegrambot.js +++ b/src/server/telegram/telegrambot.js @@ -712,7 +712,7 @@ const MyTelegramBot = { arrTeleg = appTelegram; } if (process.env.NODE_ENV === 'development') { - arrTeleg = appTelegram_DEVELOP; + arrTeleg = MyTelegramBot.getAppTelegramDevelop(); } else if (process.env.NODE_ENV === 'test') { arrTeleg = MyTelegramBot.getAppTelegramTest(); } else { @@ -736,6 +736,15 @@ const MyTelegramBot = { }, + getAppTelegramDevelop: function () { + if (process.env.appTelegram_TEST) { + return JSON.parse(process.env.appTelegram_TEST); + } else { + return appTelegram_DEVELOP; + } + + }, + local_sendMsgTelegramByIdTelegram: async function (idapp, idtelegram, text, message_id, chat_id, ripr_menuPrec, MyForm = null) { diff --git a/src/server/tools/shared_nodejs.js b/src/server/tools/shared_nodejs.js index bb543ce..9986e4e 100755 --- a/src/server/tools/shared_nodejs.js +++ b/src/server/tools/shared_nodejs.js @@ -980,6 +980,7 @@ module.exports = { 'unit_lordo', 'size', 'vegan', + 'sfuso', 'img', 'link', 'ingredienti',