Deshabilitant camps personalitzats de Mantis Bug Tracker a les notificacions per correu

Deshabilitant camps personalitzats de Mantis Bug Tracker en les notificacions per correu electrònic

Al Mantis Bug Tracker pots personalitzar-te el teu sistema amb camps personalitzats (Telèfon, DNI, Marca, Model, Pes, Grandària, etc). Però a l'hora de publicar tickets, el sistema envia notificacions personalitzats amb tots estos camps.

En este xicotet article explique el truc per a poder amagar algun camp personalitzat que vols que estiga en el Mantis Bug Tracker, des de la part web, però que vols deshabilitar-lo de les notificacions per correu electrònic per a no fer un resum de la petició massa llarg i farragòs.

El meu objectiu és que a les notificacions del Mantis de la feina, no es mostre el camp "Nº de ticket Pulpo" que afegim en algunes peticions. Fins ara queda així:
Deshabilitant camps personalitzats de Mantis Bug Tracker en les notificacions per correu electrònic

El fitxer de configuració de Mantis és ./core/email_api.php. L'editarem i en la línia 1783 tenim un bucle for que comença per # custom fields formatting i diu exactament:

# custom fields formatting
foreach( $p_visible_bug_data['custom_fields'] as $t_custom_field_name => $t_custom_field_data ) {
$t_message .= utf8_str_pad( lang_get_defaulted( $t_custom_field_name, null ) . ': ', $t_email_padding_length, ' ', STR_PAD_RIGHT );
$t_message .= string_custom_field_value_for_email( $t_custom_field_data['value'], $t_custom_field_data['type'] );
$t_message .= " \n";
}
# end foreach custom field

La funció strppos() de PHP
El que fa eixe bucle for és recòrrer i mostrar cada un dels camps personalitzats del Mantis. I com nosaltres volem amagar en les notificacions dels correus el camp que parla del número de ticket Pulpo, farem servir de la funció strpos() per a comprovar si una variable de tipo text conté una paraula, 'ticket' en el nostre cas. Això es fa amb:

if (strpos($la_teua_variable, 'paraula') !==false) {
echo "Sí ha trobat eixa paraula";
} else {
echo "No conté eixa paraula";
}

Aleshores, consultarem si existeix la paraula ticket en el nom del camp personalitzat de la següent manera:


# custom fields formatting
foreach( $p_visible_bug_data['custom_fields'] as $t_custom_field_name => $t_custom_field_data ) {
# personalitze el camp que mostra els camps personalitzats perque no volem que aparega el Numero de Ticket Mantis
if (strpos($t_custom_field_name, 'ticket') !==false) {
} else {
$t_message .= utf8_str_pad( lang_get_defaulted( $t_custom_field_name, null ) . ': ', $t_email_padding_length, ' ', STR_PAD_RIGHT );
$t_message .= string_custom_field_value_for_email( $t_custom_field_data['value'], $t_custom_field_data['type'] );
$t_message .= " \n";
}
}
# end foreach custom field

I finalment el resultat serà la notificació estàndard de Mantis Bug Tracker, mostrant fins i tot els camps personalitzats, però quan un camp personalitzat siga el "Nº tickets Pulpo" (que conté la paraula ticket) saltarà el bucle i no el mostrarà. I queda així:

Deshabilitant camps personalitzats de Mantis Bug Tracker en les notificacions per correu electrònic

Doncs bé això és tot, espere que trobes útil aquest article i que et motive a compartir els teus trucs, els teus coneixements i els teus experiments amb el Programari Lliure. Pensa-ho, va, que la Comunitat del Programari Lliure va creixent gràcies a la documentació, el disseny, la formació o la programació, sigues part de la Comunitat :-)

La cultura i la lliure circulació de les idees és l'arma més efectiva contra les dictadures del pensament i contra la ignorància.

Utilitats

NAVEGACIÓ SENSE RATOLÍ

- Tab següent enllaç.
- Shift+Tab anterior enllaç.
- Enter activa l'enllaç.
- Alt+esquerra anar arrere.

CONTRAST DE COLORS

Accessibilitat - Color Negre
Accessibilitat - Color Groc
Accessibilitat - Color Verd

Accessibilitat - Color Blau
Accessibilitat - Color Crema
Accessibilitat - Color Blanc

 

PORTADES ALTERNATIVES