Ajouter un champ personnalisé à l'affichage des bugs
Bonjour,
il me semble avoir déjà posé cette question, et avoir eu une réponse... mais je n& #039;arrive pas à la retrouver.
Je voudrais ajouter une colonne avec le champ personnalisé dans l& #039;affichage des bugs (là où il y a la recherche et les filtres).
Dans /core/custom_function_api.php, j& #039;ai ajouté les champs :
$t_columns[] = 'custom_Champ référence client';
$t_columns[] = 'custom_Date découverte';
$t_columns[] = 'custom_Qui ?';
$t_columns[] = 'severity';
$t_columns[] = 'project_id';
$t_columns[] = 'status';
$t_columns[] = 'custom_Temps passé';
$t_columns[] = 'summary';
$t_columns[] = 'custom_Date limite'; #champ à ajouter
$t_columns[] = 'custom_Date de livraison';
$t_columns[] = 'custom_Clos par le client';
mais la colonne ne s& #039;affiche pas, il doit falloir faire autre chose... mais je ne me souviens plus quoi...
Désolée de redemander de l& #039;aide là dessus
Amélie
Bonjour,
Ce n& #039;est pas dans le fichier core/custom_function_api.php qu& #039;il faut l& #039;ajouter, c& #039;est dans le fichier custom_functions_inc.php.
Vincent
Mantis: 1.1.0, 1.1.5, 1.1.1
PHP: 5.0.4
SQL: MySQL 5.0.19
OS: Linux
Please complete your signature with your environment informations.
Enable skype notification here
pour l& #039;instant, voici le contenu de mon fichier custom_functions_inc.php :
<?php
function custom_function_override_print_column_value( $p_column, $p_issue_row, $p_columns_target = COLUMNS_TARGET_VIEW_PAGE ) {
if ( COLUMNS_TARGET_CSV_PAGE == $p_columns_target ) {
$t_column_start = '';
$t_column_end = '';
$t_column_empty = '';
} else {
$t_column_start = '<td>';
$t_column_end = '</td>';
$t_column_empty = ' ';
}
if ( strpos( $p_column, 'custom_' ) === 0 ) {
echo $t_column_start;
$t_custom_field = substr( $p_column, 7 );
$t_field_id = custom_field_get_id_from_name( $t_custom_field );
if ( $t_field_id === false ) {
echo '@', $t_custom_field, '@';
} else {
$t_issue_id = $p_issue_row['id'];
$t_project_id = $p_issue_row['project_id'];
if ( custom_field_is_linked( $t_field_id, $t_project_id ) ) {
$t_def = custom_field_get_definition( $t_field_id );
print_custom_field_value( $t_def, $t_field_id, $t_issue_id );
} else {
// field is not linked to project
echo $t_column_empty;
}
}
echo $t_column_end;
} else {
if ( $p_columns_target != COLUMNS_TARGET_CSV_PAGE ) {
$t_function = 'print_column_' . $p_column;
} else {
$t_function = 'csv_format_' . $p_column;
}
if ( function_exists( $t_function ) ) {
if ( $p_columns_target != COLUMNS_TARGET_CSV_PAGE ) {
if ( $p_column == 'summary' ) {
$t_summary = string_attribute( $p_issue_row['summary'] );
$t_description = string_attribute( bug_get_text_field( $p_issue_row['id'], 'description' ) );
echo '<td class=\"left\"><a title="', $t_description, '">', $t_summary;
if ( VS_PRIVATE == $p_issue_row['view_state'] ) {
printf( ' <img src=\"%s\" alt=\"(%s)\" title=\"%s\" />'
, $t_icon_path . 'protected.gif'
, lang_get( 'private' )
, lang_get( 'private' )
);
}
echo '</a></td>';
} else {
$t_function( $p_issue_row, $p_columns_target );
}
} else {
$t_function( $p_issue_row[$p_column] );
}
} else {
if ( isset( $p_issue_row[$p_column] ) ) {
if ( $p_column == 'project_id' ) {
echo '<td class="center">' . project_get_name( $p_issue_row['project_id'] ) . '</td>';
} else {
echo $t_column_start . $p_issue_row[$p_column] . $t_column_end;
}
} else {
echo $t_column_start . '@' . $p_column . '@' . $t_column_end;
}
}
}
}
# permet de passer en statut "fermé" quand le champ "clos par le client" est validé
function custom_function_override_issue_update_notify( $p_issue_id ) {
$t_field_id = custom_field_get_id_from_name( 'Clos par le client' ); // Remplacer toto par ce qui va bien.
// remplacer STATUS par la valeur que le status doit prendre,
// par exemple RESOLVED. Et penser à remplacer 'valeur'
if ( custom_field_get_value( $t_field_id, $p_issue_id ) == 'Annulé' && bug_get_field( $p_issue_id, 'status' ) != STATUS ) {
bug_set_field( $p_issue_id, 'status', CLOSED );
}
if ( custom_field_get_value( $t_field_id, $p_issue_id ) == 'Clos' && bug_get_field( $p_issue_id, 'status' ) != STATUS ) {
bug_set_field( $p_issue_id, 'status', CLOSED );
}
}
?>
Pourtant, dans l& #039;affichage des bugs, j& #039;ai déjà les colonnes
Champ référence client
Date découverte
Qui ?
Sévérité
Nom du projet
Etat
Temps passé
Résumé
Date de livraison
Clos par le client
Edited 1 time(s). Last edit at 07/06/2007 11:23AM by Amel.
Il faut rajouter la fonction suivante Language: PHP custom_function_override_get_columns_to_view( $p_print = ) {
que vous avez modifié dans le fichier core/custom_function_api.php (ne pas oublier de modifier son nom au moment de la recopie).
Dans votre premier post vous dites que les colonnes sont manquantes et dans le dernier vous dites qu& #039;elles y sont. Donc on en est où ?
Vincent
Mantis: 1.1.0, 1.1.5, 1.1.1
PHP: 5.0.4
SQL: MySQL 5.0.19
OS: Linux
Please complete your signature with your environment informations.
Enable skype notification here
c& #039;est vrai que je ne suis pas claire, toutes les colonnes y sont, sauf une : Date limite. Les autres, je les avais ajoutées il y a un moment.
En fait, je viens de voir mon erreur : il y a deux endroits où il faut ajouter cette colonne apparemment, je l& #039;avais fait qu& #039;une fois, maintenant, ça marche bien.
Sinon, merci pour la fonction, d& #039;apèrs ce que j& #039;ai compris, le fait de changer directement dans le code, c& #039;est pas bon parce que si je met une nouvelle version, je perds toutes mes modifs, c ça ??
Amélie
Quote Amelc& #039;est vrai que je ne suis pas claire, toutes les colonnes y sont, sauf une : Date limite. Les autres, je les avais ajoutées il y a un moment.
En fait, je viens de voir mon erreur : il y a deux endroits où il faut ajouter cette colonne apparemment, je l& #039;avais fait qu& #039;une fois, maintenant, ça marche bien.
Tant mieux.
Quote
Sinon, merci pour la fonction, d& #039;apèrs ce que j& #039;ai compris, le fait de changer directement dans le code, c& #039;est pas bon parce que si je met une nouvelle version, je perds toutes mes modifs, c ça ??
Amélie
C& #039;est ça
Vincent
Mantis: 1.1.0, 1.1.5, 1.1.1
PHP: 5.0.4
SQL: MySQL 5.0.19
OS: Linux
Please complete your signature with your environment informations.
Enable skype notification here
Online Users
Guests:
11
Record Number of Users:
1
on April 02, 2023
Record Number of Guests:
115
on November 09, 2023
Top Users
|