diff -r -u mantisbt-1.2.0a2-2009-07-02-master-4eaeb80.org/billing_inc.php mantisbt-1.2.0a2-2009-07-02-master-4eaeb80/billing_inc.php --- mantisbt-1.2.0a2-2009-07-02-master-4eaeb80.org/billing_inc.php 2009-07-02 17:10:35.000000000 +0200 +++ mantisbt-1.2.0a2-2009-07-02-master-4eaeb80/billing_inc.php 2009-07-02 17:10:21.000000000 +0200 @@ -64,6 +64,14 @@ $t_bugnote_stats_to_y = gpc_get_int('end_year', $t_bugnote_stats_to_def_y); $f_get_bugnote_stats_button = gpc_get_string('get_bugnote_stats_button', ''); + if ( access_has_project_level( config_get( 'time_tracking_reporting_select_reporter_threshold' ) ) ) { + $t_select_reporter = true; + $f_reporter_id = gpc_get_int( 'reporter_id', ALL_USERS ); + } + else { + $t_select_reporter = false; + $f_reporter_id = auth_get_current_user_id(); + } $f_bugnote_cost = gpc_get_int( 'bugnote_cost', '' ); $f_project_id = helper_get_current_project(); @@ -76,17 +84,21 @@ ?>
- +
- - - > + + + +> + + + + - +> + @@ -120,7 +147,7 @@ if ( !is_blank( $f_get_bugnote_stats_button ) ) { $t_from = "$t_bugnote_stats_from_y-$t_bugnote_stats_from_m-$t_bugnote_stats_from_d"; $t_to = "$t_bugnote_stats_to_y-$t_bugnote_stats_to_m-$t_bugnote_stats_to_d"; - $t_bugnote_stats = bugnote_stats_get_project_array( $f_project_id, $t_from, $t_to, $f_bugnote_cost ); + $t_bugnote_stats = bugnote_stats_get_project_array( $f_project_id, $t_from, $t_to, $f_reporter_id, $f_bugnote_cost ); if ( is_blank( $f_bugnote_cost ) || ( (double)$f_bugnote_cost == 0 ) ) { $t_cost_col = false; diff -r -u mantisbt-1.2.0a2-2009-07-02-master-4eaeb80.org/config_defaults_inc.php mantisbt-1.2.0a2-2009-07-02-master-4eaeb80/config_defaults_inc.php --- mantisbt-1.2.0a2-2009-07-02-master-4eaeb80.org/config_defaults_inc.php 2009-07-02 17:08:57.000000000 +0200 +++ mantisbt-1.2.0a2-2009-07-02-master-4eaeb80/config_defaults_inc.php 2009-07-02 17:09:08.000000000 +0200 @@ -2012,6 +2012,9 @@ # access level required to run reports $g_time_tracking_reporting_threshold = DEVELOPER; + # access level required to select reporter when running reports + $g_time_tracking_reporting_select_reporter_threshold = MANAGER; + #allow time tracking to be recorded without a bugnote $g_time_tracking_without_note = ON; diff -r -u mantisbt-1.2.0a2-2009-07-02-master-4eaeb80.org/core/bugnote_api.php mantisbt-1.2.0a2-2009-07-02-master-4eaeb80/core/bugnote_api.php --- mantisbt-1.2.0a2-2009-07-02-master-4eaeb80.org/core/bugnote_api.php 2009-06-24 10:04:53.000000000 +0200 +++ mantisbt-1.2.0a2-2009-07-02-master-4eaeb80/core/bugnote_api.php 2009-07-02 16:59:21.000000000 +0200 @@ -599,14 +599,16 @@ * @param int $p_project_id project id * @param string $p_from Starting date (yyyy-mm-dd) inclusive, if blank, then ignored. * @param string $p_to Ending date (yyyy-mm-dd) inclusive, if blank, then ignored. + * @param int $p_reporter_id * @param int $p_cost cost * @return array array of bugnote stats * @access public */ -function bugnote_stats_get_project_array( $p_project_id, $p_from, $p_to, $p_cost ) { +function bugnote_stats_get_project_array( $p_project_id, $p_from, $p_to, $p_reporter_id, $p_cost ) { $c_project_id = db_prepare_int( $p_project_id ); $c_to = db_bind_timestamp( $p_to . ' 23:59:59' ); $c_from = db_bind_timestamp( $p_from . ' 00:00:00' ); + $c_reporter_id = db_prepare_int( $p_reporter_id ); $c_cost = db_prepare_double( $p_cost ); // MySQL @@ -627,17 +629,23 @@ } if( ALL_PROJECTS != $c_project_id ) { - $t_project_where = " AND b.project_id = '$c_project_id' AND bn.bug_id = b.id "; + $t_project_where = " AND b.project_id = '$c_project_id' AND bn.bug_id = b.id"; } else { $t_project_where = ''; } + if ( ALL_USERS != $c_reporter_id ) { + $t_reporter_where = " AND bn.reporter_id = '$c_reporter_id'"; + } else { + $t_reporter_where = ''; + } + $t_results = array(); $query = "SELECT username, summary, bn.bug_id, SUM(time_tracking) AS sum_time_tracking FROM $t_user_table u, $t_bugnote_table bn, $t_bug_table b WHERE u.id = bn.reporter_id AND bn.time_tracking != 0 AND bn.bug_id = b.id - $t_project_where $t_from_where $t_to_where + $t_project_where $t_from_where $t_to_where $t_reporter_where GROUP BY bn.bug_id, u.id, u.username, b.summary ORDER BY bn.bug_id"; diff -r -u mantisbt-1.2.0a2-2009-07-02-master-4eaeb80.org/lang/strings_german_8859-1.txt mantisbt-1.2.0a2-2009-07-02-master-4eaeb80/lang/strings_german_8859-1.txt --- mantisbt-1.2.0a2-2009-07-02-master-4eaeb80.org/lang/strings_german_8859-1.txt 2009-06-23 10:06:29.000000000 +0200 +++ mantisbt-1.2.0a2-2009-07-02-master-4eaeb80/lang/strings_german_8859-1.txt 2009-07-02 16:32:38.000000000 +0200 @@ -1450,6 +1450,7 @@ $s_time_tracking_get_info_button = 'Zeiterfassungs-Informationen abfragen'; $s_time_tracking_cost_per_hour = 'Kosten / Stunde'; $s_time_tracking_cost = 'Kosten'; +$s_time_tracking_period = 'Zeitraum'; $s_total_time_for_issue = 'Gesamtzeit für den Eintrag = %s'; $s_access_denied = $MANTIS_ERROR[ERROR_ACCESS_DENIED]; diff -r -u mantisbt-1.2.0a2-2009-07-02-master-4eaeb80.org/lang/strings_german_eintrag.txt mantisbt-1.2.0a2-2009-07-02-master-4eaeb80/lang/strings_german_eintrag.txt --- mantisbt-1.2.0a2-2009-07-02-master-4eaeb80.org/lang/strings_german_eintrag.txt 2009-06-23 10:06:29.000000000 +0200 +++ mantisbt-1.2.0a2-2009-07-02-master-4eaeb80/lang/strings_german_eintrag.txt 2009-07-02 16:32:38.000000000 +0200 @@ -1449,6 +1449,7 @@ $s_time_tracking_get_info_button = 'Zeiterfassungs-Informationen abfragen'; $s_time_tracking_cost_per_hour = 'Kosten / Stunde'; $s_time_tracking_cost = 'Kosten'; +$s_time_tracking_period = 'Zeitraum'; $s_total_time_for_issue = 'Gesamtzeit für den Eintrag = %s'; $s_access_denied = $MANTIS_ERROR[ERROR_ACCESS_DENIED]; diff -r -u mantisbt-1.2.0a2-2009-07-02-master-4eaeb80.org/lang/strings_german.txt mantisbt-1.2.0a2-2009-07-02-master-4eaeb80/lang/strings_german.txt --- mantisbt-1.2.0a2-2009-07-02-master-4eaeb80.org/lang/strings_german.txt 2009-06-24 10:04:53.000000000 +0200 +++ mantisbt-1.2.0a2-2009-07-02-master-4eaeb80/lang/strings_german.txt 2009-07-02 16:32:38.000000000 +0200 @@ -1147,6 +1147,7 @@ $s_time_tracking_get_info_button = 'Zeiterfassungs-Informationen abfragen'; $s_time_tracking_cost_per_hour = 'Kosten / Stunde'; $s_time_tracking_cost = 'Kosten'; +$s_time_tracking_period = 'Zeitraum'; $s_total_time_for_issue = 'Gesamtzeit für den Eintrag = %s'; $s_access_denied = 'Zugriff verweigert.'; $s_twitter_resolved = '%d: [%s] %s (erledigt von %s in %s)';
+
+
+ + +
+ + + +
+ + - : - + name="bugnote_cost" value="" />