- Assegnazione di linkIdTemplate anche per la "Pagina di Default", in modo che posso da "Templates" cambiare le impostazioni.
This commit is contained in:
@@ -17,6 +17,9 @@ mongoose.plugin(schema => {
|
||||
});
|
||||
|
||||
const IElementiPagina = new Schema({
|
||||
isTemplate: Boolean,
|
||||
linkIdTemplate: String,
|
||||
name: String,
|
||||
pagina: IDimensioni,
|
||||
});
|
||||
|
||||
@@ -422,6 +425,18 @@ async function deleteOldMyElems(idapp) {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Trova tutte le schede template associate a pagine di idapp.
|
||||
* Restituisce un array di oggetti con le seguenti proprietà:
|
||||
* - scheda: l'oggetto scheda, con proprietà come _id, name, isTemplate
|
||||
* - idPageOrig: l'idPage originale associata alla scheda
|
||||
*
|
||||
* Se idapp === '18', stampa i duplicati e i titoli delle pagine
|
||||
* e cancella i documenti di MyElem con idPage non esistenti in MyPage
|
||||
*
|
||||
* @param {string} idapp ID dell'applicazione
|
||||
* @returns {Promise<IMyElemTemplate[]>} Array di oggetti scheda con idPageOrig
|
||||
*/
|
||||
MyElemSchema.statics.findallSchedeTemplate = async function (idapp) {
|
||||
const MyElem = this;
|
||||
|
||||
@@ -490,12 +505,21 @@ MyElemSchema.statics.findallSchedeTemplate = async function (idapp) {
|
||||
}
|
||||
};
|
||||
|
||||
// Ricerca tra tutte le schede, contenute in catalogo, se esiste un nome di template uguale,
|
||||
// se non lo trova allora è quello giusto per crearne uno nuovo
|
||||
/**
|
||||
* Ricerca tra tutte le schede, contenute in catalogo, se esiste un nome di template uguale,
|
||||
* se non lo trova allora è quello giusto per crearne uno nuovo
|
||||
*
|
||||
* @param {string} idapp - ID dell'app
|
||||
* @param {string} idPageOrig - ID della pagina originale
|
||||
* @param {string} nomeTemplate - Nome del template
|
||||
*
|
||||
* @returns {string} Il nome del template libero
|
||||
*/
|
||||
MyElemSchema.statics.getNewFreeNameTemplate = async function (idapp, idPageOrig, nomeTemplate) {
|
||||
const MyElem = this;
|
||||
|
||||
try {
|
||||
// Trova tutti gli elementi che hanno un template con lo stesso nome
|
||||
const ris = await MyElem.find(
|
||||
{
|
||||
idapp,
|
||||
@@ -509,6 +533,7 @@ MyElemSchema.statics.getNewFreeNameTemplate = async function (idapp, idPageOrig,
|
||||
'catalogo.arrSchede.scheda.idPage': 1
|
||||
});
|
||||
|
||||
// Recupera i nomi dei template già esistenti
|
||||
const existingNames = new Set(
|
||||
ris.flatMap(elem =>
|
||||
elem.catalogo?.arrSchede?.filter(scheda =>
|
||||
@@ -519,6 +544,7 @@ MyElemSchema.statics.getNewFreeNameTemplate = async function (idapp, idPageOrig,
|
||||
)
|
||||
);
|
||||
|
||||
// Crea un nuovo nome di template univoco
|
||||
let ind = 2;
|
||||
let newNameTemplate;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user