Show More
@@ -426,6 +426,12 b' class RepoPullRequestsView(RepoAppView, ' | |||
|
426 | 426 | c.inline_versions = comments_model.aggregate_comments( |
|
427 | 427 | inline_comments, versions, c.at_version_num, inline=True) |
|
428 | 428 | |
|
429 | # TODOs | |
|
430 | c.unresolved_comments = CommentsModel() \ | |
|
431 | .get_pull_request_unresolved_todos(pull_request) | |
|
432 | c.resolved_comments = CommentsModel() \ | |
|
433 | .get_pull_request_resolved_todos(pull_request) | |
|
434 | ||
|
429 | 435 | # inject latest version |
|
430 | 436 | latest_ver = PullRequest.get_pr_display_object( |
|
431 | 437 | pull_request_latest, pull_request_latest) |
@@ -170,6 +170,23 b' class CommentsModel(BaseModel):' | |||
|
170 | 170 | |
|
171 | 171 | return todos |
|
172 | 172 | |
|
173 | def get_pull_request_resolved_todos(self, pull_request, show_outdated=True): | |
|
174 | ||
|
175 | todos = Session().query(ChangesetComment) \ | |
|
176 | .filter(ChangesetComment.pull_request == pull_request) \ | |
|
177 | .filter(ChangesetComment.resolved_by != None) \ | |
|
178 | .filter(ChangesetComment.comment_type | |
|
179 | == ChangesetComment.COMMENT_TYPE_TODO) | |
|
180 | ||
|
181 | if not show_outdated: | |
|
182 | todos = todos.filter( | |
|
183 | coalesce(ChangesetComment.display_state, '') != | |
|
184 | ChangesetComment.COMMENT_OUTDATED) | |
|
185 | ||
|
186 | todos = todos.all() | |
|
187 | ||
|
188 | return todos | |
|
189 | ||
|
173 | 190 | def get_commit_unresolved_todos(self, commit_id, show_outdated=True): |
|
174 | 191 | |
|
175 | 192 | todos = Session().query(ChangesetComment) \ |
@@ -18,6 +18,10 b'' | |||
|
18 | 18 | font-size: 18px |
|
19 | 19 | } |
|
20 | 20 | |
|
21 | #comment-tr-show { | |
|
22 | padding: 5px 0; | |
|
23 | } | |
|
24 | ||
|
21 | 25 | tr.inline-comments div { |
|
22 | 26 | max-width: 100%; |
|
23 | 27 |
@@ -1536,10 +1536,6 b' table.integrations {' | |||
|
1536 | 1536 | margin: -15px 0px 0px 0px; |
|
1537 | 1537 | } |
|
1538 | 1538 | |
|
1539 | .comments-summary-td { | |
|
1540 | border-top: 1px dashed @grey5; | |
|
1541 | } | |
|
1542 | ||
|
1543 | 1539 | // new entry in group_members |
|
1544 | 1540 | .td-author-new-entry { |
|
1545 | 1541 | background-color: rgba(red(@alert1), green(@alert1), blue(@alert1), 0.3); |
@@ -11,7 +11,7 b'' | |||
|
11 | 11 | padding: .25em; |
|
12 | 12 | text-align: center; |
|
13 | 13 | font-size: (-1 + @basefontsize); //fit in tables |
|
14 |
line-height: |
|
|
14 | line-height: 1.1em; | |
|
15 | 15 | border: none; |
|
16 | 16 | box-shadow: @button-shadow; |
|
17 | 17 | .border-radius(@border-radius); |
@@ -161,14 +161,15 b'' | |||
|
161 | 161 | c.changes[c.commit.raw_id], commit=c.commit, use_comments=True,inline_comments=c.inline_comments )} |
|
162 | 162 | </div> |
|
163 | 163 | |
|
164 | ## template for inline comment form | |
|
165 | <%namespace name="comment" file="/changeset/changeset_file_comment.mako"/> | |
|
166 | ||
|
167 | ## comments heading with count | |
|
164 | 168 | <div class="comments-heading"> |
|
165 | 169 | <i class="icon-comment"></i> |
|
166 | 170 | ${_('Comments')} ${len(c.comments)} |
|
167 | 171 | </div> |
|
168 | 172 | |
|
169 | ## template for inline comment form | |
|
170 | <%namespace name="comment" file="/changeset/changeset_file_comment.mako"/> | |
|
171 | ||
|
172 | 173 | ## render comments |
|
173 | 174 |
|
|
174 | 175 |
@@ -45,6 +45,9 b'' | |||
|
45 | 45 | % else: |
|
46 | 46 | % if comment.resolved_comment: |
|
47 | 47 | fix |
|
48 | <a href="#comment-${comment.resolved_comment.comment_id}" onclick="Rhodecode.comments.scrollToComment($('#comment-${comment.resolved_comment.comment_id}'), 0, ${h.json.dumps(comment.resolved_comment.outdated)})"> | |
|
49 | <span style="text-decoration: line-through">#${comment.resolved_comment.comment_id}</span> | |
|
50 | </a> | |
|
48 | 51 | % else: |
|
49 | 52 | ${comment.comment_type or 'note'} |
|
50 | 53 | % endif |
@@ -85,12 +88,6 b'' | |||
|
85 | 88 | </div> |
|
86 | 89 | % endif |
|
87 | 90 |
|
|
88 | % if comment.resolved_comment: | |
|
89 | <a class="has-spacer-before" href="#comment-${comment.resolved_comment.comment_id}" onclick="Rhodecode.comments.scrollToComment($('#comment-${comment.resolved_comment.comment_id}'), 0, ${h.json.dumps(comment.resolved_comment.outdated)})"> | |
|
90 | ${_('resolves comment #{}').format(comment.resolved_comment.comment_id)} | |
|
91 | </a> | |
|
92 | % endif | |
|
93 | ||
|
94 | 91 | <a class="permalink" href="#comment-${comment.comment_id}"> ¶</a> |
|
95 | 92 | |
|
96 | 93 | <div class="comment-links-block"> |
@@ -49,6 +49,9 b" return '%s_%s_%i' % (h.md5_safe(commit+f" | |||
|
49 | 49 | # for cache purpose |
|
50 | 50 | inline_comments=None, |
|
51 | 51 | |
|
52 | # additional menu for PRs | |
|
53 | pull_request_menu=None | |
|
54 | ||
|
52 | 55 | )"> |
|
53 | 56 | |
|
54 | 57 | <% |
@@ -125,6 +128,12 b" return '%s_%s_%i' % (h.md5_safe(commit+f" | |||
|
125 | 128 | </div> |
|
126 | 129 | |
|
127 | 130 | ## todos |
|
131 | % if getattr(c, 'at_version', None): | |
|
132 | <div class="pull-right"> | |
|
133 | <i class="icon-flag-filled" style="color: #949494">TODOs:</i> | |
|
134 | ${_('not available in this view')} | |
|
135 | </div> | |
|
136 | % else: | |
|
128 | 137 | <div class="pull-right"> |
|
129 | 138 | <div class="comments-number" style="padding-left: 10px"> |
|
130 | 139 | % if hasattr(c, 'unresolved_comments') and hasattr(c, 'resolved_comments'): |
@@ -137,10 +146,11 b" return '%s_%s_%i' % (h.md5_safe(commit+f" | |||
|
137 | 146 | ${_('0 unresolved')} |
|
138 | 147 | % endif |
|
139 | 148 | |
|
140 |
${_('{} Resolved').format(len(c. |
|
|
149 | ${_('{} Resolved').format(len(c.resolved_comments))} | |
|
141 | 150 | % endif |
|
142 | 151 | </div> |
|
143 | 152 | </div> |
|
153 | % endif | |
|
144 | 154 | |
|
145 | 155 | ## comments |
|
146 | 156 | <div class="pull-right"> |
@@ -161,6 +171,24 b" return '%s_%s_%i' % (h.md5_safe(commit+f" | |||
|
161 | 171 | ${_('0 Inline')} |
|
162 | 172 | % endif |
|
163 | 173 | % endif |
|
174 | ||
|
175 | % if pull_request_menu: | |
|
176 | <% | |
|
177 | outdated_comm_count_ver = pull_request_menu['outdated_comm_count_ver'] | |
|
178 | %> | |
|
179 | ||
|
180 | % if outdated_comm_count_ver: | |
|
181 | <a href="#" onclick="showOutdated(); Rhodecode.comments.nextOutdatedComment(); return false;"> | |
|
182 | (${_("{} Outdated").format(outdated_comm_count_ver)}) | |
|
183 | </a> | |
|
184 | <a href="#" class="showOutdatedComments" onclick="showOutdated(this); return false;"> | ${_('show outdated')}</a> | |
|
185 | <a href="#" class="hideOutdatedComments" style="display: none" onclick="hideOutdated(this); return false;"> | ${_('hide outdated')}</a> | |
|
186 | % else: | |
|
187 | (${_("{} Outdated").format(outdated_comm_count_ver)}) | |
|
188 | % endif | |
|
189 | ||
|
190 | % endif | |
|
191 | ||
|
164 | 192 | </div> |
|
165 | 193 | </div> |
|
166 | 194 | |
@@ -349,7 +377,7 b" return '%s_%s_%i' % (h.md5_safe(commit+f" | |||
|
349 | 377 | <input ${(collapse_all and 'checked' or '')} class="filediff-collapse-state collapse-${diffset_container_id}" id="filediff-collapse-${id(filename)}" type="checkbox" onchange="updateSticky();"> |
|
350 | 378 | <div class="filediff" data-f-path="${filename}" id="a_${h.FID(filediff.raw_id, filename)}"> |
|
351 | 379 | <label for="filediff-collapse-${id(filename)}" class="filediff-heading"> |
|
352 | <div class="filediff-collapse-indicator"></div> | |
|
380 | <div class="filediff-collapse-indicator icon-"></div> | |
|
353 | 381 | |
|
354 | 382 | <span class="pill"> |
|
355 | 383 | ## file was deleted |
@@ -244,56 +244,11 b'' | |||
|
244 | 244 | </button> |
|
245 | 245 | </td> |
|
246 | 246 | </tr> |
|
247 | ||
|
248 | ## show comment/inline comments summary | |
|
249 | <%def name="comments_summary()"> | |
|
250 | <tr> | |
|
251 | <td colspan="6" class="comments-summary-td"> | |
|
252 | ||
|
253 | % if c.at_version: | |
|
254 | <% inline_comm_count_ver = len(c.inline_versions[c.at_version_num]['display']) %> | |
|
255 | <% general_comm_count_ver = len(c.comment_versions[c.at_version_num]['display']) %> | |
|
256 | ${_('Comments at this version')}: | |
|
257 | % else: | |
|
258 | <% inline_comm_count_ver = len(c.inline_versions[c.at_version_num]['until']) %> | |
|
259 | <% general_comm_count_ver = len(c.comment_versions[c.at_version_num]['until']) %> | |
|
260 | ${_('Comments for this pull request')}: | |
|
261 | % endif | |
|
262 | ||
|
263 | ||
|
264 | %if general_comm_count_ver: | |
|
265 | <a href="#comments">${_("%d General ") % general_comm_count_ver}</a> | |
|
266 | %else: | |
|
267 | ${_("%d General ") % general_comm_count_ver} | |
|
268 | %endif | |
|
269 | ||
|
270 | %if inline_comm_count_ver: | |
|
271 | , <a href="#" onclick="return Rhodecode.comments.nextComment();" id="inline-comments-counter">${_("%d Inline") % inline_comm_count_ver}</a> | |
|
272 | %else: | |
|
273 | , ${_("%d Inline") % inline_comm_count_ver} | |
|
274 | %endif | |
|
275 | ||
|
276 | %if outdated_comm_count_ver: | |
|
277 | , <a href="#" onclick="showOutdated(); Rhodecode.comments.nextOutdatedComment(); return false;">${_("%d Outdated") % outdated_comm_count_ver}</a> | |
|
278 | <a href="#" class="showOutdatedComments" onclick="showOutdated(this); return false;"> | ${_('show outdated comments')}</a> | |
|
279 | <a href="#" class="hideOutdatedComments" style="display: none" onclick="hideOutdated(this); return false;"> | ${_('hide outdated comments')}</a> | |
|
280 | %else: | |
|
281 | , ${_("%d Outdated") % outdated_comm_count_ver} | |
|
282 | %endif | |
|
283 | </td> | |
|
284 | </tr> | |
|
285 | </%def> | |
|
286 | ${comments_summary()} | |
|
287 | 247 | </table> |
|
288 | 248 | % else: |
|
289 | 249 | <div class="input"> |
|
290 | 250 | ${_('Pull request versions not available')}. |
|
291 | 251 | </div> |
|
292 | <div> | |
|
293 | <table> | |
|
294 | ${comments_summary()} | |
|
295 | </table> | |
|
296 | </div> | |
|
297 | 252 | % endif |
|
298 | 253 | </div> |
|
299 | 254 | </div> |
@@ -534,6 +489,19 b'' | |||
|
534 | 489 | |
|
535 | 490 | <div class="cs_files"> |
|
536 | 491 | <%namespace name="cbdiffs" file="/codeblocks/diffs.mako"/> |
|
492 | % if c.at_version: | |
|
493 | <% c.inline_cnt = len(c.inline_versions[c.at_version_num]['display']) %> | |
|
494 | <% c.comments = c.comment_versions[c.at_version_num]['display'] %> | |
|
495 | % else: | |
|
496 | <% c.inline_cnt = len(c.inline_versions[c.at_version_num]['until']) %> | |
|
497 | <% c.comments = c.comment_versions[c.at_version_num]['until'] %> | |
|
498 | % endif | |
|
499 | ||
|
500 | <% | |
|
501 | pr_menu_data = { | |
|
502 | 'outdated_comm_count_ver': outdated_comm_count_ver | |
|
503 | } | |
|
504 | %> | |
|
537 | 505 | |
|
538 | 506 | ${cbdiffs.render_diffset_menu(c.diffset, range_diff_on=c.range_diff_on)} |
|
539 | 507 | |
@@ -545,7 +513,8 b'' | |||
|
545 | 513 | collapse_when_files_over=5, |
|
546 | 514 | disable_new_comments=True, |
|
547 | 515 | deleted_files_comments=c.deleted_files_comments, |
|
548 |
inline_comments=c.inline_comments |
|
|
516 | inline_comments=c.inline_comments, | |
|
517 | pull_request_menu=pr_menu_data)} | |
|
549 | 518 | % endfor |
|
550 | 519 | % else: |
|
551 | 520 | ${cbdiffs.render_diffset( |
@@ -553,7 +522,8 b'' | |||
|
553 | 522 | collapse_when_files_over=30, |
|
554 | 523 | disable_new_comments=not c.allowed_to_comment, |
|
555 | 524 | deleted_files_comments=c.deleted_files_comments, |
|
556 |
inline_comments=c.inline_comments |
|
|
525 | inline_comments=c.inline_comments, | |
|
526 | pull_request_menu=pr_menu_data)} | |
|
557 | 527 | % endif |
|
558 | 528 | |
|
559 | 529 | </div> |
@@ -568,22 +538,25 b'' | |||
|
568 | 538 | ## template for inline comment form |
|
569 | 539 | <%namespace name="comment" file="/changeset/changeset_file_comment.mako"/> |
|
570 | 540 | |
|
541 | ## comments heading with count | |
|
542 | <div class="comments-heading"> | |
|
543 | <i class="icon-comment"></i> | |
|
544 | ${_('Comments')} ${len(c.comments)} | |
|
545 | </div> | |
|
546 | ||
|
571 | 547 | ## render general comments |
|
572 | ||
|
573 | 548 | <div id="comment-tr-show"> |
|
574 | <div class="comment"> | |
|
575 | % if general_outdated_comm_count_ver: | |
|
576 | <div class="meta"> | |
|
577 | % if general_outdated_comm_count_ver == 1: | |
|
578 | ${_('there is {num} general comment from older versions').format(num=general_outdated_comm_count_ver)}, | |
|
579 | <a href="#show-hidden-comments" onclick="$('.comment-general.comment-outdated').show(); $(this).parent().hide(); return false;">${_('show it')}</a> | |
|
580 | % else: | |
|
581 | ${_('there are {num} general comments from older versions').format(num=general_outdated_comm_count_ver)}, | |
|
582 | <a href="#show-hidden-comments" onclick="$('.comment-general.comment-outdated').show(); $(this).parent().hide(); return false;">${_('show them')}</a> | |
|
583 | % endif | |
|
584 | </div> | |
|
549 | % if general_outdated_comm_count_ver: | |
|
550 | <div class="info-box"> | |
|
551 | % if general_outdated_comm_count_ver == 1: | |
|
552 | ${_('there is {num} general comment from older versions').format(num=general_outdated_comm_count_ver)}, | |
|
553 | <a href="#show-hidden-comments" onclick="$('.comment-general.comment-outdated').show(); $(this).parent().hide(); return false;">${_('show it')}</a> | |
|
554 | % else: | |
|
555 | ${_('there are {num} general comments from older versions').format(num=general_outdated_comm_count_ver)}, | |
|
556 | <a href="#show-hidden-comments" onclick="$('.comment-general.comment-outdated').show(); $(this).parent().hide(); return false;">${_('show them')}</a> | |
|
585 | 557 | % endif |
|
586 |
|
|
|
558 | </div> | |
|
559 | % endif | |
|
587 | 560 | </div> |
|
588 | 561 | |
|
589 | 562 | ${comment.generate_comments(c.comments, include_pull_request=True, is_pull_request=True)} |
General Comments 0
You need to be logged in to leave comments.
Login now