X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=Debbugs%2FBug.pm;h=641881a8fcb849b7568b959a2c6a245ffb1d151d;hb=d076b44e22d1ade88885f04b59db5319597604e3;hp=38ebbe7ee034a0f069b06246dc6031f99bb99c76;hpb=0f7cb608295bc9cb554d8f6555ca0c0987fdabf1;p=debbugs.git diff --git a/Debbugs/Bug.pm b/Debbugs/Bug.pm index 38ebbe7..641881a 100644 --- a/Debbugs/Bug.pm +++ b/Debbugs/Bug.pm @@ -72,6 +72,31 @@ sub _build_status { return $status; } +has log => (is => 'bare', isa => 'Debbugs::Log', + lazy => 1, + builder => '_build_log', + handles => {_read_record => 'read_record', + log_records => 'read_all_records', + }, + ); + +sub _build_log { + my $self = shift; + return Debbugs::Log->new(bug_num => $self->id, + inner_file => 1, + ); +} + +has spam => (is => 'bare', isa => 'Debbugs::Log::Spam', + lazy => 1, + builder => '_build_spam', + handles => ['is_spam'], + ); +sub _build_spam { + my $self = shift; + return Debbugs::Log::Spam->new(bug_num => $self->id); +} + has 'package_collection' => (is => 'ro', isa => 'Debbugs::Collection::Package', builder => '_build_package_collection', @@ -663,6 +688,10 @@ sub related_packages_and_versions { if (length($self->status->{package}//'')) { @packages = split /,/,$self->status->{package}//''; } + if (length($self->status->{affects}//'')) { + push @packages, + split /,/,$self->status->{affects}//''; + } my @versions = (@{$self->status->{found_versions}//[]}, @{$self->status->{fixed_versions}//[]}); @@ -676,8 +705,12 @@ sub related_packages_and_versions { } } for my $pkg (@packages) { - push @return, - [$pkg,@unqualified_versions]; + if (@unqualified_versions) { + push @return, + [$pkg,@unqualified_versions]; + } else { + push @return,$pkg; + } } return @return; }