- piuchebuono: possiblità di modificare l'immagine dalla scheda direttamente

- migliorata di poco la grafica dell'immagine.
This commit is contained in:
Surya Paolo
2024-10-02 23:22:44 +02:00
parent 03e5d2ed81
commit f9e0175f9b
20 changed files with 108 additions and 42 deletions

View File

@@ -4,8 +4,9 @@ PDB=mypassword@1A
SEND_EMAIL=0 SEND_EMAIL=0
SEND_EMAIL_ORDERS=1 SEND_EMAIL_ORDERS=1
PORT=3000 PORT=3000
appTelegram_TEST=["1","17","18"] appTelegram_TEST=["1","17"]
appTelegram=["1","17","18"] appTelegram=["1","17"]
appTelegram_DEVELOP=["17"]
DOMAIN=mongodb://localhost:27017/ DOMAIN=mongodb://localhost:27017/
AUTH_MONGODB=1 AUTH_MONGODB=1
MONGODB_USER=admin MONGODB_USER=admin

View File

@@ -6,6 +6,7 @@ SEND_EMAIL_ORDERS=1
PORT=3000 PORT=3000
appTelegram_TEST=["1","13"] appTelegram_TEST=["1","13"]
appTelegram=["1","13"] appTelegram=["1","13"]
appTelegram_DEVELOP=["13"]
DOMAIN=mongodb://localhost:27017/ DOMAIN=mongodb://localhost:27017/
AUTH_MONGODB=1 AUTH_MONGODB=1
MONGODB_USER=admin MONGODB_USER=admin

View File

@@ -1,11 +1,12 @@
DATABASE=test_FreePlanet DATABASE=test_PiuCheBuono
UDB=paofreeplanet UDB=paofreeplanet
PDB=mypassword@1A PDB=mypassword@1A
SEND_EMAIL=0 SEND_EMAIL=0
SEND_EMAIL_ORDERS=1 SEND_EMAIL_ORDERS=1
PORT=3000 PORT=3000
appTelegram_TEST=["1","13"] appTelegram_TEST=["1","17","18"]
appTelegram=["1","13"] appTelegram=["1","17","18"]
appTelegram_DEVELOP=["17"]
DOMAIN=mongodb://localhost:27017/ DOMAIN=mongodb://localhost:27017/
AUTH_MONGODB=1 AUTH_MONGODB=1
MONGODB_USER=admin MONGODB_USER=admin
@@ -41,3 +42,6 @@ FTPSERVER_PWD=ftpmypwd@1A_
AUTH_NEW_SITES=123123123 AUTH_NEW_SITES=123123123
SCRIPTS_DIR=admin_scripts SCRIPTS_DIR=admin_scripts
CLOUDFLARE_TOKENS=[{"label":"Paolo.arena77@gmail.com","value":"M9EM309v8WFquJKpYgZCw-TViM2wX6vB3wlK6GD0"},{"label":"gruppomacro.com","value":"bqmzGShoX7WqOBzkXocoECyBkPq3GfqcM5t6VFd8"}] CLOUDFLARE_TOKENS=[{"label":"Paolo.arena77@gmail.com","value":"M9EM309v8WFquJKpYgZCw-TViM2wX6vB3wlK6GD0"},{"label":"gruppomacro.com","value":"bqmzGShoX7WqOBzkXocoECyBkPq3GfqcM5t6VFd8"}]
MIAB_HOST=box.lamiaposta.org
MIAB_ADMIN_EMAIL=admin@lamiaposta.org
MIAB_ADMIN_PASSWORD=passpao1pabox@1A

View File

@@ -7,8 +7,8 @@ PORT=3000
appTelegram_TEST=["17","18"] appTelegram_TEST=["17","18"]
appTelegram=["17","18"] appTelegram=["17","18"]
ENABLE_PUSHNOTIFICATION=1 ENABLE_PUSHNOTIFICATION=1
DIRECTORY_SERVER=/var/www/www.freeplanet_server DIRECTORY_SERVER=/var/www/nodejs_piuchebuono_server
SERVERDIR_WEBSITE= SERVERDIR_WEBSITE=/var/www/piuchebuono.app
PORT_APP1="0" PORT_APP1="0"
DOMAIN=mongodb://localhost:32001/ DOMAIN=mongodb://localhost:32001/
AUTH_MONGODB=1 AUTH_MONGODB=1

