]> git.ipfire.org Git - thirdparty/bugzilla.git/commitdiff
Bug 470262 - Show alias if available in show_bug.cgi for bug dependencies, otherwise...
authordkl%redhat.com <>
Wed, 28 Jan 2009 03:53:41 +0000 (03:53 +0000)
committerdkl%redhat.com <>
Wed, 28 Jan 2009 03:53:41 +0000 (03:53 +0000)
Patch by David Lawrence <dkl@redhat.com> - r/a=mkanat

Bugzilla/Template.pm
template/en/default/bug/edit.html.tmpl

index e5fecbe0d89a08d7ebc44161e83a4f12d2097640..4c5f056624290234c321df25caa255f3ac72850e 100644 (file)
@@ -195,7 +195,7 @@ sub quoteUrls {
         map { qr/$_/ } grep($_, Bugzilla->params->{'urlbase'}, 
                             Bugzilla->params->{'sslbase'})) . ')';
     $text =~ s~\b(${urlbase_re}\Qshow_bug.cgi?id=\E([0-9]+)(\#c([0-9]+))?)\b
-              ~($things[$count++] = get_bug_link($3, $1, $5)) &&
+              ~($things[$count++] = get_bug_link($3, $1, { comment_num => $5 })) &&
                ("\0\0" . ($count-1) . "\0\0")
               ~egox;
 
@@ -249,7 +249,7 @@ sub quoteUrls {
     $text =~ s~\b($bug_re(?:$s*,?$s*$comment_re)?|$comment_re)
               ~ # We have several choices. $1 here is the link, and $2-4 are set
                 # depending on which part matched
-               (defined($2) ? get_bug_link($2,$1,$3) :
+               (defined($2) ? get_bug_link($2, $1, { comment_num => $3 }) :
                               "<a href=\"$current_bugurl#c$4\">$1</a>")
               ~egox;
 
@@ -314,7 +314,7 @@ sub get_attachment_link {
 #    comment in the bug
 
 sub get_bug_link {
-    my ($bug_num, $link_text, $comment_num) = @_;
+    my ($bug_num, $link_text, $options) = @_;
     my $dbh = Bugzilla->dbh;
 
     if (!defined($bug_num) || ($bug_num eq "")) {
@@ -323,10 +323,14 @@ sub get_bug_link {
     my $quote_bug_num = html_quote($bug_num);
     detaint_natural($bug_num) || return "&lt;invalid bug number: $quote_bug_num&gt;";
 
-    my ($bug_state, $bug_res, $bug_desc) =
-        $dbh->selectrow_array('SELECT bugs.bug_status, resolution, short_desc
-                               FROM bugs WHERE bugs.bug_id = ?',
-                               undef, $bug_num);
+    my $bug       = Bugzilla::Bug->new($bug_num);
+    my $bug_state = $bug->bug_status;
+    my $bug_res   = $bug->resolution;
+    my $bug_desc  = $bug->short_desc;
+
+    if ($options->{use_alias} && $bug->alias) {
+        $link_text = $bug->alias;
+    }
 
     if ($bug_state) {
         # Initialize these variables to be "" so that we don't get warnings
@@ -350,8 +354,8 @@ sub get_bug_link {
         $title = html_quote(clean_text($title));
 
         my $linkval = "show_bug.cgi?id=$bug_num";
-        if (defined $comment_num) {
-            $linkval .= "#c$comment_num";
+        if ($options->{comment_num}) {
+            $linkval .= "#c" . $options->{comment_num};
         }
         return qq{$pre<a href="$linkval" title="$title">$link_text</a>$post};
     }
@@ -562,10 +566,10 @@ sub create {
                          ],
 
             bug_link => [ sub {
-                              my ($context, $bug) = @_;
+                              my ($context, $bug, $options) = @_;
                               return sub {
                                   my $text = shift;
-                                  return get_bug_link($bug, $text);
+                                  return get_bug_link($bug, $text, $options);
                               };
                           },
                           1
index 379bac428abe4bc4d75086906604814c2b053302..50c7ea9d56a25e164ac9ff6d1de00ef43b3bd74e 100644 (file)
     </span>
     
     [% FOREACH depbug = bug.${dep.fieldname} %]
-      [% depbug FILTER bug_link(depbug) FILTER none %][% " " %]
+      [% depbug FILTER bug_link(depbug, use_alias => 1) FILTER none %][% " " %]
     [% END %]
     [% IF bug.check_can_change_field(dep.fieldname, 0, 1) %]
       <span id="[% dep.fieldname %]_edit_container" class="edit_me bz_default_hidden" >