summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorlpsolit%gmail.com <>2009-05-23 20:19:08 +0200
committerlpsolit%gmail.com <>2009-05-23 20:19:08 +0200
commit35626e6efffd5660091d94d1599f12fc3ae83115 (patch)
tree6e28d242012e95d7f0e840c3d774d837bdda99e3
parent58dedffde8e1e909e5d64f11b131453b0d477e70 (diff)
downloadbugzilla-35626e6efffd5660091d94d1599f12fc3ae83115.tar.gz
bugzilla-35626e6efffd5660091d94d1599f12fc3ae83115.tar.xz
Bug 487330: Links in comments pointing to patches should go to the 'diff' view rather than the plain text view, by default - Patch by uokrent@gmail.com r/a=LpSolit
-rw-r--r--Bugzilla/Template.pm18
1 files changed, 15 insertions, 3 deletions
diff --git a/Bugzilla/Template.pm b/Bugzilla/Template.pm
index 8c34bb493..3a46fad88 100644
--- a/Bugzilla/Template.pm
+++ b/Bugzilla/Template.pm
@@ -277,8 +277,8 @@ sub get_attachment_link {
detaint_natural($attachid)
|| die "get_attachment_link() called with non-integer attachment number";
- my ($bugid, $isobsolete, $desc) =
- $dbh->selectrow_array('SELECT bug_id, isobsolete, description
+ my ($bugid, $isobsolete, $desc, $is_patch) =
+ $dbh->selectrow_array('SELECT bug_id, isobsolete, description, ispatch
FROM attachments WHERE attach_id = ?',
undef, $attachid);
@@ -296,9 +296,21 @@ sub get_attachment_link {
$link_text =~ s/ \[details\]$//;
my $linkval = "attachment.cgi?id=$attachid";
+
+ # If the attachment is a patch, try to link to the diff rather
+ # than the text, by default.
+ my $patchlink = "";
+ if ($is_patch) {
+ # Determine if PatchReader is installed
+ my $patchviewer_installed = eval { require PatchReader; };
+ if ($patchviewer_installed) {
+ $patchlink = '&amp;action=diff';
+ }
+ }
+
# Whitespace matters here because these links are in <pre> tags.
return qq|<span class="$className">|
- . qq|<a href="${linkval}" name="attach_${attachid}" title="$title">$link_text</a>|
+ . qq|<a href="${linkval}${patchlink}" name="attach_${attachid}" title="$title">$link_text</a>|
. qq| <a href="${linkval}&amp;action=edit" title="$title">[details]</a>|
. qq|</span>|;
}