diff options
author | Dylan William Hardison <dylan@hardison.net> | 2014-09-16 22:13:27 +0200 |
---|---|---|
committer | Dylan William Hardison <dylan@hardison.net> | 2014-09-18 18:59:10 +0200 |
commit | e2a3c8d2063d60e297e19e9d08c1974b5602b8ec (patch) | |
tree | 6e831afb2de4cc786cf2d602a6adb283a0d02028 /extensions | |
parent | 7b055b9f5a7f4250e6effb230bbfb1f7996b1904 (diff) | |
download | bugzilla-e2a3c8d2063d60e297e19e9d08c1974b5602b8ec.tar.gz bugzilla-e2a3c8d2063d60e297e19e9d08c1974b5602b8ec.tar.xz |
Bug 891199 - clicking on needinfo flag/text should scroll you to the comment which set the flag
Diffstat (limited to 'extensions')
-rw-r--r-- | extensions/InlineHistory/web/inline-history.js | 9 | ||||
-rw-r--r-- | extensions/Needinfo/template/en/default/bug/needinfo.html.tmpl | 32 |
2 files changed, 40 insertions, 1 deletions
diff --git a/extensions/InlineHistory/web/inline-history.js b/extensions/InlineHistory/web/inline-history.js index 685798ec0..ba30cb177 100644 --- a/extensions/InlineHistory/web/inline-history.js +++ b/extensions/InlineHistory/web/inline-history.js @@ -219,6 +219,9 @@ var inline_history = { } else { this._hasBugFlags = true; } + if (flagItem[3].match(/^needinfo\?/)) { + this.lastNeedinfo = flagItem; + } // don't break as there may be multiple flag changes at once } } @@ -395,6 +398,12 @@ var inline_history = { } }, + getNeedinfoDiv: function () { + if (this.lastNeedinfo && this.lastNeedinfo[5]) { + return this.lastNeedinfo[5]; + } + }, + htmlDecode: function(v) { if (!v.match(/&/)) return v; var e = document.createElement('textarea'); diff --git a/extensions/Needinfo/template/en/default/bug/needinfo.html.tmpl b/extensions/Needinfo/template/en/default/bug/needinfo.html.tmpl index 453f85fe2..d334f232b 100644 --- a/extensions/Needinfo/template/en/default/bug/needinfo.html.tmpl +++ b/extensions/Needinfo/template/en/default/bug/needinfo.html.tmpl @@ -21,13 +21,43 @@ [% END %] [% END %] +[% + BLOCK needinfo_comment_div; + match = needinfo_flags.last.creation_date.match('^(\d{4})\.(\d{2})\.(\d{2})(.+)$'); + date = "$match.0-$match.1-$match.2$match.3"; + FOREACH comment IN bug.comments; + NEXT IF comment.is_private AND NOT (user.is_insider || user.id == comment.author.id); + IF comment.creation_ts == date; + GET "c$comment.count"; + LAST; + END; + END; + END; +%] + [% IF needinfo_flagtype %] <div id="needinfo_container"> [% IF needinfo_flags.size > 0 %] [%# Displays NEEDINFO tag in bug header %] <script> + var needinfo_comment_div = '[% INCLUDE needinfo_comment_div FILTER js %]'; var summary_container = document.getElementById('static_bug_status'); - summary_container.appendChild(document.createTextNode('[NEEDINFO]')); + if (document.getElementById('inline-history-ext')) { + needinfo_comment_div = inline_history.getNeedinfoDiv(); + } + + if (needinfo_comment_div) { + var a = document.createElement('a'); + a.id = 'needinfo-lnk'; + a.href = "#" + needinfo_comment_div; + a.appendChild(document.createTextNode('NEEDINFO')); + summary_container.appendChild(document.createTextNode('[')); + summary_container.appendChild(a); + summary_container.appendChild(document.createTextNode(']')); + } + else { + summary_container.appendChild(document.createTextNode('[NEEDINFO]')); + } </script> [% END %] <table> |