Bug 40933

Show Blockers completed % and last changed time (Bug 28333) --> Bugzilla 3.2


git-svn-id: svn://svn.office.custis.ru/3rdparty/bugzilla.org/trunk@96 6955db30-a419-402b-8a0d-67ecbb4d7f56
custis
vfilippov 2009-01-13 15:23:11 +00:00
parent 035cd33e32
commit 2973155fe7
3 changed files with 28 additions and 2 deletions

View File

@ -2027,6 +2027,26 @@ sub set_summary { $_[0]->set('short_desc', $_[1]); }
sub set_target_milestone { $_[0]->set('target_milestone', $_[1]); }
sub set_url { $_[0]->set('bug_file_loc', $_[1]); }
sub set_version { $_[0]->set('version', $_[1]); }
sub depscompletedpercent { $_[0]->checkdepsinfo; $_[0]->{depscompletedpercent}; }
sub lastchangeddeps { $_[0]->checkdepsinfo; $_[0]->{lastchangeddeps}; }
sub checkdepsinfo
{
my $self = shift;
my $dep = $self->dependson;
return if defined $self->{lastchangeddeps} || !$dep || !@$dep;
my $where = "bug_id IN (" . join(",", ("?") x @$dep) . ")";
my ($last, $rem) = Bugzilla->dbh->selectrow_array(
"SELECT MAX(delta_ts), SUM(remaining_time)" .
" FROM bugs WHERE $where", undef, @$dep
);
my ($work) = Bugzilla->dbh->selectrow_array(
"SELECT SUM(work_time) FROM longdescs WHERE $where",
undef, @$dep
);
$self->{lastchangeddeps} = $last;
$self->{depscompletedpercent} = int(100*$work/($work+$rem || 1));
}
########################
# "Add/Remove" Methods #

View File

@ -91,8 +91,8 @@ if ($single) {
# Determine if Patch Viewer is installed, for Diff link
eval {
require PatchReader;
$vars->{'patchviewerinstalled'} = 1;
require PatchReader;
$vars->{patchviewerinstalled} = 1;
};
$vars->{'bugs'} = \@bugs;

View File

@ -690,6 +690,12 @@
[% PROCESS dependencies
dep = { title => "Depends on", fieldname => "dependson" } %]
</tr>
[% IF bug.lastchangeddeps %]
<tr>
<td></td>
<td><font size="-2">Blockers completed <b>~[% bug.depscompletedpercent %]%</b>, last changed <b>[% bug.lastchangeddeps %]</b></font></td>
</tr>
[% END %]
<tr>
[% PROCESS dependencies accesskey = "b"