Files
@ e99a33d7d7f5
Branch filter:
Location: kallithea/kallithea/templates/changeset/changeset_file_comment.html
e99a33d7d7f5
6.9 KiB
text/html
cleanup: use obj.foo_id instead of obj.foo.foo_id
Don't use constructs like obj.user.user_id when obj.user_id works
equally well (and potentially saves a database load).
Don't use constructs like obj.user.user_id when obj.user_id works
equally well (and potentially saves a database load).
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 | ## -*- 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-prev-next-links"></div>
<div class="comment-wrapp">
<div class="meta">
${h.gravatar_div(co.author.email, size=20, div_style="float:left")}
<div class="user">
${co.author.full_name_and_username}
</div>
<span>
${h.age(co.modified_at)}
%if co.pull_request:
${_('on pull request')}
<a href="${co.pull_request.url()}">"${co.pull_request.title or _("No title")}"</a>
%else:
${_('on this changeset')}
%endif
<a class="permalink" href="${co.url()}">¶</a>
</span>
%if co.author_id == c.authuser.user_id or h.HasRepoPermissionAny('repository.admin')(c.repo_name):
%if co.deletable():
<div onClick="confirm('${_("Delete comment?")}') && deleteComment(${co.comment_id})" class="buttons delete-comment btn btn-mini" style="margin:0 5px">${_('Delete')}</div>
%endif
%endif
</div>
<div class="text">
%if co.status_change:
<div class="automatic-comment">
<p>
<span title="${_('Changeset status')}" class="changeset-status-lbl">${_("Status change")}: ${co.status_change[0].status_lbl}</span>
<span class="changeset-status-ico"><i class="icon-circle changeset-status-${co.status_change[0].status}"></i></span>
</p>
</div>
%endif
%if co.text:
${h.render_w_mentions(co.text, c.repo_name)|n}
%endif
</div>
</div>
</div>
</%def>
<%def name="comment_inline_form()">
<div id='comment-inline-form-template' style="display:none">
<div class="ac">
%if c.authuser.username != 'default':
${h.form('#', class_='inline-form')}
<div class="clearfix">
<div class="comment-help">${_('Commenting on line.')}
<span style="color:#577632" class="tooltip">${_('Comments are in plain text. Use @username inside this text to notify another user.')|n}</span>
</div>
<div class="mentions-container"></div>
<textarea name="text" class="comment-block-ta yui-ac-input"></textarea>
<div id="status_block_container" class="status-block general-only hidden">
%if c.pull_request is None:
${_('Set changeset status')}:
%else:
${_('Vote for pull request status')}:
%endif
<span class="general-only cs-only">
</span>
<input type="radio" class="status_change_radio" name="changeset_status" id="changeset_status_unchanged" value="" checked="checked" />
<label for="changeset_status_unchanged">
${_('No change')}
</label>
%for status, lbl in c.changeset_statuses:
<label>
<input type="radio" class="status_change_radio" name="changeset_status" id="${status}" value="${status}">
${lbl}<i class="icon-circle changeset-status-${status}" /></i>
</label>
%endfor
%if c.pull_request is not None and ( \
h.HasPermissionAny('hg.admin')() or h.HasRepoPermissionAny('repository.admin')(c.repo_name) \
or c.pull_request.owner_id == c.authuser.user_id):
<div>
${_('Finish pull request')}:
<label>
<input id="save_close" type="checkbox" name="save_close">
${_("Close")}
</label>
<label>
<input id="save_delete" type="checkbox" name="save_delete" value="delete">
${_("Delete")}
</label>
</div>
%endif
</div>
</div>
<div class="comment-button">
<div class="submitting-overlay">${_('Submitting ...')}</div>
${h.submit('save', _('Comment'), class_='btn btn-small save-inline-form')}
${h.reset('hide-inline-form', _('Cancel'), class_='btn btn-small 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=request.path_qs)}">${_('Login now')}</a>
</div>
</div>
<div class="comment-button">
${h.reset('hide-inline-form', _('Hide'), class_='btn btn-small hide-inline-form')}
</div>
${h.end_form()}
%endif
</div>
</div>
</%def>
## show comment count as "x comments (y inline, z general)"
<%def name="comment_count(inline_cnt, general_cnt)">
${'%s (%s, %s)' % (
ungettext("%d comment", "%d comments", inline_cnt + general_cnt) % (inline_cnt + general_cnt),
ungettext("%d inline", "%d inline", inline_cnt) % inline_cnt,
ungettext("%d general", "%d general", general_cnt) % general_cnt
)}
<span class="firstlink"></span>
</%def>
## generate inline comments and the main ones
<%def name="generate_comments()">
## original location of comments ... but the ones outside diff context remains here
<div class="comments inline-comments">
%for f_path, lines in c.inline_comments:
%for line_no, comments in lines.iteritems():
<div class="comments-list-chunk" data-f_path="${f_path}" data-line_no="${line_no}" data-target-id="${h.safeid(h.safe_unicode(f_path))}_${line_no}">
%for co in comments:
${comment_block(co)}
%endfor
</div>
%endfor
%endfor
<div class="comments-list-chunk" data-f_path="" data-line_no="" data-target-id="general-comments">
%for co in c.comments:
${comment_block(co)}
%endfor
</div>
</div>
<div class="comments-number">
${comment_count(c.inline_cnt, len(c.comments))}
</div>
</%def>
## MAIN COMMENT FORM
<%def name="comments(change_status=True)">
## global, shared for all edit boxes
<div class="mentions-container" id="mentions_container"></div>
<div class="inline-comments inline-comments-general
${'show-general-status' if change_status else ''}">
<div id="comments-general-comments" class="">
## comment_div for general comments
</div>
</div>
<script>
$(document).ready(function () {
$(window).on('beforeunload', function(){
var $textareas = $('.comment-inline-form textarea[name=text]');
if($textareas.size() > 1 ||
$textareas.val()) {
// this message will not be displayed on all browsers
// (e.g. some versions of Firefox), but the user will still be warned
return 'There are uncommitted comments.';
}
});
});
</script>
</%def>
|