review/web_templates/changeset.html @ 22de90ef33ed
Add identifiers to ReviewChangeset's and ReviewSignoff's.
The identifier of a rcset/rsignoff is the filename it was saved as, which is
the hash of its contents.
This will be useful when we want to add replies to comments/signoffs.
CLI support for this feature has also been added (using --verbose and --debug
flags with 'hg review [-r REV]'), as well as some simple unit tests.
author |
Steve Losh <steve@stevelosh.com> |
date |
Sat, 27 Mar 2010 11:10:12 -0400 |
parents |
15de5872c830 |
children |
52b914764732 |
{% extends "base.html" %}
{% block title %} at {{ title }}{% endblock %}
{% block header %} at {{ title }}{% endblock %}
{% block content %}
<h2>Changeset {{ rev.rev() }}: {{ rev.description().splitlines()[0] }}</h2>
{% for comment in rcset.review_level_comments() %}
<div class="comment">
<div class="avatar">
<img height="52" width="52"
src="{{ utils['comment_gravatar'](comment) }}?s=52"
/>
</div>
<div>
<div class="author">
<a href="mailto:${ email(comment.author) }">{{ utils['templatefilters'].person(comment.author) }}</a>
said:
</div>
<div class="message">{{ comment.message }}</div>
</div>
</div>
{% endfor %}
<div id="comment-review">
<p class="comment-activate"><a href="">Add a comment on this changeset</a></p>
<form id="comment-review-form" method="post" action="">
<div class="field">
<label for="body">Add a comment on this changeset:</label>
<textarea cols="60" rows="6" name="new-comment-body"></textarea>
</div>
<div class="buttons">
<input type="submit" class="button" value="Submit" />
</div>
</form>
</div>
<h2>Files</h2>
{% for filename in rcset.files() %}
<div class="file-review">
<div class="filename-header">
<a class="fold-file" href=""> ↓</a>
<h3>{{ filename }}</h3>
</div>
<div class="file-review-contents">
{% for comment in rcset.file_level_comments(filename) %}
<div class="comment">
<div class="avatar">
<img height="52" width="52" src="{{ utils['comment_gravatar'](comment) }}?s=52"/>
</div>
<div>
<div class="author">
<a href="mailto:{{ utils['email'](comment.author) }}">
{{ utils['templatefilters'].person(comment.author) }}</a>
said:
</div>
<div class="message">{{ comment.message }}</div>
</div>
</div>
{% endfor %}
<div id="comment-file">
<p class="comment-activate"><a href="">Add a comment on this file</a></p>
<form id="comment-file-form" method="post" action="">
<div class="field">
<label for="body">Add a comment on this file:</label>
<textarea cols="60" rows="6" name="new-comment-body"></textarea>
</div>
<div class="buttons">
<input type="submit" class="button" value="Submit" />
</div>
<input type="hidden" name="filename" value="{{ filename }}" />
</form>
</div>
<div class="diff">
<table>
<tbody>
{% set annotated_diff = rcset.annotated_diff(filename) %}
{# We need to ignore the first item from this generator, because
we don't care about providing a line-number prefix (for now!). #}
{% set ignore_this_variable = annotated_diff.next() %}
{% for line in annotated_diff %}
{% if line['skipped'] %}
<tr class="skipped">
<td><code>… skipped {{ line['skipped'] }} lines …</code></td>
</tr>
{% for comment in line['comments'] %}
<tr><td class="comment">
<div class="avatar"><img height="52" width="52" src="{{ utils['comment_gravatar'](comment) }}?s=52"/></div>
<div>
<div class="author">
<a href="mailto:{{ utils['email'](comment.author) }}">
{{ utils['templatefilters'].person(comment.author) }}
</a>
said (on a skipped line):
</div>
<div class="message">{{ comment.message|escape }}</div>
</div>
</td></tr>
{% endfor %}
{% else %}
<tr class="{{ utils['line_type'](line['content']) }}">
<td class="diff-line"><code>{{ line['number'] }}: {{ line['content'][1:]|escape }}</code></td>
{% for comment in line['comments'] %}
<tr><td class="comment">
<div class="avatar"><img height="52" width="52" src="{{ utils['comment_gravatar'](comment) }}?s=52"/></div>
<div>
<div class="author">
<a href="mailto:{{ utils['email'](comment.author) }}">
{{ utils['templatefilters'].person(comment.author) }}
</a>
said:
</div>
<div class="message">{{ comment.message }}</div>
</div>
</td></tr>
{% endfor %}
</tr><tr class="comment-line">
<td>
<form id="comment-line-form" method="post" action="">
<div class="field">
<label for="body">Add a comment on this line:</label>
<textarea cols="60" rows="6" name="new-comment-body"></textarea>
</div>
<div class="buttons">
<input type="submit" class="button" value="Submit" />
</div>
<input type="hidden" name="filename" value="{{ filename }}" />
<input type="hidden" name="lines" value="{{ line['number'] }}" />
</form>
</td>
</tr>
{% endif %}
{% endfor %}
</tbody>
</table>
</div>
</div>
</div>
{% endfor %}
{% endblock %}