|
|
## -*- 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;">›</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(changeset)">
|
|
|
<div id='comment-inline-form-template' style="display:none">
|
|
|
<div class="comment-inline-form">
|
|
|
%if c.rhodecode_user.username != 'default':
|
|
|
<div class="overlay"><div class="overlay-text">${_('Submitting...')}</div></div>
|
|
|
${h.form(h.url('changeset_comment', repo_name=c.repo_name, revision=changeset.raw_id),class_='inline-form')}
|
|
|
<div class="clearfix">
|
|
|
<div class="comment-help">${_('Commenting on line')} {1}. ${_('Comments parsed using')}
|
|
|
<a href="${h.url('rst_help')}">RST</a> ${_('syntax')} ${_('with')}
|
|
|
<span style="color:#003367" class="tooltip" title="${_('Use @username inside this text to send notification to this RhodeCode user')}">@mention</span> ${_('support')}
|
|
|
</div>
|
|
|
<textarea id="text_{1}" name="text"></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>
|
|
|
|
|
|
|
|
|
<%def name="inlines(changeset)">
|
|
|
<div class="comments-number">${len(c.comments)} comment(s) (${c.inline_cnt} ${_('inline')})</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(changeset)">
|
|
|
|
|
|
<div class="comments">
|
|
|
<div id="inline-comments-container">
|
|
|
${inlines(changeset)}
|
|
|
</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">
|
|
|
${h.form(h.url('changeset_comment', repo_name=c.repo_name, revision=changeset.raw_id))}
|
|
|
<strong>${_('Leave a comment')}</strong>
|
|
|
<div class="clearfix">
|
|
|
<div class="comment-help">
|
|
|
${_('Comments parsed using')} <a href="${h.url('rst_help')}">RST</a> ${_('syntax')}
|
|
|
${_('with')} <span style="color:#003367" class="tooltip" title="${_('Use @username inside this text to send notification to this RhodeCode user')}">@mention</span> ${_('support')}
|
|
|
| <span class="tooltip" title="${_('Check this to change current status of code-review for this changeset')}"> ${_('change status')}
|
|
|
<input style="vertical-align: bottom;margin-bottom:-2px" id="show_changeset_status_box" type="checkbox" name="change_changeset_status" />
|
|
|
</span>
|
|
|
</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 == h.changeset_status(c.rhodecode_db_repo, c.changeset.raw_id) else ''}" type="radio" name="changeset_status" value="${status}"> <label>${lbl}</label>
|
|
|
</div>
|
|
|
%endfor
|
|
|
</div>
|
|
|
${h.textarea('text')}
|
|
|
</div>
|
|
|
<div class="comment-button">
|
|
|
${h.submit('save', _('Comment'), class_='ui-button')}
|
|
|
</div>
|
|
|
${h.end_form()}
|
|
|
</div>
|
|
|
%endif
|
|
|
</div>
|
|
|
</%def>
|
|
|
|