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
1 2 3 |
class <module_name > Dashlet extends DashletGeneric { |
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
1 2 3 |
class GranBelModuloDashlet extends DashletGeneric { |