...
Anchor | ||||
---|---|---|---|---|
|
Questa è una validazione che viene chiamata in ogni flusso di Laboratori, Grupppi di Ricerca, Grandi Attrezzature, Public-Engagement e Progetti quando si prova ad eliminare l'oggetto.
Essa impedisce che si possa eliminare l'oggetto in questione se è collegato (sia da parte di padre sia da parte di figlio) ad un qualsiasi altro oggetto.
In caso trovasse questi collegamenti, verrà presentato un messaggio di errore che mostrerà un elenco con tutti gli oggetti trovati.
Il messaggio di errore viene ricavato dall'etichetta con chiave error.delete.link.childAndParentDetected
Per maggiori dettagli cfr. modello dati dell'entità in questione
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
var wfItemFull = wfService.getWfItem(wfItem.getWfItemId()); var listOfLinksDetected = '<ul>'; var childWfItemLinkSet = wfItemFull.getChildWfItemLinkSet(); //var listOfChildsLinked = ''; var isChildDetected = false; if(childWfItemLinkSet.size() != 0){ //listOfChildsLinked += '<ul>'; var childWfItemLinkSetIterator = childWfItemLinkSet.iterator(); while (childWfItemLinkSetIterator.hasNext()){ var childLink = childWfItemLinkSetIterator.next(); //considero solo quelli che non sono version if(!childLink.getDiscriminator().equals('version')){ isChildDetected = true; var childWfItem = childLink.getChild(); //listOfChildsLinked += '<li>' + childWfItem.getIdentifier() + '-' + childWfItem.getDescription() + '</li>'; listOfLinksDetected += '<li>' + childWfItem.getIdentifier() + ' - ' + childWfItem.getDescription() + '</li>'; } } //ricontrollo così da escludere completamente anche le versioni /*if(isChildDetected) listOfChildsLinked += '</ul>'; else listOfChildsLinked = 'Non è stato trovato nessun figlio';*/ }else{ //listOfChildsLinked = 'Non è stato trovato nessun figlio'; } var parentWfItemLinkSet = wfItemFull.getParentWfItemLinkSet(); //var listOfParentsLinked = ''; var isParentDetected = false; if(parentWfItemLinkSet.size() != 0){ //listOfParentsLinked += '<ul>'; var parentWfItemLinkSetIterator = parentWfItemLinkSet.iterator(); while (parentWfItemLinkSetIterator.hasNext()){ var parentLink = parentWfItemLinkSetIterator.next(); //considero solo quelli che non sono version if(!parentLink.getDiscriminator().equals('version')){ isParentDetected = true; var parentWfItem = parentLink.getParent(); //listOfParentsLinked += '<li>' + parentWfItem.getIdentifier() + '-' + parentWfItem.getDescription() + '</li>'; listOfLinksDetected += '<li>' + parentWfItem.getIdentifier() + ' - ' + parentWfItem.getDescription() + '</li>'; } } //ricontrollo così da escludere completamente anche le versioni /*if(isParentDetected) listOfParentsLinkedlistOfLinksDetected += '</ul>'; else listOfParentsLinked = 'Non è stato trovato nessun padre';*/ }else{ //listOfParentsLinked = 'Non è stato trovato nessun padre'; } listOfLinksDetected +if(listOfLinksDetected != '</ul>'; //se trovo anche solo uno dei due, scateno l'errore if(isChildDetected || isParentDetected){ //var messageContainer = [listOfChildsLinked, listOfParentsLinked];<ul></ul>'){ var messageContainer = [listOfLinksDetected]; errors.reject("error.delete.link.childAndParentDetected", messageContainer, "error.delete.link.childAndParentDetected.default"); } |