Commit fa8fd93a authored by Frédéric Buclin's avatar Frédéric Buclin

Bug 55436: Implement list of duplicate bug numbers on show_bug.cgi

r=mkanat a=LpSolit
parent 9f377584
......@@ -487,10 +487,11 @@ sub preload {
my @all_dep_ids;
foreach my $bug (@$bugs) {
push(@all_dep_ids, @{ $bug->blocked }, @{ $bug->dependson });
push(@all_dep_ids, @{ $bug->duplicate_ids });
}
@all_dep_ids = uniq @all_dep_ids;
# If we don't do this, can_see_bug will do one call per bug in
# the dependency lists, during get_bug_link in Bugzilla::Template.
# the dependency and duplicate lists, in Bugzilla::Template::get_bug_link.
$user->visible_bugs(\@all_dep_ids);
}
......@@ -3243,6 +3244,26 @@ sub depends_on_obj {
return $self->{depends_on_obj};
}
sub duplicates {
my $self = shift;
return $self->{duplicates} if exists $self->{duplicates};
return [] if $self->{error};
$self->{duplicates} = Bugzilla::Bug->new_from_list($self->duplicate_ids);
return $self->{duplicates};
}
sub duplicate_ids {
my $self = shift;
return $self->{duplicate_ids} if exists $self->{duplicate_ids};
return [] if $self->{error};
my $dbh = Bugzilla->dbh;
$self->{duplicate_ids} =
$dbh->selectcol_arrayref('SELECT dupe FROM duplicates WHERE dupe_of = ?',
undef, $self->id);
return $self->{duplicate_ids};
}
sub flag_types {
my ($self) = @_;
return $self->{'flag_types'} if exists $self->{'flag_types'};
......
......@@ -164,8 +164,10 @@
[% PROCESS section_url_keyword_whiteboard %]
[% PROCESS section_spacer %]
[%# *** Dependencies *** %]
[%# *** Dependencies and duplicates *** %]
[% PROCESS section_duplicates %]
[% PROCESS section_dependson_blocks %]
</table>
......@@ -625,8 +627,31 @@
[% END %]
[%############################################################################%]
[%# Block for Depends On / Blocks #%]
[%# Block for Duplicates #%]
[%############################################################################%]
[% BLOCK section_duplicates %]
[% RETURN UNLESS bug.duplicates.size %]
<tr>
<td class="field_label">
<label for="duplicates">Duplicates</label>:
</td>
<td class="field_value" colspan="2">
<span id="duplicates">
[% FOREACH dupe = bug.duplicates %]
[% dupe.id FILTER bug_link(dupe, use_alias => 1) FILTER none %][% " " %]
[% END %]
</span>
(<a href="buglist.cgi?bug_id=[% bug.duplicate_ids.join(",") FILTER html %]">
[%-%]view as [% terms.bug %] list</a>)
</td>
</tr>
[% END %]
[%############################################################################%]
[%# Block for Depends On / Blocks #%]
[%############################################################################%]
[% BLOCK section_dependson_blocks %]
<tr>
[% INCLUDE dependencies
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment