]> git.donarmstrong.com Git - debbugs.git/blobdiff - scripts/service
Prefer the most recent debversion in the dependency list
[debbugs.git] / scripts / service
index a14691aa1c64b5ae84ad130ecf15898ae24794ed..df3bc2c04b070a26063728c00f3e7344f0bf75bb 100755 (executable)
@@ -32,14 +32,14 @@ use Debbugs::Versions::Dpkg;
 use Debbugs::Status qw(splitpackages);
 
 use Debbugs::CGI qw(html_escape);
-use Debbugs::Control qw(:all);
+use Debbugs::Control qw(:all valid_usertag);
 use Debbugs::Control::Service qw(:all);
 use Debbugs::Log qw(:misc);
 use Debbugs::Text qw(:templates);
 
 use Scalar::Util qw(looks_like_number);
 
-use List::AllUtils qw(first);
+use List::AllUtils qw(first uniqnum);
 
 use Mail::RFC822::Address;
 use Encode qw(decode encode);
@@ -425,7 +425,7 @@ END
            my %chtags;
            if (defined $tags and length $tags) {
                 for my $t (split /[,\s]+/, $tags) {
-                     if ($t =~ m/^[a-zA-Z0-9.+\@-]+$/) {
+                     if (valid_usertag($t)) {
                           $chtags{$t} = 1;
                      } else {
                           push @badtags, $t;
@@ -455,7 +455,11 @@ END
            } else {
                print {$transcript} "Usertags were: " . join(" ", @oldtags) . ".\n";
            }
-           print {$transcript} "Usertags are now: " . join(" ", @newtags) . ".\n";
+           if (@newtags == 0) {
+               print {$transcript} "There are now no usertags set.\n";
+           } else {
+               print {$transcript} "Usertags are now: " . join(" ", @newtags) . ".\n";
+           }
            Debbugs::User::write_usertags(\%ut, $user);
        }
     } elsif (!$control) {
@@ -573,20 +577,15 @@ sub fill_template{
      my $variables = {config => \%config,
                      defined($ref)?(ref    => $ref):(),
                      defined($data)?(data  => $data):(),
-                     refs => [map {exists $clonebugs{$_}?$clonebugs{$_}:$_} keys %bug_affected],
+                     refs => [sort
+                              uniqnum(defined($ref)?($ref):(),
+                                      map {exists $clonebugs{$_}?$clonebugs{$_}:$_}
+                                      keys %bug_affected)],
                      %{$extra_var},
                     };
-     my $hole_var = {'&bugurl' =>
-                    sub{"$_[0]: ".
-                             $config{cgi_domain}.'/'.
-                                  Debbugs::CGI::bug_links(bug=>$_[0],
-                                                          links_only => 1,
-                                                         );
-                   }
-                   };
      return fill_in_template(template => $template,
                             variables => $variables,
-                            hole_var  => $hole_var,
+                            output_type => 'text',
                            );
 }