Files @ a0adf8db1416
Branch filter:

Location: kallithea/rhodecode/templates/changeset/changeset_file_comment.html - annotation

Marcin Kuzminski
Enabled inline comments in pull-requests
f91d3f9b7230
f91d3f9b7230
f91d3f9b7230
f91d3f9b7230
f91d3f9b7230
f91d3f9b7230
b61e540122f2
f91d3f9b7230
f91d3f9b7230
9265958e33bb
9265958e33bb
f91d3f9b7230
9265958e33bb
9265958e33bb
f91d3f9b7230
9265958e33bb
9265958e33bb
9265958e33bb
9265958e33bb
9265958e33bb
8eab81115660
9265958e33bb
8eab81115660
f91d3f9b7230
9265958e33bb
f91d3f9b7230
9265958e33bb
f91d3f9b7230
f91d3f9b7230
f91d3f9b7230
f91d3f9b7230
f91d3f9b7230
f91d3f9b7230
f91d3f9b7230
f91d3f9b7230
f91d3f9b7230
f91d3f9b7230
a0adf8db1416
f91d3f9b7230
c2f131502037
f91d3f9b7230
b61e540122f2
a0adf8db1416
f91d3f9b7230
d2043c703f84
f467c75544af
f467c75544af
f467c75544af
f467c75544af
f467c75544af
f467c75544af
5143b8df576c
5143b8df576c
c2f131502037
f91d3f9b7230
f91d3f9b7230
f91d3f9b7230
f91d3f9b7230
b61e540122f2
f91d3f9b7230
f91d3f9b7230
f91d3f9b7230
f91d3f9b7230
f91d3f9b7230
f91d3f9b7230
f91d3f9b7230
66fa6c434ce4
f91d3f9b7230
f91d3f9b7230
f91d3f9b7230
f91d3f9b7230
f91d3f9b7230
f91d3f9b7230
f91d3f9b7230
f91d3f9b7230
f91d3f9b7230
f91d3f9b7230
f91d3f9b7230
f91d3f9b7230
ad19dfcdb1cc
ad19dfcdb1cc
83e4447077d3
f91d3f9b7230
f91d3f9b7230
b61e540122f2
f91d3f9b7230
f91d3f9b7230
f91d3f9b7230
f91d3f9b7230
f91d3f9b7230
f91d3f9b7230
56e96d4e9f6e
b61e540122f2
f91d3f9b7230
76947224bf27
ad19dfcdb1cc
b61e540122f2
b61e540122f2
b61e540122f2
ad19dfcdb1cc
ad19dfcdb1cc
b61e540122f2
56e96d4e9f6e
f91d3f9b7230
3052f90c568a
3052f90c568a
3052f90c568a
f91d3f9b7230
f91d3f9b7230
5143b8df576c
ad19dfcdb1cc
f91d3f9b7230
f91d3f9b7230
f91d3f9b7230
d2043c703f84
d2043c703f84
d2043c703f84
1fd3c043c025
76947224bf27
f91d3f9b7230
76947224bf27
76947224bf27
76947224bf27
ad19dfcdb1cc
8eab81115660
76947224bf27
8eab81115660
91fae60bf2b6
91fae60bf2b6
f91d3f9b7230
f91d3f9b7230
f91d3f9b7230
f91d3f9b7230
f91d3f9b7230
f91d3f9b7230
f91d3f9b7230
f91d3f9b7230
5143b8df576c
5143b8df576c
c2f131502037
8eab81115660
ad19dfcdb1cc
ad19dfcdb1cc
ad19dfcdb1cc
8eab81115660
ad19dfcdb1cc
ad19dfcdb1cc
ad19dfcdb1cc
ad19dfcdb1cc
ad19dfcdb1cc
8eab81115660
5143b8df576c
5143b8df576c
f91d3f9b7230
## -*- coding: utf-8 -*-
## usage:
## <%namespace name="comment" file="/changeset/changeset_file_comment.html"/>
## ${comment.comment_block(co)}
##
<%def name="comment_block(co)">
  <div class="comment" id="comment-${co.comment_id}" line="${co.line_no}">
    <div class="comment-wrapp">
  	<div class="meta">
        <div style="float:left"> <img src="${h.gravatar_url(co.author.email, 20)}" /> </div>
  		<div class="user">
  			${co.author.username}
  		</div>
  		<div class="date">
  			${h.age(co.modified_at)}
  		</div>
        %if co.status_change:
           <div  style="float:left" class="changeset-status-container">
             <div style="float:left;padding:0px 2px 0px 2px"><span style="font-size: 18px;">&rsaquo;</span></div>
             <div title="${_('Changeset status')}" class="changeset-status-lbl"> ${co.status_change.status_lbl}</div>
             <div class="changeset-status-ico"><img src="${h.url(str('/images/icons/flag_status_%s.png' % co.status_change.status))}" /></div>
           </div>
        %endif
      %if h.HasPermissionAny('hg.admin', 'repository.admin')() or co.author.user_id == c.rhodecode_user.user_id:
        <div class="buttons">
          <span onClick="deleteComment(${co.comment_id})" class="delete-comment ui-btn">${_('Delete')}</span>
        </div>
      %endif
  	</div>
  	<div class="text">
  		${h.rst_w_mentions(co.text)|n}
  	</div>
    </div>
  </div>
