Bug 54750 - openweb option
git-svn-id: svn://svn.office.custis.ru/3rdparty/bugzilla.org/trunk@685 6955db30-a419-402b-8a0d-67ecbb4d7f56master
parent
7bee502e22
commit
e7364c6775
|
@ -306,21 +306,28 @@ sub GetEdges
|
|||
|
||||
my @stack = keys %$baselist;
|
||||
|
||||
if ($display eq 'web')
|
||||
# web: Any relationship with selected bugs
|
||||
# openweb: Any relationship with selected bugs + state must be open
|
||||
if ($display eq 'web' || $display eq 'openweb')
|
||||
{
|
||||
my $sth = $dbh->prepare("SELECT blocked, dependson
|
||||
FROM dependencies
|
||||
WHERE blocked = ? OR dependson = ?");
|
||||
my $openweb = $display eq 'openweb' ? 1 : 0;
|
||||
my $sth = $dbh->prepare("SELECT blocked, dependson, bs.bug_status blocked_status, ds.bug_status dependson_status
|
||||
FROM dependencies, bugs bs, bugs ds
|
||||
WHERE (blocked=? OR dependson=?) AND bs.bug_id=blocked AND ds.bug_id=dependson");
|
||||
foreach my $id (@stack)
|
||||
{
|
||||
my $dependencies = $dbh->selectall_arrayref($sth, undef, ($id, $id));
|
||||
foreach my $dependency (@$dependencies)
|
||||
{
|
||||
my ($blocked, $dependson) = @$dependency;
|
||||
if ($blocked != $id && !exists $seen->{$blocked}) {
|
||||
my ($blocked, $dependson, $bs, $ds) = @$dependency;
|
||||
if ($blocked != $id && !exists $seen->{$blocked})
|
||||
{
|
||||
next if $openweb && !is_open_state($bs); # skip AddLink also
|
||||
push @stack, $blocked;
|
||||
}
|
||||
if ($dependson != $id && !exists $seen->{$dependson}) {
|
||||
if ($dependson != $id && !exists $seen->{$dependson})
|
||||
{
|
||||
next if $openweb && !is_open_state($ds); # skip AddLink also
|
||||
push @stack, $dependson;
|
||||
}
|
||||
AddLink($blocked, $dependson, $seen, $edges);
|
||||
|
|
|
@ -98,6 +98,8 @@
|
|||
Restrict to [% terms.bugs %] having a direct relationship with entered [% terms.bugs %]</option>
|
||||
<option value="web" [% 'selected="selected"' IF display == "web" %]>
|
||||
Show all [% terms.bugs %] having any relationship with entered [% terms.bugs %]</option>
|
||||
<option value="openweb" [% 'selected="selected"' IF display == "openweb" %]>
|
||||
Show all open [% terms.bugs %] having any relationship with entered [% terms.bugs %]</option>
|
||||
</select>
|
||||
</td>
|
||||
</tr>
|
||||
|
|
Loading…
Reference in New Issue