View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0010153 | Plugin - Reminder | General | public | 2009-02-23 14:39 | 2016-06-29 02:00 |
Reporter | cas | Assigned To | cas | ||
Priority | normal | Severity | feature | Reproducibility | N/A |
Status | closed | Resolution | fixed | ||
Summary | 0010153: Reminder plugin | ||||
Description | This plugin allows for sending an email to a handler once the due_date is within a defibale number of days. | ||||
Additional Information | We are using Due dates very heavily in our environment. This plugin is build upon version 1.2.x of mantis and should be installed as any other plugin It also contains scripts which can be scheduled using a cronjob and/or windows scheduler. This addon is distributed under the same conditions as Mantis itself. Cas Nuy February 2009 | ||||
Tags | plugin, reminder | ||||
Attached Files | bug_report_page.txt (13,652 bytes)
<?php # Mantis - a php based bugtracking system # Mantis is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 2 of the License, or # (at your option) any later version. # # Mantis is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with Mantis. If not, see <http://www.gnu.org/licenses/>. /** * This file POSTs data to report_bug.php * @package MantisBT * @copyright Copyright (C) 2000 - 2002 Kenzaburo Ito - kenito@300baud.org * @copyright Copyright (C) 2002 - 2009 Mantis Team - mantisbt-dev@lists.sourceforge.net * @link http://www.mantisbt.org */ $g_allow_browser_cache = 1; /** * Mantis Core API's */ require_once( 'core.php' ); $t_core_path = config_get( 'core_path' ); require_once( $t_core_path.'file_api.php' ); require_once( $t_core_path.'custom_field_api.php' ); require_once( $t_core_path.'last_visited_api.php' ); $f_master_bug_id = gpc_get_int( 'm_id', 0 ); # this page is invalid for the 'All Project' selection except if this is a clone if ( ( ALL_PROJECTS == helper_get_current_project() ) && ( 0 == $f_master_bug_id ) ) { print_header_redirect( 'login_select_proj_page.php?ref=bug_report_page.php' ); } if ( ADVANCED_ONLY == config_get( 'show_report' ) ) { print_header_redirect ( 'bug_report_advanced_page.php' . ( 0 == $f_master_bug_id ) ? '' : '?m_id=' . $f_master_bug_id ); } if( $f_master_bug_id > 0 ) { # master bug exists... bug_ensure_exists( $f_master_bug_id ); # master bug is not read-only... if ( bug_is_readonly( $f_master_bug_id ) ) { error_parameters( $f_master_bug_id ); trigger_error( ERROR_BUG_READ_ONLY_ACTION_DENIED, ERROR ); } $t_bug = bug_prepare_edit( bug_get( $f_master_bug_id, true ) ); # the user can at least update the master bug (needed to add the relationship)... access_ensure_bug_level( config_get( 'update_bug_threshold', null, $t_bug->project_id ), $f_master_bug_id ); #@@@ (thraxisp) Note that the master bug is cloned into the same project as the master, independent of # what the current project is set to. if( $t_bug->project_id != helper_get_current_project() ) { # in case the current project is not the same project of the bug we are viewing... # ... override the current project. This to avoid problems with categories and handlers lists etc. $g_project_override = $t_bug->project_id; $t_changed_project = true; } else { $t_changed_project = false; } access_ensure_project_level( config_get( 'report_bug_threshold' ) ); $f_product_version = $t_bug->version; $f_category_id = $t_bug->category_id; $f_reproducibility = $t_bug->reproducibility; $f_severity = $t_bug->severity; $f_priority = $t_bug->priority; $f_summary = $t_bug->summary; $f_description = $t_bug->description; $f_additional_info = $t_bug->additional_information; $f_view_state = $t_bug->view_state; $t_project_id = $t_bug->project_id; } else { access_ensure_project_level( config_get( 'report_bug_threshold' ) ); $f_product_version = gpc_get_string( 'product_version', '' ); $f_category_id = gpc_get_int( 'category_id', 0 ); $f_reproducibility = gpc_get_int( 'reproducibility', config_get( 'default_bug_reproducibility' ) ); $f_severity = gpc_get_int( 'severity', config_get( 'default_bug_severity' ) ); $f_priority = gpc_get_int( 'priority', config_get( 'default_bug_priority' ) ); $f_summary = gpc_get_string( 'summary', '' ); $f_description = gpc_get_string( 'description', '' ); $f_additional_info = gpc_get_string( 'additional_info', config_get ( 'default_bug_additional_info' ) ); $f_view_state = gpc_get_int( 'view_state', config_get( 'default_bug_view_status' ) ); $t_project_id = helper_get_current_project(); $t_changed_project = false; } $f_report_stay = gpc_get_bool( 'report_stay', false ); # don't index bug report page html_robots_noindex(); html_page_top1( lang_get( 'report_bug_link' ) ); html_page_top2(); print_recently_visited(); ?> <br /> <div align="center"> <form name="report_bug_form" method="post" <?php if ( file_allow_bug_upload() ) { echo 'enctype="multipart/form-data"'; } ?> action="bug_report.php"> <?php echo form_security_field( 'bug_report' ) ?> <table class="width90" cellspacing="1"> <!-- Title --> <tr> <td class="form-title"> <input type="hidden" name="m_id" value="<?php echo $f_master_bug_id ?>" /> <input type="hidden" name="project_id" value="<?php echo $t_project_id ?>" /> <input type="hidden" name="handler_id" value="0" /> <?php echo lang_get( 'enter_report_details_title' ) ?> </td> <td class="right"> <?php if ( BOTH == config_get( 'show_report' ) ) { print_bracket_link( 'bug_report_advanced_page.php' . ( $f_master_bug_id > 0 ? '?m_id=' . $f_master_bug_id : '' ), lang_get( 'advanced_report_link' ) ); } ?> </td> </tr> <?php event_signal( 'EVENT_REPORT_BUG_FORM_TOP', array( $t_project_id, false ) ); ?> <!-- Category --> <tr <?php echo helper_alternate_class() ?>> <td class="category" width="30%"> <?php echo config_get( 'allow_no_category' ) ? '' : '<span class="required">*</span>', lang_get( 'category' ) ?> <?php print_documentation_link( 'category' ) ?> </td> <td width="70%"> <?php if ( $t_changed_project ) { echo "[" . project_get_field( $t_bug->project_id, 'name' ) . "] "; } ?> <select <?php echo helper_get_tab_index() ?> name="category_id"> <?php print_category_option_list( $f_category_id ); ?> </select> </td> </tr> <!-- Reproducibility --> <tr <?php echo helper_alternate_class() ?>> <td class="category"> <?php echo lang_get( 'reproducibility' ) ?> <?php print_documentation_link( 'reproducibility' ) ?> </td> <td> <select <?php echo helper_get_tab_index() ?> name="reproducibility"> <?php print_enum_string_option_list( 'reproducibility', $f_reproducibility ) ?> </select> </td> </tr> <!-- Severity --> <tr <?php echo helper_alternate_class() ?>> <td class="category"> <?php echo lang_get( 'severity' ) ?> <?php print_documentation_link( 'severity' ) ?> </td> <td> <select <?php echo helper_get_tab_index() ?> name="severity"> <?php print_enum_string_option_list( 'severity', $f_severity ) ?> </select> </td> </tr> <!-- Priority (if permissions allow) --> <?php if ( access_has_project_level( config_get( 'handle_bug_threshold' ) ) ) { ?> <tr <?php echo helper_alternate_class() ?>> <td class="category"> <?php echo lang_get( 'priority' ) ?> <?php print_documentation_link( 'priority' ) ?> </td> <td> <select <?php echo helper_get_tab_index() ?> name="priority"> <?php print_enum_string_option_list( 'priority', $f_priority ) ?> </select> </td> </tr> <?php } ?> <!-- spacer --> <tr class="spacer"> <td colspan="2"></td> </tr> <?php $t_show_version = ( ON == config_get( 'show_product_version' ) ) || ( ( AUTO == config_get( 'show_product_version' ) ) && ( count( version_get_all_rows( $t_project_id ) ) > 0 ) ); if ( $t_show_version ) { $t_product_version_released_mask = VERSION_RELEASED; if (access_has_project_level( config_get( 'report_issues_for_unreleased_versions_threshold' ) ) ) { $t_product_version_released_mask = VERSION_ALL; } ?> <!-- Product Version --> <tr <?php echo helper_alternate_class() ?>> <td class="category"> <?php echo lang_get( 'product_version' ) ?> </td> <td> <select <?php echo helper_get_tab_index() ?> name="product_version"> <?php print_version_option_list( $f_product_version, $t_project_id, $t_product_version_released_mask ); ?> </select> </td> </tr> <?php } ?> <?php event_signal( 'EVENT_REPORT_BUG_FORM', array( $t_project_id, false ) ); ?> <!-- spacer --> <tr class="spacer"> <td colspan="2"></td> </tr> <!-- Summary --> <tr <?php echo helper_alternate_class() ?>> <td class="category"> <span class="required">*</span><?php echo lang_get( 'summary' ) ?> <?php print_documentation_link( 'summary' ) ?> </td> <td> <input <?php echo helper_get_tab_index() ?> type="text" name="summary" size="105" maxlength="128" value="<?php echo $f_summary ?>" /> </td> </tr> <!-- Description --> <tr <?php echo helper_alternate_class() ?>> <td class="category"> <span class="required">*</span><?php echo lang_get( 'description' ) ?> <?php print_documentation_link( 'description' ) ?> </td> <td> <textarea <?php echo helper_get_tab_index() ?> name="description" cols="80" rows="10"><?php echo $f_description ?></textarea> </td> </tr> <!-- Additional information --> <tr <?php echo helper_alternate_class() ?>> <td class="category"> <?php echo lang_get( 'additional_information' ) ?> <?php print_documentation_link( 'additional_information' ) ?> </td> <td> <textarea <?php echo helper_get_tab_index() ?> name="additional_info" cols="80" rows="10"><?php echo $f_additional_info ?></textarea> </td> </tr> <!-- spacer --> <tr class="spacer"> <td colspan="2"></td> </tr> <!-- Custom Fields --> <?php $t_custom_fields_found = false; $t_related_custom_field_ids = custom_field_get_linked_ids( $t_project_id ); foreach( $t_related_custom_field_ids as $t_id ) { $t_def = custom_field_get_definition( $t_id ); if( ( ( $t_def['display_report'] && !$t_def['advanced'] ) || $t_def['require_report']) && custom_field_has_write_access_to_project( $t_id, $t_project_id ) ) { $t_custom_fields_found = true; ?> <tr <?php echo helper_alternate_class() ?>> <td class="category"> <?php if( $t_def['require_report'] ) { ?> <span class="required">*</span> <?php } ?> <?php echo string_display( lang_get_defaulted( $t_def['name'] ) ) ?> </td> <td> <?php print_custom_field_input( $t_def, ( $f_master_bug_id === 0 ) ? null : $f_master_bug_id ) ?> </td> </tr> <?php } # if (!$t_def['advanced']) && has write access } # foreach( $t_related_custom_field_ids as $t_id ) ?> <?php if ( $t_custom_fields_found ) { ?> <!-- spacer --> <tr class="spacer"> <td colspan="2"></td> </tr> <?php } ?> <!-- File Upload (if enabled) --> <?php if ( file_allow_bug_upload() ) { $t_max_file_size = (int)min( ini_get_number( 'upload_max_filesize' ), ini_get_number( 'post_max_size' ), config_get( 'max_file_size' ) ); ?> <tr <?php echo helper_alternate_class() ?>> <td class="category"> <?php echo lang_get( 'upload_file' ) ?> <?php echo '<span class="small">(' . lang_get( 'max_file_size' ) . ': ' . number_format( $t_max_file_size/1000 ) . 'k)</span>'?> </td> <td> <input type="hidden" name="max_file_size" value="<?php echo $t_max_file_size ?>" /> <input <?php echo helper_get_tab_index() ?> name="file" type="file" size="60" /> </td> </tr> <?php } ?> <!-- View Status --> <tr <?php echo helper_alternate_class() ?>> <td class="category"> <?php echo lang_get( 'view_status' ) ?> </td> <td> <?php if ( access_has_project_level( config_get( 'set_view_status_threshold' ) ) ) { ?> <label><input <?php echo helper_get_tab_index() ?> type="radio" name="view_state" value="<?php echo VS_PUBLIC ?>" <?php check_checked( $f_view_state, VS_PUBLIC ) ?> /> <?php echo lang_get( 'public' ) ?></label> <label><input <?php echo helper_get_tab_index() ?> type="radio" name="view_state" value="<?php echo VS_PRIVATE ?>" <?php check_checked( $f_view_state, VS_PRIVATE ) ?> /> <?php echo lang_get( 'private' ) ?></label> <?php } else { echo get_enum_element( 'project_view_state', $f_view_state ); } ?> </td> </tr> <!-- Relationship (in case of cloned bug creation...) --> <?php if( $f_master_bug_id > 0 ) { ?> <tr <?php echo helper_alternate_class() ?>> <td class="category"> <?php echo lang_get( 'relationship_with_parent' ) ?> </td> <td> <?php relationship_list_box( /* none */ -2, "rel_type", false, true ) ?> <?php echo '<b>' . lang_get( 'bug' ) . ' ' . bug_format_id( $f_master_bug_id ) . '</b>' ?> </td> </tr> <?php } ?> <!-- Report Stay (report more bugs) --> <tr <?php echo helper_alternate_class() ?>> <td class="category"> <?php echo lang_get( 'report_stay' ) ?> <?php print_documentation_link( 'report_stay' ) ?> </td> <td> <label><input <?php echo helper_get_tab_index() ?> type="checkbox" id="report_stay" name="report_stay" <?php check_checked( $f_report_stay ) ?> /> <?php echo lang_get( 'check_report_more_bugs' ) ?></label> </td> </tr> <!-- Submit Button --> <tr> <td class="left"> <span class="required"> * <?php echo lang_get( 'required' ) ?></span> </td> <td class="center"> <input <?php echo helper_get_tab_index() ?> type="submit" class="button" value="<?php echo lang_get( 'submit_report_button' ) ?>" /> </td> </tr> </table> </form> </div> <!-- Autofocus JS --> <?php if ( ON == config_get( 'use_javascript' ) ) { ?> <script type="text/javascript" language="JavaScript"> <!-- window.document.report_bug_form.category_id.focus(); --> </script> <?php } ?> <?php html_page_bottom1( __FILE__ ) ?> strings_french.txt (2,069 bytes)
<?php $s_reminder_plugin_title = "Mantis Envoi d'email de rappel" ; $s_reminder_config = "Configuration" ; $s_reminder_bug_status = "Sélectionner uniquement les bogues dans le statut" ; $s_reminder_mail_subject = "Corps du message de Rappel" ; $s_reminder_sender = "Adresse email de l'expéditeur" ; $s_reminder_days_treshold = "Nombre de jours (heures) avant la date d'échéance"; $s_reminder_update_config = 'Mettre à jour la définition'; $s_reminder_store_as_note = "Stocker le rappel en tant que note (uniquement pour le gestionnaire)"; $s_reminder_store_enabled = "On"; $s_reminder_store_disabled = "Off"; $s_reminder_ignore_unset = "Ignorer les bogues sans date d'échéance"; $s_reminder_ignore_past = "Ignorer les bogues avec date d'échéance dans le passé"; $s_reminder_group_issues = "Grouper les bogues (Seulement si Off ci-dessous)"; $s_reminder_group_project = "Séparer les mails groupés par projet (Seulement si Off ci-dessus)"; $s_reminder_manager_overview = "Générer le mail du manager par projet"; $s_reminder_handler = "Générer le mail du gestionnaire"; $s_reminder_group_subject = "Sujet du mail groupé"; $s_reminder_group_body1 = "Début du corps du mail groupé"; $s_reminder_group_body2 = "Fin du corps du mail groupé"; $s_reminder_project_name = "Sélectionner le projet"; $s_reminder_download = "Télécharger les bogues échus"; $s_reminder_feedback_project_name = "Sélectionner le projet pour lequel recevoir les emails de commentaire"; $s_reminder_feedback_status = "Sélectionner uniquement les bogues dans le statut" ; $s_reminder_login = "Exécuter le script planifié avec le compte de : " ; $s_reminder_subject = "Sujet de l'email pour le script Commentaire" ; $s_reminder_finished = "Texte affiché à la fin lors de l'exécution dans le navigateur" ; $s_reminder_plugin_desc = "Envoie des emails pour prévenir de l'approche de dates d'échéances" ; $s_reminder_hours = "Utiliser des heurs à la place des jours"; strings_chinese_traditional.txt (1,874 bytes)
<?php $s_reminder_plugin_title = "Mantis寄發提醒郵件" ; $s_reminder_config = "設定" ; $s_reminder_bug_status = "只在此問題狀態時" ; $s_reminder_mail_subject = "通知內容" ; $s_reminder_sender = "郵件寄件人" ; $s_reminder_days_treshold = "到期天數(時數前)"; $s_reminder_update_config = '更新定義'; $s_reminder_store_as_note = "將提醒儲存成記事(只有負責人handler可以生效)"; $s_reminder_store_enabled = "開啟"; $s_reminder_store_disabled = "關閉"; $s_reminder_ignore_unset = "忽略沒有設置到期日的問題"; $s_reminder_ignore_past = "忽略已到期的問題"; $s_reminder_group_issues = "群組問題 (只有在下列選項關閉時)"; $s_reminder_group_project = "依專案不同分開群組問題 (只有在上述選項關閉時)"; $s_reminder_manager_overview = "依專案產生管理者信件"; $s_reminder_handler = "產生負責人信件"; $s_reminder_group_subject = "群組信件的標題"; $s_reminder_group_body1 = "群組信件的內容開頭"; $s_reminder_group_body2 = "群組信件的內容結尾"; $s_reminder_project_name = "選擇專案"; $s_reminder_download = "下載到期問題"; $s_reminder_feedback_email = "Mantis寄發待更新信件" ; $s_reminder_feedback_project_name = "選擇專案收取待更新信件"; $s_reminder_feedback_status = "只選擇此狀態的問題" ; $s_reminder_login = "以這個帳號來執行排定行程的描述檔" ; $s_reminder_subject = "回覆描述檔產生信件的標題" ; $s_reminder_finished = "以瀏覽器執行,結束時要顯示的文字" ; $s_reminder_plugin_desc = "以信件與CSV檔警告即將到期的問題" ; $s_reminder_hours = "以時數來取代天數"; $s_reminder_export_settings = "匯出設定"; $s_reminder_export_colsep = "Csv分割符號"; | ||||
Very nice |
|
Perhaps you might consider submitting a Git repository with the plugin to http://git.mantisforge.org ? |
|
How to install this plugin or use this plugin. Please let me know. Urgent |
|
log on as admin |
|
Thank you for your reply. It is working for me now. However i need to send a reminder by gathering all the assigned issues to me and it should look for deadline and send it as a single email daily... Now Im receiving email for each individual project. Also if im a manager i would be managing different projects. In that case i would need a complete reminder which has info of issues assigned to each developer, under my view. Ex: Hope you would follow me. Im posting this; so as to get help from you or to get idea from you. Regards, |
|
For each issue im receiving reminder emails; if it is a single email containing all the issues which has its due shortly it would be fine. |
|
Who is the manager for each project, those that have that role within the project? |
|
Yes cas; you are right. The one who has role within the project is the manager. Also I would suggest 2nd and 4th point.
|
|
Not sure what you mean under 4 "has to be customized", can you explain more? |
|
Here is version 1.0 with some more options including a bonus program to create a spreadsheet with all issues nearing Due date. |
|
Thanks for your contribution. Well in the above said point 4, 'has to be customized' in the sense, if the Reminder is sent Per manager: If Mr.XX handles one or more projects and the handlers also differs for each project. Reminder:project: Quality Assurance Handler: Mr.YY
Hope you would understand... Regards, |
|
Do you have any idea of other plugins available with mantis 1.2.0a3 version. Like hierarchy plugin, AutoAssign plugin, Search plugin etc... Please keep me intimated.. Regards, |
|
One more issue with Reminder091 plugin: 'Ignore issues with Due date not set ' = ON or OFF, If i set 'ON' for this option im not receiving any reminder emails, but i receive reminder only if it is set to OFF. Please can you explain on this. |
|
@cas Can you upload to git? If you has trouble - connect to me JID:krak@jabber.ru or forum:Kirill |
|
If the due_date is not set, the year of the due date will have a value of 1970 (default value). The manager overview does not have the split as mentioned but this may become available later. |
|
I am facing some issues, while the reminder is send for due_date. If suppose say, there are 5 users and the reminder is scheduled. It will email them the due_date for their assigned task. And if any of the users are deleted or disabled, the reminder plugin still checks for those users who are removed or deleted from the list. Short note: Reminder sending for due_date should not be checking for users those who are disabled or deleted. If i do so, it is throwing error as 'user6' not found. Because if say 'RAMU' is the user with id= 6 and if i delete this user, the tasks which he was kept assigned changes to Assigned To = 'user6'. Is this a issues? Cas; |
|
It is a bit strange to have still open issues assigned to a deleted user. |
|
I just tried to delete a user and tried to send reminder, and by the way i tested i found this. However it would be nice, if we skip those bugs, for which the user has been deleted. In some case the reporter might be removed from the 'mantis_user_table', in such case also we would face some issues. Yes cas, also the error message says, 'Application with no_users' not sure exactly. However if we make it as a cron job or scheduled job, we would not know what errors we face, but we would not be getting any notifications for deadline. |
|
Below is the reminder email format I am receiving:
Question 1: Question 2: |
|
Also i tried to execute the command Please let me know your thoughts in this. |
|
Reply to your note on http://www.mantisbt.org/bugs/view.php?id=4220#c21632; However cas, i could not set this as a cron job in linux; it is not executing, but if i execute the reminder_mail.php manually, it is working fine. Please let me know mre in details about authorisation Issue that you have mentioned in your note. Regards, |
|
if you check the php script, you can see that there is no reference to the mantis authorization scheme. So to me it seems that the root user has no access or something like that. As indicated earlier, I have no linux testbox so I cannot do much for you. |
|
Is there any other solution to fix this right now? Please let me know; if you can provide me some good solution it might be helpful to me................ I am still waiting for some fix to this issue |
|
Can you execute it from within a browser? |
|
Yes i could, execute it from within a browser............ in LINUX machine |
|
I could execute it from within a browser....from LINUX machine |
|
So it works as expected. Really cannot help you on the cron job, as stated before I do not have this type of box. |
|
It works through browser; however making it to execute automatically as a cron job in LINUX is not possible. |
|
I think there is some issue in the syntax we use to set as cron job. Can you please check and let me know if there is any issue with syntax.... You can consult with other users who use this Reminder plugin |
|
I don't use the cron job, syntax I got from someone where it was working. |
|
@cas and all Finally we have fixed this issue. Deadline Reminder has been made to work successfully in LINUX machine, using 'lynx' browser. The issue we faced is, it requires for User authentication, so whenever i ran the deadline reminder, i got the login page and so we tried to login using 'lynx' browser and save the session in cookies and then execute the reminder command. Now the deadline reminder will be working fine. The reason for this issue is, in LINUX machine, we used a text based browser named 'LYNX' and while executing the deadline reminder command, it will be prompting for 'username' and 'password' to login, only then it will execute the command. So we did it by logging in and saved the session in COOKIES, which is saved to a file and placed in '/root/REMINDERCOOKIE' in host server. Steps handled to fix this Authentication: 1.) Install 'lynx' which is a text based browser.
|
|
I face some major issue with this reminder. The due task is emailed twice for all the individual task, but with '1' minute difference. If i receive a reminder for particular task by 9.33AM, for the same task I receive the reminder by 9.34AM. Please let me know the fix to this. Regards, |
|
Log on as administrator goto manage (OK) <<[ Manage Users ] [ Manage Projects ] [ Manage Custom Fields ] [ Manage Global Profiles ] [ Manage Configuration ] [ Configuration Report ] [ Permissions Report ] [ Workflow Thresholds ] [ Workflow Transitions ] [ E-mail Notifications ] Please advise. Harpreet. |
|
|
|
Dear Kirill, Thanks for the update. Have a nice day. Harpreet.. |
|
any way to get this wo work in version 1.1.8? There is no plugin manager and I am having a hard time porting it. |
|
It's only for 1.2.x plugin system. |
|
Hi All, I have installed this plugin in my mantis have installed successfully but how to run bug_reminder_mail.php file as my mantis in installed on xampp pls let me know if you have any idea? |
|
Hi all, I use Reminder10 I had to change the source of pages/bug_reminder_mail.php Removed line 171 ( there was one } too many ). However when using the plugin I got some errors. I tried directly from browser and in linux with lynx. /usr/local/bin/php /home/cursad/domains/cursad.nl/public_html/cts/plugin.php?page=Reminder/bug_reminder_mail.phpCould not open input file: /home/cursad/domains/cursad.nl/public_html/cts/plugin.php?page=Reminder/bug_reminder_mail.php For error see attached screenshot |
|
OK, I updated the plugin since I did find some errors. |
|
I have the same problem with TomR, i remove one extra closing brace ("}") at line 171. But when i try to use this ("http://mantis.homepage.com/plugin.php?page=Reminder/bug_reminder_mail.php") on my browser, I got Application Error #11. Is there something wrong on my configuration or what? Could you provide a way or a tip on how to fix this? Thank you in advance. |
|
i have notice that when i change the Value of "Ignore issues with Due date not set" to "ON", and i click on "Update definition", then run "http://mantis.homepage.com/plugin.php?page=Reminder/bug_reminder_mail.php" again, I could generate the same error and the browser would be just a plain white color without any text on it. |
|
OK, back in town and have uploaded version 1.03 |
|
Cas, hope you had a nice flight back ;-] I installaed 1.0.3, but I am still not able to use the plugin throu the browser ( or from command line ). Error: APPLICATION WARNING #user_get_field() for NO_USER: |
|
OK, disable the ones without duedate, this would do the trick. |
|
Hello, thanks for the quick response. I already install the new update, but got the same problem with TomR again.. It says: APPLICATION WARNING #user_get_field() for NO_USER: APPLICATION WARNING #user_get_field() for NO_USER: But when i turn Off the "Generate manager mail by project", i would not get an error, but the screen will not display anything, just plain white.
|
|
The problem arises when no handler was assigned to an issue. |
|
Thanks cas, I'm already receiving some mails using your plugins. Thank you very much, i need to further test this one, because when i click on the link for the issue in the email, i am having an application error #203 "A number was expected for id." This is the email i got: Please review the following
But anyway thank you for this plugin, i really like this one. :) |
|
Does the original email perhaps show the html BR at the end of the line? |
|
in version 1.05 I have adjusted the body, can you check if links are ok now? |
|
That perfect, its fix now. Got the email and the format is good... Got it working nicely now... Thank very much.. :-) |
|
Cas, I am sorry. Installed 1.0.5 but still get errors: APPLICATION WARNING #user_get_field() for NO_USER: APPLICATION WARNING #user_get_field() for NO_USER: APPLICATION WARNING #user_get_field() for NO_USER: APPLICATION WARNING #user_get_field() for NO_USER: What is causing this?
|
|
I also notice, that when I change to a specific project, and the try to update the configuration, it always revert to All Projects. Tried with different browsers. ;-( |
|
I figured out that config.php is not correct. Missing lines and an error/typo. However when I corrected the source it is still not working. |
|
@TomR I willl check the project settings, must admit that I did not test thgis specifically. |
|
@cas. This will not work or via command line interface
|
|
Cas, I manually update the project settings in the mantis_config_table. I Set everything on On. I checked that every issue with a plandate has an Handler. |
|
@tomr, |
|
@Cas, stupid, stupid, stupid. You are quit right. Email is sent as a cronjob ( only during working hours ). However: I noticed that the field email all contains @null@, however somehow it does not pickup the actual email of the handler. The body does only show some tekxt, but not the issues ( or issue nummers ). |
|
Is there other way to store the session cookie, other than modifying the "lynx.cfg". It's because my web host doesn't allow me to change that file as it is shared with other user on that server. Do you have any idea how i could do it? as my cron job will not work properly without following prabhurangan instruction above (0021947). Thanks. |
|
That could also be fixed if cas would use the auth_attempt_script_login function to log the reminder script into a particular account. Off course somewhere it needs to be selected which account needs to be used |
|
Issue with selecting project solved in version 1.06 |
|
Handled scheduling (see readme for new way of dealing) and authorizations in version 1.07 |
|
Cas, I think there is a type in scripts/bug_reminder_mail.php require_once( '/../../../core.php' ); should be require_once( '../../../core.php' ); At least for me, otherwise it can not find the correct path due to OPENBASE_DIR restrictions. Unfortunately I will not get any emails form the plugin ( in the email table or direct ), while I am sure it should sent something ( I have some plan-dates, the status is correct ). Any idea how to debug why it dos not sent ( select any issue ) any emails? ( By the the way, selecting a project is working fine now ( 0010153:0025263 ). |
|
TomR, |
|
Cas, the same with me, for scripts/bug_reminder_mail.php and scripts/bug_feedback_mail.php,
|
|
Have adjusted the source code. Will be in version 1.08 |
|
Cas, my settings are that everything is on On. If you want, I can setup a test enviroment and give you an temp. account on that. |
|
Uploaded version 1.08. Did find some issues based upon TomR comments and hopefully took care of them. In the script directory you will also find a script called bug_reminder_mail_test.php @TomR |
|
Cas , i have installed your plugin and when i am accessing the url(http://localhost/mantisbt/plugin.php?page=Reminder/bug_reminder_mail.php) i am getting the error below, Plugin page not found. Please use the "Back" button in your web browser to return to the previous page. There you can correct whatever problems were identified in this error or select another action. You can also click an option from the menu bar to go directly to a new section. |
|
That makes sense since I had to move the scripts in order to accomodate the scheduling options. |
|
that did the work thanks a lot.. |
|
Yes, it can be run online but that script actually is meant to be used in batch mode hence no output. |
|
You can do that with the following code (source EmailReporting plugin) php_sapi_name() === 'cli' cli = the command line client |
|
Thanks for the tip, will be available in next release (1.10) |
|
I installed 1.08 and run plugins/Reminder/scripts/bug_reminder_mail_test/php Result belowQuery-handler being executed SYSTEM WARNING: mysql_num_rows(): supplied argument is not a valid MySQL result resource SYSTEM WARNING: mysql_num_rows(): supplied argument is not a valid MySQL result resource Seems to be some types in line 49 and 149: t_rem_project -> $t_rem_project However when I fix the typos it still gives me an error: Query-handler being executed SYSTEM WARNING: mysql_num_rows(): supplied argument is not a valid MySQL result resource SYSTEM WARNING: mysql_num_rows(): supplied argument is not a valid MySQL result resource |
|
@Cas, found out that the constructed queries are not totally correct: The first query having a double order by ( should be one ) When I run the queries manually ( corrected ) I got some results. I hope you can use this to perfect your plugin ( Thnx anyway for all your work ). I guess I'm a better testen than developer ;-) |
|
Will replay & fix this tomorrow. In the mean time, try with all projects and see if that is working ok. |
|
The double order i need to automate. It says in config that you should not activate both groupings. looks you did just that. Good that we also have better testers than developers. This way it will become a decent plugin. |
|
@Cas, also got errors on the implode function. I tried to comment them out, but that resulted in having emails sent out multiple tomes ( and bugnotes with incomplete information ). However I hope this info will help you further. |
|
Have fixed in version 1.09 (atleast think i did):
|
|
Just installed 1.09 and still get error when calling: Could not open input file Install and config went fine without trouble. Any hints? |
|
please read: |
|
on version 1.09, when i receive an email informing about the due date of the issue, the link given in like this (http://mantis.homepage.com/plugins/Reminder/scripts/view.php?id=1) which when i click will display URL not found. i guess the link should be like this; (http://mantis.homepage.com/view.php?id=1). Because that was the link produce when using the older version of this plugin. Which when i click will direct me to the Detail of the issue. Could you give me a tip on how to modify this new version to produce the same link as the old version? |
|
Did this happen when using the scheduled version or via the browser? |
|
Thanks for the hint. So I will use "wget -q URL -O /dev/null" in my crontab |
|
Same behaviour here. Link in email points to wrong path. btw. are you interested in having a german translation? |
|
German transaltion would be perfect. I still have some text that needs to be made variable. Would like to have this done in 1.10. The way to call the script has changed. Unfortunately I cannot change the text under Additional Information anymore. As for the error, please adjust the test script with the following 2 lines, just after "$basenow = time(true);" Now run the script and review output. |
|
@Cas, i already found the culprit, why the link i received in the email was changed. It was because i updated my mantis this morning to the new stable release, version 1.2.1. Would you mind looking for this issue? Hope its not a big change. |
|
just tried it. Output is: My mantis root is: I run v1.2.1 as well. |
|
Can you please try the following fix: |
|
Works! Does that means you get the wrong path? |
|
Uploaded version 1.10. If using 1.2.1, do read the documentation. |
|
Thumbs up for this nice plugin IMHO setting g_path in config_inc is not a nice way. Mantis normally works without absolut pathes. Is there no variable/whatever to get the mantis path? Please add a changelog file to your docs. Should I sent my translation to you? Friday it should be ready. |
|
I could define it as a variable within the plugin but that is a similar excercise. As for the translation, please send to admin_at_nuy_dot_info |
|
Translation is nearly ready. I have a few questions and hints. Plugin description ist not translatable README.TXT > Installation Configuration: What means "handler"? Maybe I found some typos.
|
|
Typos have been corrected (you are right). |
|
Hi Cas, Could you possibly change all the direct mysql_query calls to mantis api calls. People using mysqli or mssql server or any other supported database will not be able to use your plugin (including me as i'm using mysqli) SL-Gundam |
|
Version 1.11 with :
|
|
Hallo cas, Any ideas? Cheers |
|
Mark, |
|
cas, are you aware that there exists also http://git.mantisforge.org/w/Reminder.git IMO there should be only one place where the plugin can be found. |
|
I was aware of it. I have not found enough time to deal with GIT (despite support from Kirill!). |
|
I'm unable to get the cli version of the reminder working (haven't tried the lynx hack yet; I'd like to not have to use it.) I'm using version 111, mantis 1.2.3. I even changed the bug_reminder_mail.php to be: $t_login = config_get( 'plugin_Reminder_reminder_login' ); It works from the browser, but I'm already authenticated there. |
|
Where is plugin_Reminder_reminder_login supposed to be defined? I put it in /etc/mantis/config_inc.php and I think it wasn't finding it. anyway, I wrote a generic solution: #!/usr/bin/perl -w by Rich Rauenzahn, rrauenza@gmail.comuse strict; use HTTP::Cookies; my $pw = "password"; Create a jar for auth cookies to go into.my $jar = HTTP::Cookies->new(); make a user agent.my $ua= LWP::UserAgent->new(); by default, user agent's don't follow 302's with POSTspush @{ $ua->requests_redirectable }, 'POST'; add cookie jar to user agent$ua->cookie_jar($jar); login the usermy $req = HTTP::Request->new(POST => "$mantis/login.php"); my $res = $ua->request($req); if ($res->is_success) { request the reminders.#my $req = HTTP::Request->new(GET => "$mantis/plugins//Reminder/scripts/bug_reminder_mail_test.php"); |
|
The login is defined in the config of this plugin. With the function auth_attempt_script_login, no password is required. There is also no password registered for this. |
|
Ah! I see it now: Run scheduled script on the account of: admin |
|
I can't get the command line version of the reminder to work. Using Mantis 1.2.3 [rrauenza@tendo scripts]$ pwd It has no output. What is also weird is I added echo "hello\n" to the code: $ head bug_reminder_mail.php This page sends an E-mail if a due date is getting nearincludes all due_dates not metrequire_once( '../../../core.php' ); Something weird must be going on... |
|
If you run it in the browser, results are send to the screen. |
|
yeah, that's what is weird. It runs fine from the browser -- and even fine from the perl script above. But running it standalone.. it just does nothing. Doesn't even echo 'hello'. (which does echo in the browser). Weird. Am I missing some env variables or something while running it externally? |
|
Probably then fails on a path setting. Just put the echo before the require_once and that will work. |
|
What's the correct path? This fails even worse: pwd/usr/share/mantis php plugins/Reminder/scripts/bug_reminder_mail.phpPHP Warning: require_once(../../../core.php): failed to open stream: No such file or directory in /usr/share/mantis/plugins/Reminder/scripts/bug_reminder_mail.php on line 4 In order for the require to work with ../../.. I have to run it out of the plugin's actual directory. Hmm, yes, for some reason the 'require' makes the script exit prematurely from the command line. <?php This page sends an E-mail if a due date is getting nearincludes all due_dates not metecho "hello1\n"; (I didn't get these following error messages either until I added the hello above the require.) php bug_reminder_mail.phphello1 Too bad php doesn't have a command line debug mode like perl :( It's working via my perl script that accesses the web page, but it is really odd I can't run this from the shell. |
|
The messages about the headers occur because of the Hello so that matches. |
|
Hi, APPLICATION ERROR #200 How can I fix this? (I'm using Mantis 1.23) Thanks |
|
when exactly does this happen, when having clicked on Install or later in the process? |
|
after saving the configuration.. |
|
Edit: that means, after "Update definition" |
|
Cannot reproduce this error. Tried a fresh install of Mantis 1.2.3 and installed/configured the plugin without issue. |
|
reinstall worked for me, thanks! |
|
This Problem still exist with Mantis 1.2.03a and Reminder.111.zip <i>If the due_date is not set, the year of the due date will have a value of 1970 (default value). The manager overview does not have the split as mentioned but this may become available later.</i> |
|
Please test with a final release. |
|
thx for response cas |
|
Sounds familiar to me, upgrading can be a pain after making may changes.Its my reason to convert my changes where opossible to a plugin! |
|
First i placed in config.inc.php de due_date handling-code. |
|
In that case, place the code just after: |
|
sadly this code i postet the file here: http://www.mantisbt.org/bugs/file_download.php?file_id=3081&type=bug no problem when you dont have the abillity or will to watch out! |
|
In that case check your bug_report.php. Ofcourse make a backup first before changing. |
|
the code in bug_report.php is different from yours. replace this code with the new one dont work. |
|
In that case new code would be: |
|
this give a failure <b>Parse error: syntax error, unexpected '<' in</b> dude, you spent much time on that... no problem when you leave now! Support for a not uo2date mantis installation is for sure difficult. Thank you very much for your work here! <?php Mantis - a php based bugtracking systemMantis is free software: you can redistribute it and/or modifyit under the terms of the GNU General Public License as published bythe Free Software Foundation, either version 2 of the License, or(at your option) any later version.# Mantis is distributed in the hope that it will be useful,but WITHOUT ANY WARRANTY; without even the implied warranty ofMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See theGNU General Public License for more details.# You should have received a copy of the GNU General Public Licensealong with Mantis. If not, see <http://www.gnu.org/licenses/>.
<!-- old
?>
?> <?php html_page_bottom1( FILE ) ?> |
|
You are commenting code in the HTML way (where you say old and neu). |
|
Hi, |
|
ah okay, I forgot the spam filter. Resolved... |
|
cas, I think this issue can be closed as there is now an own project "Plugin - Reminder" for it. Maybe time to think about your own Git project? |
|
I moved the issue to the new project. As a "poor man's Git" you could create one issue to hold the source code and set the issue sticky. |
|
Uploaded version 1.12 which has protection build in to run the scripts simply from the browser |
|
Great Plugin. |
|
@binunice, |
|
Appeared faster than initially expected. |
|
i like the plugin and it solve first my problem. But with respect to cas the quality of the code i not the best to include more features. I m looking for people to want to rewrite a Reminder Plugin. One mayor goal are, to have more information about the Task your are reminding on. (Just patch this plugin to see the summary). The second mayor goal is to have a option to remind you on some other cases like:
Feedback welcome. |
|
Not sure what your first problem is but glad it is solved. |
|
teste |
|
is this plugin compatible with Mantis 1.2.8 ? I`m getting the following error by executing the bug_reminder_mail.php. Hope you can help me.Thank you. PHP Warning: require_once(../../../core.php): failed to open stream: No such fi |
|
I change all the line |
|
@oxomichael, cas & co. After making changes as per your recomendation and running php /path/mantis/Reminder/scripts/bug_reminder_mail.php, (runing vintage 1.2.8, apache+mysql), I still get an error 0000401 (w/ debugging on): Variable Value Type Help please, I'll gladly pay for solution (as we need this feature very much)... |
|
I installed it today and had to modify plugins/Reminder/scripts/bug_reminder_mail.php in order to work $multiply=1; gerald |
|
I agree with points 2 and 3 made by gerald2545 in http://www.mantisbt.org/bugs/view.php?id=10153#c31405 |
|
I have uploaded the french translation, should anyone find it useful. |
|
Nice plugin, just what I needed. I used the plugin with mantis 1.2.10, no major problems so far. The option "use hours instead of days" seems to have been evaluated the wrong way around, plus in one of the scripts multiple was mispelled as multipe so the setting didn't have an effect at all. I've corrected these problems in Reminder121.zip (attached). I've also extended the plugin to allow more than just one status to be selected for reminders. I want to be able to send reminders not just for one status but for a whole group of statusses. So the single drop down box has been modified into a multiple selection box, the SQL select statement adjusted accordingly. Unfortunately, this required some code cloning from print_api and helper_api since I didn't want to change code in mantis proper. Maybe someone would like to integrate my change to check_selected() into helper_api. |
|
I was wondering if the Feedback reminder email should be send to the Reporter instead of the Handler. Consider that the issue hasn't been assigned yet and a handler candidate might hav a question to the issie starter before (self-)assignment. |
|
@funta222, it should send the email to the reporter. I think you refer to the bug_feedback_mail script. |
|
@johmart, I guess you have not verified all scripts since some of them are not yet adjusted to work with multiple statusses. |
|
Reminder122.zip
|
|
Hello, wonderful plugin, thank you for your efforts! I am having a confusing problem with the plugin, and suspect that I might just need to change my configuration. I am using Mantis 1.2.8 schema 183, and just upgraded to Reminder 1.22. Reminder successfully sends a reminder email every day (as intended) but the problem I'm having is that only ONE bug link is ever listed in the email I receive. All of my bugs have due dates, and when I use the test script at plugins/Reminder/scripts/bug_reminder_mail_test.php I have 10 bugs listed, but I only ever receive a link to one of the bugs in the Reminder email. I used a diff tool to check for and correct differences between the test and production scripts (minus echo statements) and the production script still does not work correctly. Any suggestions you can offer will be most appreciated. Thank you! |
|
@webmasterqol I'm getting multiple URLs in both Due Reminder and Feedback Reminder emails (v1.22) Do you see the last line in your emails? : "Please do not reply to this message" |
|
Thank you for your reply. Yes, the last line of the reminder email says "Please do not reply to this message". It only ever contains 1 URL despite many bugs being due within the configured 7 day timeframe. I have also noticed that if I change configuration options for the plugin, such as turning on or off "Generate manager mail by project", "Generate handler mail", "Group issues (Only when below is off)", etc., that the plugin stops working altogether. Would anyone be willing to share your configuration settings that are now working? |
|
i have a problem that the email reminder link is http://localhostview.php?id=27 The server is setup at internal network and had firewall NAT. so that i can connect to server from private IP or public IP. If i set $g_path = private IP , i can't connect from public . if i set $g_path = public IP then i cannot connect from private IP. Sorry for my poor english |
|
You could define the g_path like this: --- Path definitionif ($_SERVER["SERVER_NAME"] == "189.189.189.189"){ |
|
Thanks cas my httpd.conf so config_inc.php like this? is the "SERVER_NAME" is variable? if ($_SERVER["SERVER_NAME"] == "www.abc.com.hk:8088"){ |
|
Yes, that is how it works. What happens is that the path settings are based upon servername. This enables mantis to run under 2 different ones. The second one could also be http://localhost:8088 assuming that 192.168.1.100 is the ip-address of the server itself. |
|
if i set that , i can go from internal network use Private IP http://192.168.0.100:8088/'; [^] and i also can't send the email reminder C:\wamp\www\plugins\Reminder\scripts>C:\wamp\bin\php\php5.4.3\php.exe bug_remind Notice: Undefined index: SERVER_NAME in C:\wamp\www\config_inc.php on line 26 Call Stack: Possible Whitespace/Error in Configuration File - Aborting. Output so far follow |
|
SERVER_NAME is quite normal with php 5 so not sure what is wrong on your config. |
|
yes. firewall config should be correct . |
|
@webmasterqol Mantis Send Reminder E-Mail: Configuration Mantis Send Feedback E-Mail Export Settings |
|
EDITED: Excellent plugin!!! |
|
I have added this plugin to Github, so I can do a couple of tweaks to it: |
|
Hi Nuy, I have a synology and I am new in MantisBT, and I try to install some usefull plugins, I see the remider will be very usefull for me, then I installed it and send an error, described below, others plugins works very well. I have a synology platform with mysql. APPLICATION ERROR 0000401 |
|
Could I humbly suggest that this issue be closed, and future bugs and features for the Reminder plugin be opened as separate issues on the 'Plugins - Reminder' project? Then, they can be dealt with separately. This page just seems to be a bit too big! :-) |
|
Plugin now hosted in the MantisBT plugins organization at Github https://github.com/mantisbt-plugins/Reminder. The repository contains the full history of the code from the zip files uploaded here by cas, plus a few additional fixes and improvements by Sam Wilson (0010153:0035402). |
|
who developer can help to add the attachment chinese traditional lang into github project. |
|
gbvfghf |
|
Gentlemen, I use the Reminder 1.22. I do not understand one thing ... how to set the date of the notification before you get a reminder? I want to set the date for all notifications (each individual) but do not know where to do this ... Regards, |
|
Please close and lock this issue. btw. how to stop being notified by this never ending issue thread? |
|
Remove yourself from the monitorlist........... |
|
I have a feature request for the Reminder The idea is to use an additional Status (WaitingFor) in order to "park" tickets not active for some time (i.e. fixed with next release in June). These tickets should be excluded in statistics, filters, ... so the Reminder is great to be reminded when they become due. The problem is that I would like to avoid tickets in this status without a due date. What I need is a possibility to inform the assigned user if a ticket is in this status without a due date. Tickets in another Status do not require a due date. A possible solution could be an option: Warn empty due dates for status: xxxx Would it be possible to add this feature? |
|
For this you can check out the query plugin which allows you to freely create queries and have the results send out as xls. |
|
I want config to auto send email when it is field Due_Date before 2 days. |
|
Please check the documentation, it is described in there. |
|
I have problem with automatic sending emails. I'm trying to add script to cron task via hosting settings (i don't have ssh access), but i think there is not allowed CLI in my hosting. |
|
@vasut, please don't use this issue to discuss any problems or bugs. I will close this issue to prevent more activity in it. |
|