From: <gi...@ma...> - 2009-09-23 08:54:35
|
The branch, master has been updated via 6e5852da462e8a6e01e3f2e9ce329d50e88dfbf2 (commit) from 94902e74c919f1341ab62a7c3b10f7b0ecf53689 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit 6e5852da462e8a6e01e3f2e9ce329d50e88dfbf2 Author: David Hicks <hic...@op...> Date: Wed Sep 23 18:51:10 2009 +1000 Fix #10748: Fix due_date column, add new overdue column This patch implements support for showing the due_date field as a column. Additionally, the overdue icon has been moved from within the edit column to it's own new "overdue" column. The functionality of the due_date and overdue columns do overlap, so it only makes sense to use one at a time. ----------------------------------------------------------------------- Summary of changes: core/bug_api.php | 4 +-- core/columns_api.php | 86 +++++++++++++++++++++++++++++++++++++------------ 2 files changed, 66 insertions(+), 24 deletions(-) ----------------------------------------------------------------------- commit 6e5852da462e8a6e01e3f2e9ce329d50e88dfbf2 Author: David Hicks <hic...@op...> Date: Wed Sep 23 18:51:10 2009 +1000 Fix #10748: Fix due_date column, add new overdue column This patch implements support for showing the due_date field as a column. Additionally, the overdue icon has been moved from within the edit column to it's own new "overdue" column. The functionality of the due_date and overdue columns do overlap, so it only makes sense to use one at a time. diff --git a/core/bug_api.php b/core/bug_api.php index 3dca7fe..c0b6237 100644 --- a/core/bug_api.php +++ b/core/bug_api.php @@ -96,6 +96,7 @@ class BugData { protected $summary = ''; protected $sponsorship_total = 0; protected $sticky = 0; + protected $due_date = 0; # omitted: # var $bug_text_id @@ -109,9 +110,6 @@ class BugData { # internal helper objects private $_stats = null; - # due date - protected $due_date = ''; - public $attachment_count = null; public $bugnotes_count = null; diff --git a/core/columns_api.php b/core/columns_api.php index e8232e2..31d509f 100644 --- a/core/columns_api.php +++ b/core/columns_api.php @@ -75,6 +75,9 @@ function columns_get_standard() { $t_columns['selection'] = null; $t_columns['edit'] = null; + # Overdue icon column (icons appears if an issue is beyond due_date) + $t_columns['overdue'] = null; + if( OFF == config_get( 'enable_profiles' ) ) { unset( $t_columns['os'] ); unset( $t_columns['os_build'] ); @@ -800,6 +803,16 @@ function print_column_title_additional_information( $p_sort, $p_dir, $p_columns_ echo '</td>'; } +function print_column_title_overdue( $p_sort, $p_dir, $p_columns_target = COLUMNS_TARGET_VIEW_PAGE ) { + global $t_icon_path; + echo '<td>'; + $t_overdue_text = lang_get( 'overdue' ); + $t_overdue_icon = '<img src="' . $t_icon_path . 'overdue.png" alt="' . $t_overdue_text . '" title="' . $t_overdue_text . '" />'; + print_view_bug_sort_link( $t_overdue_icon, 'due_date', $p_sort, $p_dir, $p_columns_target ); + print_sort_icon( $p_dir, $p_sort, 'due_date' ); + echo '</td>'; +} + /** * * @param BugData $p_bug bug obect @@ -858,14 +871,9 @@ function print_column_plugin( $p_column_object, $p_bug, $p_columns_target = COLU */ function print_column_edit( $p_bug, $p_columns_target = COLUMNS_TARGET_VIEW_PAGE ) { global $t_icon_path, $t_update_bug_threshold; - $t_is_overdue = bug_is_overdue( $p_bug->id ); - $t_view_level = access_has_bug_level( config_get( 'due_date_view_threshold' ), $p_bug->id ); - if( $t_is_overdue && $t_view_level ) { - print "<td class=\"overdue\">"; - } else { - echo '<td>'; - } + echo '<td>'; + if( !bug_is_readonly( $p_bug->id ) && access_has_bug_level( config_get( 'update_bug_threshold' ), $p_bug->id ) ) { echo '<a href="' . string_get_bug_update_url( $p_bug->id ) . '">'; echo '<img border="0" width="16" height="16" src="' . $t_icon_path . 'update.png'; @@ -874,20 +882,6 @@ function print_column_edit( $p_bug, $p_columns_target = COLUMNS_TARGET_VIEW_PAGE } else { echo ' '; } - if( $t_is_overdue && $t_view_level ) { - echo '<a href="' . string_get_bug_update_url( $p_bug->id ) . '">'; - echo '<img border="0" width="16" height="16" src="' . $t_icon_path . 'overdue.png'; - echo '" alt="' . lang_get( 'overdue' ) . '"'; - echo ' title="' . lang_get( 'overdue' ) . '" /></a>'; - } - else if( !date_is_null( $p_bug->due_date ) && $t_view_level ) { - echo '<a href="' . string_get_bug_update_url( $p_bug->id ) . '">'; - echo '<img border="0" width="16" height="16" src="' . $t_icon_path . 'clock.png'; - echo '" alt="' . lang_get( 'due_date' ) . '"'; - echo ' title="' . lang_get( 'due_date' ) . '" /></a>'; - } else { - echo ' '; - } echo '</td>'; } @@ -1271,3 +1265,53 @@ function print_column_view_state( $p_bug, $p_columns_target = COLUMNS_TARGET_VIE echo '</td>'; } + +/** + * + * @param BugData $p_bug bug object + * @param int $p_columns_target: see COLUMNS_TARGET_* in constant_inc.php + * @return null + * @access public + */ +function print_column_due_date( $p_bug, $p_columns_target = COLUMNS_TARGET_VIEW_PAGE ) { + if ( !access_has_bug_level( config_get( 'due_date_view_threshold' ), $p_bug->id ) || + date_is_null( $p_bug->due_date ) ) { + echo '<td> </td>'; + return; + } + + if ( bug_is_overdue( $p_bug->id ) ) { + echo '<td class="overdue">'; + } else { + echo '<td>'; + } + + echo date( config_get( 'short_date_format' ), $p_bug->due_date ); + + echo '</td>'; +} + +/** + * + * @param BugData $p_bug bug object + * @param int $p_columns_target: see COLUMNS_TARGET_* in constant_inc.php + * @return null + * @access public + */ +function print_column_overdue( $p_bug, $p_columns_target = COLUMNS_TARGET_VIEW_PAGE ) { + global $t_icon_path; + + echo '<td>'; + + if ( access_has_bug_level( config_get( 'due_date_view_threshold' ), $p_bug->id ) && + !date_is_null( $p_bug->due_date ) && + bug_is_overdue( $p_bug->id ) ) { + $t_overdue_text = lang_get( 'overdue' ); + $t_overdue_text_hover = $t_overdue_text . '. Due date was: ' . date( config_get( 'short_date_format' ), $p_bug->due_date ); + echo '<img src="' . $t_icon_path . 'overdue.png" alt="' . $t_overdue_text . '" title="' . $t_overdue_text_hover . '" />'; + } else { + echo ' '; + } + + echo '</td>'; +} ----------------------------------------------------------------------- -- Mantis Bug Tracker |