</%def>


<%def name="comment_inline_form()">
<div id='comment-inline-form-template' style="display:none">
  <div class="comment-inline-form ac">
  %if c.rhodecode_user.username != 'default':
    <div class="overlay"><div class="overlay-text">${_('Submitting...')}</div></div>
      ${h.form('#', class_='inline-form')}
      <div class="clearfix">
          <div class="comment-help">${_('Commenting on line {1}.')}
          ${(_('Comments parsed using %s syntax with %s support.') % (
                 ('<a href="%s">RST</a>' % h.url('rst_help')),
          	     ('<span style="color:#003367" class="tooltip" title="%s">@mention</span>' % _('Use @username inside this text to send notification to this RhodeCode user'))
               )
            )|n
           }
          </div>
            <div class="mentions-container" id="mentions_container_{1}"></div>
            <textarea id="text_{1}" name="text" class="yui-ac-input"></textarea>
      </div>
      <div class="comment-button">
      <input type="hidden" name="f_path" value="{0}">
      <input type="hidden" name="line" value="{1}">
      ${h.submit('save', _('Comment'), class_='ui-btn save-inline-form')}
      ${h.reset('hide-inline-form', _('Hide'), class_='ui-btn hide-inline-form')}
      </div>
      ${h.end_form()}
  %else:
      ${h.form('')}
      <div class="clearfix">
          <div class="comment-help">
            ${_('You need to be logged in to comment.')} <a href="${h.url('login_home',came_from=h.url.current())}">${_('Login now')}</a>
          </div>
      </div>
      <div class="comment-button">
      ${h.reset('hide-inline-form', _('Hide'), class_='ui-btn hide-inline-form')}
      </div>
      ${h.end_form()}
  %endif
  </div>
</div>
</%def>


## generates inlines taken from c.comments var
<%def name="inlines()">
    <div class="comments-number">${ungettext("%d comment", "%d comments", len(c.comments)) % len(c.comments)} ${ungettext("(%d inline)", "(%d inline)", c.inline_cnt) % c.inline_cnt}</div>
    %for path, lines in c.inline_comments:
        % for line,comments in lines.iteritems():
            <div style="display:none" class="inline-comment-placeholder" path="${path}" target_id="${h.safeid(h.safe_unicode(path))}">
            %for co in comments:
                ${comment_block(co)}
            %endfor
            </div>
        %endfor
    %endfor

</%def>

## MAIN COMMENT FORM
<%def name="comments(post_url, cur_status)">

<div class="comments">
    <div id="inline-comments-container">
    ## generate inlines for this changeset
     ${inlines()}
    </div>

    %for co in c.comments:
        <div id="comment-tr-${co.comment_id}">
          ${comment_block(co)}
        </div>
    %endfor
    %if c.rhodecode_user.username != 'default':
    <div class="comment-form ac">
        ${h.form(post_url)}
        <strong>${_('Leave a comment')}</strong>
        <div class="clearfix">
            <div class="comment-help">
                ${(_('Comments parsed using %s syntax with %s support.') % (('<a href="%s">RST</a>' % h.url('rst_help')),
          		'<span style="color:#003367" class="tooltip" title="%s">@mention</span>' %
          		_('Use @username inside this text to send notification to this RhodeCode user')))|n}
                | <label for="show_changeset_status_box" class="tooltip" title="${_('Check this to change current status of code-review for this changeset')}"> ${_('change status')}</label>
                  <input style="vertical-align: bottom;margin-bottom:-2px" id="show_changeset_status_box" type="checkbox" name="change_changeset_status" />
            </div>
            <div id="status_block_container" class="status-block" style="display:none">
                %for status,lbl in c.changeset_statuses:
                    <div class="">
                        <img src="${h.url('/images/icons/flag_status_%s.png' % status)}" /> <input ${'checked="checked"' if status == cur_status else ''}" type="radio" name="changeset_status" value="${status}"> <label>${lbl}</label>
                    </div>
                %endfor
            </div>
            <div class="mentions-container" id="mentions_container"></div>
             ${h.textarea('text')}
        </div>
        <div class="comment-button">
        ${h.submit('save', _('Comment'), class_='ui-button')}
        </div>
        ${h.end_form()}
    </div>
    %endif
</div>
<script>
YUE.onDOMReady(function () {
   MentionsAutoComplete('text', 'mentions_container', _USERS_AC_DATA, _GROUPS_AC_DATA);

   // changeset status box listener
   YUE.on(YUD.get('show_changeset_status_box'),'change',function(e){
       if(e.currentTarget.checked){
           YUD.setStyle('status_block_container','display','');
       }
       else{
           YUD.setStyle('status_block_container','display','none');
       }
   })

});
</script>
</%def>