X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=cgi%2Fpkgreport.cgi;h=eb8e54f7f8ee1acd21a973813614a83b1b259034;hb=509dc1d30d2083164bf434e52348065b03fa8787;hp=8733d9a3198adfb1c9defc2f7eadeccc766c3e91;hpb=a0d158a62824aab9f5182a5391f5bc56a301bd13;p=debbugs.git diff --git a/cgi/pkgreport.cgi b/cgi/pkgreport.cgi index 8733d9a..eb8e54f 100755 --- a/cgi/pkgreport.cgi +++ b/cgi/pkgreport.cgi @@ -37,9 +37,13 @@ BEGIN { # if the first directory in @INC is not an absolute directory, assume that # someone has overridden us via -I. if ($INC[0] !~ /^\//) { + undef $debbugs_dir; + } + if (defined $debbugs_dir) { + unshift @INC, $debbugs_dir.'/lib/'; } } -use if defined $debbugs_dir, lib => $debbugs_dir; + binmode(STDOUT,':encoding(UTF-8)'); use POSIX qw(strftime nice); @@ -53,6 +57,7 @@ use Debbugs::Common qw(getparsedaddrs make_list getmaintainers getpseudodesc); use Debbugs::Bugs qw(get_bugs bug_filter newest_bug); use Debbugs::Packages qw(source_to_binary binary_to_source get_versions); +use Debbugs::Collection::Bug; use Debbugs::Status qw(splitpackages); @@ -292,8 +297,10 @@ my %bugusertags; my %ut; my %seen_users; +my @users; for my $user (map {split /[\s*,\s*]+/} make_list($param{users}||[])) { next unless length($user); + push @users, $user; add_user($user,\%ut,\%bugusertags,\%seen_users,\%cats,\%hidden); } @@ -304,7 +311,8 @@ if (defined $param{usertag}) { Debbugs::User::read_usertags(\%select_ut, $u); unless (defined $t && $t ne "") { $t = join(",", keys(%select_ut)); - } + } + push @users,$u; add_user($u,\%ut,\%bugusertags,\%seen_users,\%cats,\%hidden); push @{$param{tag}}, split /,/, $t; } @@ -355,6 +363,8 @@ if (defined $config{usertag_package_domain}) { } for my $package (@possible_packages) { next unless defined $package and length $package; + push @users, + $package.'@'.$config{usertag_package_domain}; add_user($package.'@'.$config{usertag_package_domain}, \%ut,\%bugusertags,\%seen_users,\%cats,\%hidden); } @@ -464,7 +474,17 @@ my %bugs; @bugs{@bugs} = @bugs; @bugs = keys %bugs; -my $result = pkg_htmlizebugs(bugs => \@bugs, +my $bugs = Debbugs::Collection::Bug-> + new(bugs => \@bugs, + @schema_arg, + users => [map {my $u = Debbugs::User->new($_); + $u->has_bug_tags()?($u):() + } @users], + ); + +$bugs->load_related_packages_and_versions(); + +my $result = pkg_htmlizebugs(bugs => $bugs, names => \@names, title => \@title, order => \@order,