View File

@@ -8,7 +8,7 @@ appTelegram_TEST=["17","18"]
appTelegram=["17","18"] appTelegram=["17","18"]
ENABLE_PUSHNOTIFICATION=1 ENABLE_PUSHNOTIFICATION=1
DIRECTORY_SERVER=/var/www/nodejs_test.piuchebuono_server DIRECTORY_SERVER=/var/www/nodejs_test.piuchebuono_server
SERVERDIR_WEBSITE=test.piuchebuono.app SERVERDIR_WEBSITE=var/www/test.piuchebuono.app
PORT_APP1="0" PORT_APP1="0"
DOMAIN=mongodb://localhost:32002/ DOMAIN=mongodb://localhost:32002/
AUTH_MONGODB=1 AUTH_MONGODB=1

View File

@@ -5,7 +5,7 @@ SEND_EMAIL=1
PORT=3001 PORT=3001
ENABLE_PUSHNOTIFICATION=1 ENABLE_PUSHNOTIFICATION=1
DIRECTORY_SERVER=/var/www/nodejs_test.riso_server DIRECTORY_SERVER=/var/www/nodejs_test.riso_server
SERVERDIR_WEBSITE=test.riso.app SERVERDIR_WEBSITE=/var/www/test.riso.app
PORT_APP1="0" PORT_APP1="0"
DOMAIN=mongodb://localhost:32012/ DOMAIN=mongodb://localhost:32012/
AUTH_MONGODB=1 AUTH_MONGODB=1

View File

@@ -13,6 +13,6 @@ fi
if [[ $risposta == "Y" || $risposta == "y" ]]; then if [[ $risposta == "Y" || $risposta == "y" ]]; then
echo "Sincronizzazione di 1 FILE in corso..." echo "Sincronizzazione di 1 FILE in corso..."
rsync -avz -e 'ssh -p 8855' src/server/tools/general.js suryapaolo@servereng:/var/www/$SERVERDIR_WEBSITE/src/server/tools/general.js rsync -avz -e 'ssh -p 8855' src/server/tools/general.js suryapaolo@servereng:$SERVERDIR_WEBSITE/src/server/tools/general.js
echo "Sincronizzazione TERMINATA - SERVER PRODUZIONE!" echo "Sincronizzazione TERMINATA - SERVER PRODUZIONE!"
fi fi

View File

@@ -19,16 +19,16 @@ if [[ $risposta == "Y" || $risposta == "y" ]]; then
echo "Sincronizzazione in corso... $SERVERDIR_WEBSITE" echo "Sincronizzazione in corso... $SERVERDIR_WEBSITE"
echo "Copiando .env.test2..." echo "Copiando .env.test2..."
rsync -avz -e 'ssh -p 8855' .env.test2 suryapaolo@servereng:/var/www/$SERVERDIR_WEBSITE/.env.test rsync -avz -e 'ssh -p 8855' .env.test2 suryapaolo@servereng:$SERVERDIR_WEBSITE/.env.test
echo "Sincronizzazione in corso... src" echo "Sincronizzazione in corso... src"
rsync -avz -e 'ssh -p 8855' -a --exclude 'src/router/upload' src suryapaolo@servereng:/var/www/$SERVERDIR_WEBSITE/ rsync -avz -e 'ssh -p 8855' -a --exclude 'src/router/upload' src suryapaolo@servereng:$SERVERDIR_WEBSITE/
rsync -avz -e 'ssh -p 8855' package.json suryapaolo@servereng:/var/www/$SERVERDIR_WEBSITE/package.json rsync -avz -e 'ssh -p 8855' package.json suryapaolo@servereng:$SERVERDIR_WEBSITE/package.json
rsync -avz -e 'ssh -p 8855' css suryapaolo@servereng:/var/www/$SERVERDIR_WEBSITE/ rsync -avz -e 'ssh -p 8855' css suryapaolo@servereng:$SERVERDIR_WEBSITE/
rsync -avz -e 'ssh -p 8855' docs suryapaolo@servereng:/var/www/$SERVERDIR_WEBSITE/ rsync -avz -e 'ssh -p 8855' docs suryapaolo@servereng:$SERVERDIR_WEBSITE/
rsync -avz -e 'ssh -p 8855' emails suryapaolo@servereng:/var/www/$SERVERDIR_WEBSITE/ rsync -avz -e 'ssh -p 8855' emails suryapaolo@servereng:$SERVERDIR_WEBSITE/
rsync -avz -e 'ssh -p 8855' images suryapaolo@servereng:/var/www/$SERVERDIR_WEBSITE/ rsync -avz -e 'ssh -p 8855' images suryapaolo@servereng:$SERVERDIR_WEBSITE/
rsync -avz -e 'ssh -p 8855' plugins suryapaolo@servereng:/var/www/$SERVERDIR_WEBSITE/ rsync -avz -e 'ssh -p 8855' plugins suryapaolo@servereng:$SERVERDIR_WEBSITE/
rsync -avz -e 'ssh -p 8855' sass suryapaolo@servereng:/var/www/$SERVERDIR_WEBSITE/ rsync -avz -e 'ssh -p 8855' sass suryapaolo@servereng:$SERVERDIR_WEBSITE/
echo "Sincronizzazione TERMINATA! - SERVER TEST2!" echo "Sincronizzazione TERMINATA! - SERVER TEST2!"
fi fi

