|
Notification sur nouveau changement d'étatPosted by balbo
Dans la même veine, j'ai ajouté un nouvel état: 85:livré
Tout fonctionne bien au niveau de la saisie de bug, du changement d'état, de l'affichage avec la nouvelle couleur etc. Cependant, pas moyen de recevoir un mail quand un bug passe dans ce nouvel état.... Ma version de Mantis: 1.1.0rc2 J'ai ajouté les infos suivantes: accounts_prefs.php <tr class="row-1"> <td class="category"> <?php echo lang_get( 'email_on_delivered' ) ?> </td> <td> <input type="checkbox" name="email_on_delivered" <?php check_checked( $t_pref->email_on_delivered, ON ); ?> /> <?php echo lang_get( 'with_minimum_severity' ) ?> <select name="email_on_delivered_min_severity"> <option value="<?php echo OFF ?>"><?php echo lang_get( 'any' ) ?></option> <option value="<?php echo OFF ?>"></option> <?php print_enum_string_option_list( 'severity', $t_pref->email_on_delivered_min_severity ) ?> </select> </td> </tr> bloc else ligne 283 <input type="hidden" name="email_on_delivered" value="<?php echo $t_pref->email_on_delivered ?>" /> <input type="hidden" name="email_on_delivered_min_severity" value="<?php echo $t_pref->email_on_delivered_min_severity ?>" /> fichier account_prefs_update $t_prefs->email_on_delivered = gpc_get_bool( 'email_on_delivered' ); $t_prefs->email_on_delivered_min_severity = gpc_get_int( 'email_on_delivered_min_severity' ); config_defaults_inc #---- account pref defaults $g_default_email_on_delivered = ON; $g_default_email_on_delivered_minimum_severity = OFF; # 'any' idem dans config_inc dans le fichier user_pref_api ### User Preferences API ### $g_default_mapping = array( 'default_profile' => 'default_profile', 'default_project' => 'default_project', 'advanced_report' => 'default_advanced_report', 'advanced_view' => 'default_advanced_view', 'advanced_update' => 'default_advanced_update', 'refresh_delay' => 'default_refresh_delay', 'redirect_delay' => 'default_redirect_delay', 'bugnote_order' => 'default_bugnote_order', 'email_on_new' => 'default_email_on_new', 'email_on_assigned' => 'default_email_on_assigned', 'email_on_feedback' => 'default_email_on_feedback', 'email_on_resolved' => 'default_email_on_resolved', 'email_on_delivered' => 'default_email_on_delivered', 'email_on_closed' => 'default_email_on_closed', 'email_on_reopened' => 'default_email_on_reopened', 'email_on_bugnote' => 'default_email_on_bugnote', 'email_on_status' => 'default_email_on_status', 'email_on_priority' => 'default_email_on_priority', 'email_on_new_min_severity' => 'default_email_on_new_minimum_severity', 'email_on_assigned_min_severity' => 'default_email_on_assigned_minimum_severity', 'email_on_feedback_min_severity' => 'default_email_on_feedback_minimum_severity', 'email_on_resolved_min_severity' => 'default_email_on_resolved_minimum_severity', 'email_on_delivered_min_severity' => 'default_email_on_delivered_minimum_severity', 'email_on_closed_min_severity' => 'default_email_on_closed_minimum_severity', 'email_on_reopened_min_severity' => 'default_email_on_reopened_minimum_severity', 'email_on_bugnote_min_severity' => 'default_email_on_bugnote_minimum_severity', 'email_on_status_min_severity' => 'default_email_on_status_minimum_severity', 'email_on_priority_min_severity' => 'default_email_on_priority_minimum_severity', 'email_bugnote_limit' => 'default_email_bugnote_limit', 'language' => 'default_language' ); + les libellés anglais + français .... Mais ça marche pô...help please ;-) Edited 3 time(s). Last edit at 01/14/2008 10:34AM by deboutv.
Oui je peux revenir en arrière tant que ça n'impacte pas sur l'état en lui-même. Uniquement si ça concerne ce que j'ai ajouté pour la notification... C'était une demande urgente d'ajout de cet état et j'ai fait avec les moyens du bords vendredi soir ...... arf...
Merci de votre aide, je suis toute ouïe :-)
Oui je ne parlais que de la notification
![]() Pour commencer on va faire une solution non modifiable pour chaque utilisateur. Dans le fichier custom_functions_inc.php (à créer si besoin) :
Attention, il ne faut pas oublier de définir email_notification_title_for_status_bug_delivered dans le fichier custom_strings_inc.php et DELIVERED (celui-ci doit déjà être fait). Dans le fichier de configuration config_inc.php il faut aussi définir à qui le mail doit être envoyé :
Je n'ai pas essayé mais ça devrait marcher. 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
-les fichiers custom_functions_inc.php et custom_strings_inc.php n'existent pas, je les ai donc créés.
-le contenu du fichier custom_styrings_inc remplace ce que j'avia smis dans le fichier strings_french.txt ? $s_email_notification_title_for_status_bug_delivered = 'La demande suivante a été livrée.';
Oui les fichiers de Mantis ne doivent pas être modifiés (au risque de perdre les modifs à la prochaine mise à jour). Pour définir plusieurs traductions dans le fichier il faut utiliser lang_get_current() :
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
J'ao copiés les 2 nouveaux fichiers dans le répertoire mantis, j'ai fait la modif pour le notify dans le config_inc mais du coup mantis plante !....
SYSTEM WARNING: Cannot modify header information - headers already sent by (output started at c:\www\mantis\custom_functions_inc.php:26) il me manque des includes ? mon fichier custom_functions_inc.php <?php $g_send_notification = false; function custom_function_override_issue_update_validate( $p_issue_id, $p_new_issue_data, $p_bugnote_text ) { global $g_send_notification; if ( bug_get_field( $p_issue_id, 'status' ) != $p_new_issue_data->status && $p_new_issue_data == DELIVERED ) { $g_send_notification = true; } else { $g_send_notification = false; } } function custom_function_override_issue_update_notify( $p_issue_id ) { global $g_send_notification; if ( $g_send_notification ) { email_generic( $p_issue_id, 'delivered', 'email_notification_title_for_status_bug_delivered' ); } } ?>
Code corrigé :
Attention à ne pas mettre d'espace ou de nouvelle ligne avant <?php et après ?>. 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
ça ne fonctionne "pas", mais ça ne plante plus le reste de mantis ;-)
J'ai "pas" car en fait, j'ai un seul utilisateur (un développeur comme les autres) qui reçoit les notifications liées à ce nouvel état mais en 2 exemplaires ..... Je ne sais pas trop quoi faire..... M'sieur vincent, I hope you'll help me :-) Ben
Oui puisque pour l'instant on ne s'occupe pas des préférences des utilisateurs. Pour comprendre pourquoi l'email est envoyé en double il faudrait activer le log (dans le fichier config_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
ok, j'avais mal compris, sorry Je fais la modif ès demain matin à la première heure bonne soirée
J'ai activé le log email mais je ne trouve aucun fichier mantis.log dans mon arborescence..d'ailleurs à quel endroit sont stockés les fichiers que je oint à mes bugs ? Sont-ils dans la tbale mantis_bug_file ? Si oui, je suis étonné de sa petite taille par rapport au nombre et à la taille des fichiers que j'ai déjà envoyés dans mantis.
A+
Le log il est dans /tmp (sous Linux). Dans le cas de Windows il faut mettre
Evidemment le fichier de destination peut être ailleurs. Le tout c'est de le retrouver. Pour savoir où sont stockés les fichiers, il faut regarder la valeur de $g_file_upload_method (dans config_inc.php ou à défaut dans config_default_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
Alors il faut peut-être essayer :
Assurez-vous que le serveur web peut accèder au fichier à créer. 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
entrées du fichier log correspondant au changement d'état de mon bug: d'un état résolu vers mon nouvel état livré:
2008-01-16 11:08 Paris, Madrid mail_recipient bug=91, add reporter=4 2008-01-16 11:08 Paris, Madrid mail_recipient bug=91, add handler=23 2008-01-16 11:08 Paris, Madrid mail_recipient bug=91, add note author=4 2008-01-16 11:08 Paris, Madrid mail_recipient bug=91, add note author=5 2008-01-16 11:08 Paris, Madrid mail_recipient bug=91, add project user=5 2008-01-16 11:08 Paris, Madrid mail_recipient bug=91, add project user=4 2008-01-16 11:08 Paris, Madrid mail_recipient bug=91, add project user=10 2008-01-16 11:08 Paris, Madrid mail_recipient bug=91, add project user=18 2008-01-16 11:08 Paris, Madrid mail_recipient bug=91, drop 4 (own) 2008-01-16 11:08 Paris, Madrid mail_recipient bug=91, drop 23 (pref email_on_status off) 2008-01-16 11:08 Paris, Madrid mail_recipient bug=91, drop 5 (pref email_on_status off) 2008-01-16 11:08 Paris, Madrid mail_recipient bug=91, drop 10 (pref email_on_status off) 2008-01-16 11:08 Paris, Madrid mail bug=91, type=delivered, msg=email_notification_title_for_status_bug_delivered, recipients=(usertest@maboîte.com) 2008-01-16 11:08 Paris, Madrid mail_recipient bug=91, add reporter=4 2008-01-16 11:08 Paris, Madrid mail_recipient bug=91, add handler=23 2008-01-16 11:08 Paris, Madrid mail_recipient bug=91, add note author=4 2008-01-16 11:08 Paris, Madrid mail_recipient bug=91, add note author=5 2008-01-16 11:08 Paris, Madrid mail_recipient bug=91, add project user=5 2008-01-16 11:08 Paris, Madrid mail_recipient bug=91, add project user=4 2008-01-16 11:08 Paris, Madrid mail_recipient bug=91, add project user=10 2008-01-16 11:08 Paris, Madrid mail_recipient bug=91, add project user=18 2008-01-16 11:08 Paris, Madrid mail_recipient bug=91, drop 4 (own) 2008-01-16 11:08 Paris, Madrid mail_recipient bug=91, drop 23 (pref email_on_status off) 2008-01-16 11:08 Paris, Madrid mail_recipient bug=91, drop 5 (pref email_on_status off) 2008-01-16 11:08 Paris, Madrid mail_recipient bug=91, drop 10 (pref email_on_status off) 2008-01-16 11:08 Paris, Madrid mail bug=91, type=delivered, msg=email_notification_title_for_status_bug_delivered, recipients=(usertest@maboîte.com) L'utilisateur usertest reçoit bien 2 fois le mail de changement d'état alors qu'un autre utilisateur, développeur aussi, n'en a reçu aucun.
Et sans le fichier custom_functions_inc.php il n'y a aucun mail (en conservant les modifications dans le fichier config_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 Edited 1 time(s). Last edit at 01/16/2008 11:24AM by deboutv.
En fait, les utilisateurs ayant coché "Courriel en cas de changement d'état" reçoivent le mail concernant mon nouvel état, mais en double !
Ceci dit, une fois cette option cochée, ils vont recevoir tout les changements d'états non ? C'est la prochaine étape de ton "cours" que d'ajouter un paramétrage spécifique pour cet état dans les préférences utilisateurs ? En tout cas merci de ton aide Ben
Effectivement, en supprimant juste ce fichier, une fois l'option "Courriel en cas de changement d'état" cochée, les utilisateurs concernés reçoivent bien un seul exemplaire de notification.
Ok alors il faut retirer ce fichier ou ces fonctions. Ensuite dans la base de données il faut modifier la table mantis_user_pref_table pour ajouter deux colonnes :
Je ne suis pas sûr que ça ajoute automatiquement ce qu'il faut où il faut mais ça devrait... 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
Sorry, only registered users may post in this forum.
Online Users
Guests:
5
Record Number of Users:
1
on April 02, 2023
Record Number of Guests:
115
on November 09, 2023
Top Users
|