Index: reviews/templatetags/reviewtags.py
===================================================================
--- reviews/templatetags/reviewtags.py (revision 659)
+++ 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
Index: htdocs/scripts/reviews.js
===================================================================
--- htdocs/scripts/reviews.js (revision 659)
+++ 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',
+ funct