View File

@@ -2,7 +2,7 @@ module.exports = {
apps: [ apps: [
{ {
name: "PRODUZIONE PiuCheBuono_ServerSide", name: "PRODUZIONE PiuCheBuono_ServerSide",
script: "/var/www/www.freeplanet_server/src/server/server.js", script: "/var/www/nodejs_piuchebuono_server/src/server/server.js",
ignore_watch: ["node_modules", "logs"], ignore_watch: ["node_modules", "logs"],
interpreter: "/root/.nvm/versions/node/v16.19.0/bin/node", interpreter: "/root/.nvm/versions/node/v16.19.0/bin/node",
//autorestart: true, //autorestart: true,

View File

@@ -64,7 +64,7 @@ html
each rec in orders.items each rec in orders.items
- var descr = rec.order.product.productInfo.name - var descr = rec.order.product.productInfo.name
- var img = rec.order.product.productInfo.img - var img = rec.order.product.productInfo.imagefile
- var price = rec.order.price - var price = rec.order.price
- var after_price = rec.order.after_price - var after_price = rec.order.after_price
- var TotalPriceProduct = rec.order.TotalPriceProductstr - var TotalPriceProduct = rec.order.TotalPriceProductstr
@@ -118,7 +118,7 @@ html
p Totale: #{TotalPriceProduct} € p Totale: #{TotalPriceProduct} €
if (note) if (note)
p Note Aggiuntive: #{note} p Note Aggiuntive: #{note}<br>
p.sectionContentTitle.boldhigh.sectionTotal Totale Ordine: #{totalPrice} € p.sectionContentTitle.boldhigh.sectionTotal Totale Ordine: #{totalPrice} €
tr tr

View File

@@ -62,7 +62,7 @@ html
each rec in orders.items each rec in orders.items
- var descr = rec.order.product.productInfo.name - var descr = rec.order.product.productInfo.name
- var img = rec.order.product.productInfo.img - var img = rec.order.product.productInfo.imagefile
- var price = rec.order.product.price - var price = rec.order.product.price
- var after_price = rec.order.product.after_price - var after_price = rec.order.product.after_price
if (rec.order.gasordine) if (rec.order.gasordine)
@@ -117,7 +117,7 @@ html
p Totale: #{TotalPriceProduct} € p Totale: #{TotalPriceProduct} €
if (note) if (note)
p Note Aggiuntive: #{note} p Note Aggiuntive: #{note}<br>
p.sectionContentTitle.boldhigh.sectionTotal Totale Ordine: #{totalPrice} € p.sectionContentTitle.boldhigh.sectionTotal Totale Ordine: #{totalPrice} €
tr tr

View File

@@ -61,7 +61,7 @@ html
each rec in orders.items each rec in orders.items
- var descr = rec.order.product.productInfo.name - var descr = rec.order.product.productInfo.name
- var img = rec.order.product.productInfo.img - var img = rec.order.product.productInfo.imagefile
- var price = rec.order.product.price - var price = rec.order.product.price
- var after_price = rec.order.product.after_price - var after_price = rec.order.product.after_price
if (rec.order.gasordine) if (rec.order.gasordine)
@@ -116,7 +116,7 @@ html
p Totale: #{TotalPriceProduct} € p Totale: #{TotalPriceProduct} €
if (note) if (note)
p Note Aggiuntive: #{note} p Note Aggiuntive: #{note}<br>
p.sectionContentTitle.boldhigh.sectionTotal Totale Ordine: #{totalPrice} € p.sectionContentTitle.boldhigh.sectionTotal Totale Ordine: #{totalPrice} €
tr tr

View File

@@ -2,9 +2,9 @@
source ./.env.prod.pcb source ./.env.prod.pcb
echo "Sincronizzazione in corso PCB PRODUZIONE ... /var/www/$SERVERDIR_WEBSITE/" echo "Sincronizzazione in corso PCB PRODUZIONE ... $SERVERDIR_WEBSITE/"
echo "" echo ""
rsync -avz -e 'ssh -p 8822' src pcbuser@pcb:/var/www/$SERVERDIR_WEBSITE/ rsync -avz -e 'ssh -p 8822' src pcbuser@pcb:$SERVERDIR_WEBSITE/
echo "Sincronizzazione TERMINATA! - SERVER PCB!" echo "Sincronizzazione TERMINATA! - SERVER PCB!"

Binary file not shown.

After

Width:  |  Height:  |  Size: 96 KiB

View File

@@ -73,9 +73,15 @@ const productInfoSchema = new Schema({
icon: { icon: {
type: String, type: String,
}, },
img: { // Se esiste img (sul server) visualizza questa, altrimenti vedi se esiste image_link img: {
type: String, type: String,
}, },
imagefile: {
type: String,
},
vers_img: {
type: Number,
},
image_link: { image_link: {
type: String, type: String,
}, },
@@ -221,6 +227,53 @@ module.exports.findAllIdApp = async function (idapp, code, id) {
module.exports.getProductByCode = function (idapp, code) { module.exports.getProductByCode = function (idapp, code) {
return productInfo.findAllIdApp(idapp, code); return productInfo.findAllIdApp(idapp, code);
} }
module.exports.replaceProductImgToImageFile = async function () {
const ProductInfo = this;
let abilitaserver = false;
if (abilitaserver) {
// const result = await ProductInfo.updateMany({ "img": { $exists: true } }, { $rename: { 'img': 'imagefile' } });
// Trova tutti i documenti con il campo 'img' che esiste
const documents = await ProductInfo.find({ "img": { $exists: true } });
// Aggiorna ciascun documento
for (let doc of documents) {
if (doc.img && doc.img.startsWith('/upload/products/')) {
// Rimuovi il prefisso '/upload/products' dal campo `img`
doc.imagefile = doc.img.replace(/^\/upload\/products\//, '');
doc.img = undefined; // Può anche rimuovere il campo img corrente se desiderato
await doc.save(); // Salva il documento aggiornato
}
}
console.log(`Updated ${documents.length} document(s) with new imagefile paths.`);
} else {
const documents = await ProductInfo.find({ "imagefile": { $exists: true } });
// Aggiorna ciascun documento
for (let doc of documents) {
if (doc.imagefile && doc.imagefile.startsWith('upload/products/')) {
// Rimuovi il prefisso '/upload/products' dal campo `img`
doc.imagefile = doc.imagefile.replace(/^\upload\/products\//, '');
await doc.save(); // Salva il documento aggiornato
}
}
console.log(`Updated ${documents.length} document(s) with new imagefile paths.`);
}
await ProductInfo.updateMany({}, { 'vers_img': 0 });
console.log(`Updated ${result.modifiedCount} document(s).`);
};
module.exports.correggiProductTypes = async function () { module.exports.correggiProductTypes = async function () {
const ProductInfo = this; const ProductInfo = this;
const bulkOps = []; const bulkOps = [];

View File

@@ -63,9 +63,9 @@ async function downloadImgIfMissing(productInfo) {
const img = 'upload/products/' + productInfo.image_link.split('/').pop(); const img = 'upload/products/' + productInfo.image_link.split('/').pop();
const savePath = path.resolve(__dirname, img); // Sostituisci con il percorso dove salvare l'immagine const savePath = path.resolve(__dirname, img); // Sostituisci con il percorso dove salvare l'immagine
if (!productInfo.img || !fs.existsSync(savePath)) { if (!productInfo.imagefile || !fs.existsSync(savePath)) {
// Download image from the URL productInfo.image_link // Download image from the URL productInfo.image_link
productInfo.img = img; productInfo.imagefile = img;
const downloader = new ImageDownloader(); const downloader = new ImageDownloader();
@@ -131,13 +131,13 @@ async function completaSettaggioProduct_AndProductInfo(arrcampi_productInfo, arr
} }
if (!rec.hasOwnProperty('img') && product.code) { if (!rec.hasOwnProperty('img') && product.code) {
productInfo.img = 'upload/products/' + product.code + '.jpg'; productInfo.imagefile = 'upload/products/' + product.code + '.jpg';
} else { } else {
if (rec.hasOwnProperty('img')) { if (rec.hasOwnProperty('img')) {
if (rec['img']) { if (rec['img']) {
productInfo.img = 'upload/products/' + rec['img']; productInfo.imagefile = 'upload/products/' + rec['img'];
} else { } else {
productInfo.img = ''; productInfo.imagefile = '';
} }
} }
} }
@@ -1042,6 +1042,10 @@ router.post('/import', authenticate, async (req, res) => {
product.active = true; product.active = true;
} }
if (productInfo.productTypes.length === 1 && productInfo.productTypes[0] === undefined) {
productInfo.productTypes = [shared_consts.PRODUCTTYPE.PRODUCT];
}
let esisteindb = await ProductInfo.findOne({ code: productInfo.code }).lean(); let esisteindb = await ProductInfo.findOne({ code: productInfo.code }).lean();
// Update ProductInfo // Update ProductInfo

View File

@@ -957,7 +957,7 @@ router.patch('/chval', authenticate, async (req, res) => {
precRec = await mytable.findById(id); precRec = await mytable.findById(id);
} }
return await mytable.findByIdAndUpdate(id, { $set: fieldsvalue }). return await mytable.findByIdAndUpdate(id, { $set: fieldsvalue }, { new: true }).
then(async (rec) => { then(async (rec) => {
// tools.mylogshow(' REC TO MODIFY: ', rec); // tools.mylogshow(' REC TO MODIFY: ', rec);
if (!rec) { if (!rec) {

View File

@@ -1650,6 +1650,9 @@ async function eseguiDbOp(idapp, mydata, locale, req, res) {
} else if (mydata.dbop === 'correggiProductTypes') { } else if (mydata.dbop === 'correggiProductTypes') {
await ProductInfo.correggiProductTypes(); await ProductInfo.correggiProductTypes();
} else if (mydata.dbop === 'replaceProductImgToImageFile') {
await ProductInfo.replaceProductImgToImageFile();
} else if (mydata.dbop === 'correggiCircuitiANull') { } else if (mydata.dbop === 'correggiCircuitiANull') {

View File

@@ -3,13 +3,12 @@ const tools = require('../tools/general');
const appTelegram = [tools.FREEPLANET, tools.RISO]; const appTelegram = [tools.FREEPLANET, tools.RISO];
const appTelegram_TEST = [tools.FREEPLANET, tools.RISO]; const appTelegram_TEST = [tools.FREEPLANET, tools.RISO];
const appTelegram_DEVELOP = [tools.RISO]; //const appTelegram_DEVELOP = [tools.RISO];
//const appTelegram_DEVELOP = [tools.PIUCHEBUONO]; const appTelegram_DEVELOP = [tools.PIUCHEBUONO];
const appTelegramFinti = ['2', tools.CNM]; const appTelegramFinti = ['2', tools.CNM];
const appTelegramDest = [tools.FREEPLANET, tools.FREEPLANET]; const appTelegramDest = [tools.FREEPLANET, tools.FREEPLANET];
const appTeleg_BotOnGroup = [tools.IDAPP_BOTONGROUP]; const appTeleg_BotOnGroup = [tools.IDAPP_BOTONGROUP];
//PIPPO //PIPPO
@@ -742,8 +741,8 @@ const MyTelegramBot = {
}, },
getAppTelegramDevelop: function () { getAppTelegramDevelop: function () {
if (process.env.appTelegram_TEST) { if (process.env.appTelegram_DEVELOP) {
return JSON.parse(process.env.appTelegram_TEST); return JSON.parse(process.env.appTelegram_DEVELOP);
} else { } else {
return appTelegram_DEVELOP; return appTelegram_DEVELOP;
} }

View File

@@ -1115,6 +1115,7 @@ module.exports = {
PDF: 107, PDF: 107,
STREAMING: 108, STREAMING: 108,
PRODUCT: 1000,
}, },
AccountType: { AccountType: {