diff --git a/pagure/templates/issue.html b/pagure/templates/issue.html index e2d0d9d..a3f8cfe 100644 --- a/pagure/templates/issue.html +++ b/pagure/templates/issue.html @@ -53,11 +53,13 @@ Tags: + {% for tag in issue.tags %} - {{ tag.tag }}{%- if not loop.last -%},{%- endif -%} + repo=repo.name, tags=tag.tag) }}">{{ tag.tag }} + {%- if not loop.last -%},{%- endif -%} {% endfor %} + {% if authenticated and repo_admin %} @@ -66,11 +68,13 @@ Assigned: + {% if issue.assignee %} {{ issue.assignee.username }} {% endif %} + {% if authenticated %} @@ -113,11 +117,13 @@ {{ show_comment(issue, 0, repo, username, issueid, form) }} + {% if issue.comments %} {% for comment in issue.comments %} {{ show_comment(comment, loop.index, repo, username, issueid, form, repo_admin) }} {% endfor %} {% endif %} + {% if authenticated and form %} @@ -234,14 +240,14 @@ $(function() { $( ".reply" ).click( function() { - var _section = $(this).parent().parent().parent(); - var _comment = _section.find('.comment_body'); - var _text = _comment.text().split("\n"); - var _output = new Array(); - for (cnt = 0; cnt < _text.length - 1; cnt ++) { - _output[cnt] = '> ' + jQuery.trim(_text[cnt + 1]); - } - $( "#comment" ).val(_output.join("\n")); + var _section = $(this).parent().parent().parent(); + var _comment = _section.find('.comment_body'); + var _text = _comment.text().split("\n"); + var _output = new Array(); + for (cnt = 0; cnt < _text.length - 1; cnt ++) { + _output[cnt] = '> ' + jQuery.trim(_text[cnt + 1]); + } + $( "#comment" ).val(_output.join("\n")); } ); @@ -317,6 +323,85 @@ $(function() { }); }); + +if (!!window.EventSource) { + var source = new EventSource('{{ + url_for("stream_issue", username=username, + repo=repo.name, issueid=issueid) }}'); +} else { + // Result to xhr polling :( +} +source.addEventListener('message', function(e) { + console.log(e.data); + var data = $.parseJSON(e.data); + console.log(data); + if (data.added_tags){ + console.log('adding ' + data.added_tags); + var field = $('#taglist'); + var _data = field.html(); + var _url =''; + for (i=0; i'; + } + } + if (data.removed_tags){ + console.log('removing ' + data.removed_tags); + var field = $('#taglist'); + var _data = field.html(); + var _url =''; + for (i=0; i', ''); + } + field.html(_data); + } + if (data.assigned){ + console.log('assigning ' + data.assigned); + var field = $('#assigneduser'); + var _data = field.html(); + var _url =''; + _data = _url.replace('--', data.assigned.name) + data.assigned.name + ''; + field.html(_data); + field = $('#assignee'); + field.val(data.assigned.name); + } + if (data.unassigned){ + console.log('un-assigning '); + var field = $('#assigneduser'); + field.html(' '); + field = $('#assignee'); + field.val(''); + } + if (data.comment_added){ + console.log('Adding comment ' + data.comment_added); + var field = $('#comments'); + var _data = ' \ + \ + \ + \ + ' + data.comment_user + '\ + - seconds ago \ + ΒΆ \ + \ + \ + \ + ' + data.comment_added + ' \ + \ + '; + field.html(field.html() + _data); + } + +}, false); + {% endblock %}
' + data.comment_added + '
' + data.comment_added + '
\ +