Dashlet non funzionano su un Modulo Creato

Nelle ultime versioni di SuiteCRM è presente un piccolo e fastidioso bug per cui i file relativi alle dashlet dei moduli creati attraverso il Module Builder contengono un errore.

Nello specifico, quando il module builder genera i file php contenenti il codice relativo al nuovo modulo, non inserisce il corretto nome della classe php che gestice le dashlet.

 

Ci siamo casualmente accorti di questo problema nelle versioni 7.8.*. Qualsiasi sia la versione di SuiteCRM installata se le dashlet del vostro nuovo modulo non funzionano, potete verificare e rimediare il problema con i passaggi spiegati nel resto dell’articolo

 

Se generate un pacchetto zip installabile del modulo

CONTROLLO DEI FILE, aprire l’archivio zip e scorrere le cartelle fino a quelle dedicate alle dashlet ed aprire il file <nome_del_modulo>Dashlet.php

/SugarModules/modules/<nome_del_modulo>/Dashlets/<nome_del_modulo>Dashlet/<nome_del_modulo>Dashlet.php

Se effettuate il deploy del modulo sull’istanza attiva del CRM

CONTROLLO DEI FILE, andare nella cartella server dove risiede SuiteCRM e scorrere le cartelle fino a quelle dedicate alle dashlet del modulo creato ed aprire il file <nome_del_modulo>Dashlet.php

/SugarModules/modules/<nome_del_modulo>/Dashlets/<nome_del_modulo>Dashlet/<nome_del_modulo>Dashlet.php

 

Correzione del file

Intorno alla riga 48 del file <nome_del_modulo>Dashlet.php troverete la definizione della classe php. Se aprendo il file trovate la situazione rappresentata sotto allora la vostra versione del CRM è affetta dal bug

La correzione è semplice! Sarà sufficiente sostituire la stringa evidenziata sopra con il corretto nome della classe che equivale al nome del file che lo contiene (senza l’estensione .php)

 

Ad esempio:

creiamo un modulo di nome “GranBelModulo”, dovremmo cercare ed aprire il file GranBelModuloDashlet.php

/SugarModules/modules/GranBelModulo/Dashlets/GranBelModuloDashlet/GranBelModuloDashlet.php

e verificare il contenuto del file, se è colpito dal bug possiamo risolvere modificando come segue