review/web_templates/changeset.html @ ddea94e8e138 webpy-sucks
Refactor the diff-annotating functionality into the API.
| author | Steve Losh <steve@stevelosh.com> |
|---|---|
| date | Wed, 03 Mar 2010 18:55:40 -0500 |
| parents | f936bf37db17 |
| children | 85b4ae69ded2 |
{% 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="body"></textarea> </div> <div class="buttons"> <input type="submit" class="button" value="Submit" /> </div> </form> </div> <h2>Files</h2> {% for filename, diff in rcset.diffs().iteritems() %} <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="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> {% set max_line = diff['max'] %} {% set content = diff['content'] %} {% set line_level_comments = rcset.line_level_comments(filename) %} {% set previous_n = -1 %} {% for n, line in content %} {% if n - 1 < previous_n %} {% set skipped_count = n - previous_n %} {% if previous_n == -1 %} {% set skipped_count = skipped_count - 1 %} {% endif %} <tr class="skipped"> <td><code>… skipped {{ skipped_count }} lines …</code></td> </tr> {% endif %} {% for comment in utils['skipped_comments'](n, previous_n, line_level_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 }}</div> </div> </td></tr> {% endfor %} <tr class="{{ utils['line_type'](line) }}"> <td class="diff-line"><code>{{ line[1:] }}</code></td> </tr> {% for comment in utils['line_comments'](n, line_level_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 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="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="{{ n }}" /> </form> </td> </tr> {% set previous_n = n %} {% endfor %} {% if previous_n < max_line %} <tr class="skipped"> <td><code>… skipped {{ max_line - previous_n }} lines …</code></td> </tr> {% for comment in utils['skipped_comments_end'](previous_n, max_line, line_level_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 }}</div> </div> </td></tr> {% endfor %} {% endif %} </table> </div> </div> </div> {% endfor %} {% endblock %}