--- trunk/reviewboard/reviews/templatetags/reviewtags.py (revision 659) +++ trunk/reviewboard/reviews/templatetags/reviewtags.py (working copy) @@ -403,3 +403,10 @@ return review_request.repository.bug_tracker % bug_id return None + +@register.filter +def source_url(path, review_request): + if review_request.repository.source_viewer: + return review_request.repository.source_viewer % path + + return None --- trunk/reviewboard/htdocs/scripts/reviews.js (revision 659) +++ trunk/reviewboard/htdocs/scripts/reviews.js (working copy) @@ -54,6 +54,21 @@ this, true); } +function registerLinkEditor(field, onComplete) { + var editor = new RB.widgets.InlineEditor({ + el: field, + cls: field + '-editor', + showEditIcon: true, + stripTags: true, + notifyUnchangedCompletion: true + }); + + editor.on('complete', + function(editor, value) { + onEditComplete(field, value, onComplete); + }); +} + function registerCommaListEditor(field, onComplete) { var editor = new RB.widgets.InlineCommaListEditor({ el: field, @@ -87,6 +102,17 @@ el.dom.innerHTML = str; } +function onBranchChanged(el, val) { + var str = ""; + if (gSourceViewerURL != "") { + var url = gSourceViewerURL.replace("%s", val); + str = '' + val + ''; + } else { + str = val; + } + el.dom.innerHTML = str; +} + function onTargetPeopleChanged(el, list) { var str = ""; --- trunk/reviewboard/htdocs/scripts/rb/widgets.js (revision 659) +++ trunk/reviewboard/htdocs/scripts/rb/widgets.js (working copy) @@ -331,7 +331,6 @@ } }); - RB.widgets.AutosizeTextArea = function(el, config) { YAHOO.ext.util.Config.apply(this, config); --- trunk/reviewboard/templates/reviews/review_request_box.html (revision 659) +++ trunk/reviewboard/templates/reviews/review_request_box.html (working copy) @@ -24,7 +24,9 @@ - {{review_request_details.branch}} + + {% if review_request.repository.source_viewer %}{{review_request_details.branch}}{% else %}{{review_request_details.branch}}{% endif %} + {% for group in review_request_details.target_groups.all %} --- trunk/reviewboard/templates/reviews/review_detail.html (revision 659) +++ trunk/reviewboard/templates/reviews/review_detail.html (working copy) @@ -24,6 +24,7 @@ var gUserFullName = "{% firstof user.get_full_name user.username %}"; var gReviewRequestId = "{{review_request.id}}"; var gBugTrackerURL = "{{review_request.repository.bug_tracker}}"; +var gSourceViewerURL = "{{review_request.repository.source_viewer}}"; {% endblock %} @@ -120,9 +121,9 @@ {% ifequal request.user review_request.submitter %}