galleria prodotto
This commit is contained in:
@@ -6,6 +6,7 @@ const tools = require('../tools/general');
|
||||
mongoose.Promise = global.Promise;
|
||||
mongoose.level = "F";
|
||||
|
||||
const { IImg } = require('../models/myscheda');
|
||||
|
||||
// Resolving error Unknown modifier: $pushAll
|
||||
mongoose.plugin(schema => {
|
||||
|
||||
@@ -464,7 +464,7 @@ router.post('/chatbot', authenticate, async (req, res) => {
|
||||
|
||||
res.json(response.data);
|
||||
} catch (error) {
|
||||
console.error(error);
|
||||
console.error(error?.message);
|
||||
res.status(500).send('Errore nella comunicazione con Rasa');
|
||||
}
|
||||
});
|
||||
|
||||
@@ -1016,7 +1016,12 @@ async function importPage(req, idapp, jsonString) {
|
||||
const table = globalTables.getTableByTableName(tableName);
|
||||
|
||||
if (tableName === 'mypages') {
|
||||
if (User.isAdmin(req.user.perm) || User.isEditor(req.user.perm) || User.isCommerciale(req.user.perm) || User.isCollaboratore(req.user.perm)) {
|
||||
if (
|
||||
User.isAdmin(req.user.perm) ||
|
||||
User.isEditor(req.user.perm) ||
|
||||
User.isCommerciale(req.user.perm) ||
|
||||
User.isCollaboratore(req.user.perm)
|
||||
) {
|
||||
for (const page of myexp.mypages) {
|
||||
const { ImportedRecords, newId } = await upsertRecord(table, page, idapp);
|
||||
if (!newIdPage && newId) {
|
||||
@@ -2237,10 +2242,15 @@ router.post('/upload_from_other_server/:dir', authenticate, (req, res) => {
|
||||
|
||||
// Funzione principale che gestisce l'upload
|
||||
async function uploadFile(req, res, version, options = {}) {
|
||||
try {
|
||||
const quality = options.quality || 'original';
|
||||
const dirParam = req.params.dir || '';
|
||||
const dir = tools.invertescapeslash(dirParam);
|
||||
const idapp = req.user.idapp;
|
||||
const idapp = req.user?.idapp;
|
||||
|
||||
if (!idapp) {
|
||||
return res.status(400).send('ID applicazione mancante');
|
||||
}
|
||||
|
||||
// Determina la cartella base
|
||||
const dirmain = version > 0 && tools.sulServer() ? '' : server_constants.DIR_PUBLIC_LOCALE;
|
||||
@@ -2249,49 +2259,44 @@ async function uploadFile(req, res, version, options = {}) {
|
||||
// Directory di upload specifica
|
||||
const uploadDir = path.join(baseUploadFolder, dir);
|
||||
|
||||
try {
|
||||
// Crea la cartella se non esiste
|
||||
await tools.mkdirpath(uploadDir);
|
||||
|
||||
// Configura formidable
|
||||
const form = new formidable.IncomingForm({ uploadDir });
|
||||
|
||||
// Promisifica il parsing per usare await
|
||||
// Parsing in modalità Promise
|
||||
const files = await new Promise((resolve, reject) => {
|
||||
form.parse(req, (err, fields, files) => {
|
||||
if (err) reject(err);
|
||||
else resolve(files);
|
||||
if (err) return reject(err);
|
||||
resolve(files);
|
||||
});
|
||||
});
|
||||
|
||||
// files può contenere uno o più file: gestiamo uno per semplicità
|
||||
// Gestione file
|
||||
for (const key in files) {
|
||||
if (Object.prototype.hasOwnProperty.call(files, key)) {
|
||||
const file = files[key];
|
||||
if (!Object.prototype.hasOwnProperty.call(files, key)) continue;
|
||||
|
||||
console.log('File ricevuto:', file[0].originalFilename);
|
||||
const file = files[key][0];
|
||||
console.log('File ricevuto:', file.originalFilename);
|
||||
|
||||
const oldFIle = file[0].filepath || file[0].path;
|
||||
const oldFile = file.filepath || file.path;
|
||||
const newFilePath = path.join(uploadDir, `${file.newFilename}_${file.originalFilename}`);
|
||||
|
||||
// Nuovo percorso per il file rinominato
|
||||
const newFilePath = path.join(uploadDir, file[0].originalFilename);
|
||||
// Sposta e rinomina
|
||||
await tools.move(oldFile, newFilePath);
|
||||
|
||||
// Sposta e rinomina il file (move è la funzione ottimizzata)
|
||||
// await move(file[0].filepath || file[0].path, newFilePath);
|
||||
await tools.move(oldFIle, newFilePath);
|
||||
|
||||
// Eventuale ridimensionamento immagine
|
||||
// Ridimensionamento opzionale
|
||||
await handleImageResizing(newFilePath, quality);
|
||||
|
||||
console.log(`File processato e salvato in: ${newFilePath}`);
|
||||
}
|
||||
}
|
||||
|
||||
res.status(200).send('Upload completato con successo');
|
||||
return res.status(200).send('Upload completato con successo');
|
||||
} catch (err) {
|
||||
console.error('Errore durante uploadFile:', err);
|
||||
if (!res.headersSent) {
|
||||
res.status(500).send("Errore durante l'upload");
|
||||
return res.status(500).send("Errore durante l'upload");
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -2355,7 +2360,7 @@ router.post('/upload/:dir', authenticate, (req, res) => {
|
||||
return uploadFile(req, res, 0, req.body.options);
|
||||
});
|
||||
|
||||
router.post('/uploadnew/:vers/:dir/', authenticate, (req, res) => {
|
||||
router.post('/uploadnew/:vers/:dir/', authenticate_noerror_WithUser, (req, res) => {
|
||||
let versionstr = req.params.vers;
|
||||
let version = tools.getVersionint(versionstr);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user