- 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_ORDERS=1
PORT=3000
appTelegram_TEST=["1","17","18"]
appTelegram=["1","17","18"]
appTelegram_TEST=["1","17"]
appTelegram=["1","17"]
appTelegram_DEVELOP=["17"]
DOMAIN=mongodb://localhost:27017/
AUTH_MONGODB=1
MONGODB_USER=admin

View File

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

View File

@@ -1,11 +1,12 @@
DATABASE=test_FreePlanet
DATABASE=test_PiuCheBuono
UDB=paofreeplanet
PDB=mypassword@1A
SEND_EMAIL=0
SEND_EMAIL_ORDERS=1
PORT=3000
appTelegram_TEST=["1","13"]
appTelegram=["1","13"]
appTelegram_TEST=["1","17","18"]
appTelegram=["1","17","18"]
appTelegram_DEVELOP=["17"]
DOMAIN=mongodb://localhost:27017/
AUTH_MONGODB=1
MONGODB_USER=admin
@@ -40,4 +41,7 @@ FTPSERVER_USER=ftpusrsrv_
FTPSERVER_PWD=ftpmypwd@1A_
AUTH_NEW_SITES=123123123
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=["17","18"]
ENABLE_PUSHNOTIFICATION=1
DIRECTORY_SERVER=/var/www/www.freeplanet_server
SERVERDIR_WEBSITE=
DIRECTORY_SERVER=/var/www/nodejs_piuchebuono_server
SERVERDIR_WEBSITE=/var/www/piuchebuono.app
PORT_APP1="0"
DOMAIN=mongodb://localhost:32001/
AUTH_MONGODB=1

View File

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

View File

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

View File

@@ -13,6 +13,6 @@ fi
if [[ $risposta == "Y" || $risposta == "y" ]]; then
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!"
fi

View File

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

View File

@@ -2,7 +2,7 @@ module.exports = {
apps: [
{
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"],
interpreter: "/root/.nvm/versions/node/v16.19.0/bin/node",
//autorestart: true,

View File

@@ -64,7 +64,7 @@ html
each rec in orders.items
- 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 after_price = rec.order.after_price
- var TotalPriceProduct = rec.order.TotalPriceProductstr
@@ -118,7 +118,7 @@ html
p Totale: #{TotalPriceProduct} €
if (note)
p Note Aggiuntive: #{note}
p Note Aggiuntive: #{note}<br>
p.sectionContentTitle.boldhigh.sectionTotal Totale Ordine: #{totalPrice} €
tr

View File

@@ -62,7 +62,7 @@ html
each rec in orders.items
- 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 after_price = rec.order.product.after_price
if (rec.order.gasordine)
@@ -117,7 +117,7 @@ html
p Totale: #{TotalPriceProduct} €
if (note)
p Note Aggiuntive: #{note}
p Note Aggiuntive: #{note}<br>
p.sectionContentTitle.boldhigh.sectionTotal Totale Ordine: #{totalPrice} €
tr

View File

@@ -61,7 +61,7 @@ html
each rec in orders.items
- 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 after_price = rec.order.product.after_price
if (rec.order.gasordine)
@@ -116,7 +116,7 @@ html
p Totale: #{TotalPriceProduct} €
if (note)
p Note Aggiuntive: #{note}
p Note Aggiuntive: #{note}<br>
p.sectionContentTitle.boldhigh.sectionTotal Totale Ordine: #{totalPrice} €
tr

View File

@@ -2,9 +2,9 @@
source ./.env.prod.pcb
echo "Sincronizzazione in corso PCB PRODUZIONE ... /var/www/$SERVERDIR_WEBSITE/"
echo "Sincronizzazione in corso PCB PRODUZIONE ... $SERVERDIR_WEBSITE/"
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!"

Binary file not shown.

After

Width:  |  Height:  |  Size: 96 KiB

View File

@@ -73,9 +73,15 @@ const productInfoSchema = new Schema({
icon: {
type: String,
},
img: { // Se esiste img (sul server) visualizza questa, altrimenti vedi se esiste image_link
img: {
type: String,
},
imagefile: {
type: String,
},
vers_img: {
type: Number,
},
image_link: {
type: String,
},
@@ -221,7 +227,54 @@ module.exports.findAllIdApp = async function (idapp, code, id) {
module.exports.getProductByCode = function (idapp, code) {
return productInfo.findAllIdApp(idapp, code);
}
module.exports.correggiProductTypes = async function() {
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 () {
const ProductInfo = this;
const bulkOps = [];

View File

@@ -63,9 +63,9 @@ async function downloadImgIfMissing(productInfo) {
const img = 'upload/products/' + productInfo.image_link.split('/').pop();
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
productInfo.img = img;
productInfo.imagefile = img;
const downloader = new ImageDownloader();
@@ -131,13 +131,13 @@ async function completaSettaggioProduct_AndProductInfo(arrcampi_productInfo, arr
}
if (!rec.hasOwnProperty('img') && product.code) {
productInfo.img = 'upload/products/' + product.code + '.jpg';
productInfo.imagefile = 'upload/products/' + product.code + '.jpg';
} else {
if (rec.hasOwnProperty('img')) {
if (rec['img']) {
productInfo.img = 'upload/products/' + rec['img'];
productInfo.imagefile = 'upload/products/' + rec['img'];
} else {
productInfo.img = '';
productInfo.imagefile = '';
}
}
}
@@ -1042,6 +1042,10 @@ router.post('/import', authenticate, async (req, res) => {
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();
// Update ProductInfo

View File

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

View File

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

View File

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

View File

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