You are not logged in.
Bonjour,
Je souhaiterai ajouter un champ "Carto-SI" dans la rubrique Ticket.
J'ai essayé de m'inspirer du plugin "TimelineTicket" mais le champ ne s'affiche pas.
Voici ma configuration :
setup.php (j'ai juste mis la fonction init) :
function plugin_init_cartosi() {
global $PLUGIN_HOOKS,$CFG_GLPI;
// CSRF compliance : All actions must be done via POST and forms closed by Html::closeForm();
$PLUGIN_HOOKS[Hooks::CSRF_COMPLIANT]['cartosi'] = true;
$PLUGIN_HOOKS['menu_toadd']['cartosi'] = ['plugins' => Cartosi::class,
'tools' => Cartosi::class];
if (Plugin::isPluginActive('cartosi')) {
Plugin::registerClass('PluginCartositicketDisplay',['addtabon' => ['Ticket']]);
// Config page
$PLUGIN_HOOKS['config_page']['cartosi'] = 'front/config.php';
}
}
display.class.php situé dans le /inc
class PluginCartositicketDisplay extends CommonDBTM {
static function showForTicket(Ticket $ticket) {
global $CFG_GLPI, $DB;
echo "Test";
}
function getTabNameForItem(CommonGLPI $item, $withtemplate = 0) {
if ($item->getType() == 'Ticket') {
return __('CartoSI');
}
return '';
}
static function displayTabContentForItem(CommonGLPI $item, $tabnum = 1, $withtemplate = 0) {
if ($item->getType() == 'Ticket') {
self::showForTicket($item);
}
return true;
}
}
Une idée de ce que j'ai mal fais ?
Version de GLPI utilisée : 10.0.5
Merci d'avance.
Last edited by Paul Durieux (2023-01-03 18:42:36)
Offline
Problème résolu.
En renommant ma classe PluginCartosiDisplay en PluginCartosiTicket et en changeant le nom du fichier display.class.php en ticket.class.php, mon champ s'affiche.
Vous pouvez fermé la page.
Merci.
Last edited by Paul Durieux (2023-01-03 19:02:33)
Offline
et pourquoi ne pas passer par le plugin Fields ?
Manger un castor, c'est sauver un arbre.
Quand on est mort, on ne sait pas qu'on est mort ; c'est pour les autres que c'est difficile. Quand on est con, c'est pareil !
Offline
et pourquoi ne pas passer par le plugin Fields ?
Je préfère passer par mon plugin pour pouvoir customiser le champ (avec du code html) comme je l'entends.
Offline
Bonjour Paul,
Avez-vous mis en prod votre plugin customisé?
Si oui, avez-vous créé des balises de notifications personnalisées (par exemple ##ticket.Carto-SI##) pour les réponses?
Si oui, accepteriez-vous de me partager une partie du code (car j'essaie de forker le plugin Fields pour créer des balises de notifications pour 2 champs "numéro de devis" et "statut du devis", mais je tourne sans réussir à créer ces balises)?
Merci
Offline