From a670bb1a0c33f108f1e4211c95c3c6f80c09eecd Mon Sep 17 00:00:00 2001 From: Byron Jones Date: Mon, 22 Dec 2014 16:36:04 +0800 Subject: Bug 860297: "see also" links shown by inline history which link to the current bugzilla installation should show tooltips --- extensions/InlineHistory/Extension.pm | 19 +++++++++++++++++++ .../default/hook/bug/comments-aftercomments.html.tmpl | 10 +++++++--- 2 files changed, 26 insertions(+), 3 deletions(-) diff --git a/extensions/InlineHistory/Extension.pm b/extensions/InlineHistory/Extension.pm index 803262517..4cff558c7 100644 --- a/extensions/InlineHistory/Extension.pm +++ b/extensions/InlineHistory/Extension.pm @@ -12,6 +12,7 @@ use base qw(Bugzilla::Extension); use Bugzilla::User::Setting; use Bugzilla::Constants; use Bugzilla::Attachment; +use Bugzilla::Util 'correct_urlbase'; our $VERSION = '1.5'; @@ -124,6 +125,24 @@ sub template_before_process { } } + # split see-also + if ($change->{fieldname} eq 'see_also') { + my $url_base = correct_urlbase(); + foreach my $f (qw( added removed )) { + my @values; + foreach my $value (split(/, /, $change->{$f})) { + my ($bug_id) = substr($value, 0, length($url_base)) eq $url_base + ? $value =~ /id=(\d+)$/ + : undef; + push @values, { + url => $value, + bug_id => $bug_id, + }; + } + $change->{$f} = \@values; + } + } + # split multiple flag changes (must be processed last) if ($change->{fieldname} eq 'flagtypes.name') { my @added = split(/, /, $change->{added}); diff --git a/extensions/InlineHistory/template/en/default/hook/bug/comments-aftercomments.html.tmpl b/extensions/InlineHistory/template/en/default/hook/bug/comments-aftercomments.html.tmpl index 3c4d4a202..d75c69f78 100644 --- a/extensions/InlineHistory/template/en/default/hook/bug/comments-aftercomments.html.tmpl +++ b/extensions/InlineHistory/template/en/default/hook/bug/comments-aftercomments.html.tmpl @@ -142,9 +142,13 @@ UNLESS is_safe_url(value) %]> [%~%][% value FILTER ih_short_value FILTER html FILTER js %] [% ELSIF change.fieldname == 'see_also' %] - [% FOREACH see_also = value.split(', ') %] - [%~%] - [%~%][% see_also FILTER html FILTER js %] + [% FOREACH see_also = value %] + [% IF see_also.bug_id %] + [%~%][% "$terms.bug $see_also.bug_id" FILTER bug_link(see_also.bug_id) FILTER js %] + [% ELSE %] + [%~%] + [%~%][% see_also.url FILTER html FILTER js %] + [% END %] [%- ", " IF NOT loop.last %] [% END %] [% ELSIF change.fieldname == 'assigned_to' || -- cgit v1.2.3-24-g4f1b