@@ -64,15 +64,15 @@ function toggle_div(link_id, headers_id)
</div>
</td>
</tr>
-{% if submission.latest_series %}
+{% if submission.all_series %}
<tr>
<th>Series</th>
<td>
<div class="patchrelations">
<ul>
- {% for series in submission.series.all %}
+ {% for series in all_series %}
<li>
- {% if series == submission.latest_series %}
+ {% if forloop.first %}
{{ series }}
{% else %}
<a href="{% url 'patch-list' project_id=project.linkname %}?series={{ series.id }}">
@@ -93,7 +93,7 @@ function toggle_div(link_id, headers_id)
>show</a>
<div id="patchrelations" class="patchrelations" style="display:none;">
<ul>
- {% with submission.latest_series.cover_letter as cover %}
+ {% with all_series.cover_letter as cover %}
<li>
{% if cover %}
{% if cover == submission %}
@@ -106,7 +106,7 @@ function toggle_div(link_id, headers_id)
{% endif %}
</li>
{% endwith %}
- {% for sibling in submission.latest_series.patches.all %}
+ {% for sibling in all_series.patches.all %}
<li>
{% if sibling == submission %}
{{ sibling.name|default:"[no subject]"|truncatechars:100 }}
@@ -49,7 +49,7 @@ def cover_detail(request, cover_id):
comments = comments.select_related('submitter')
comments = comments.only('submitter','date','id','content','submission')
context['comments'] = comments
-
+ context['all_series'] = cover.series.all().order_by('-date')
return render_to_response('patchwork/submission.html', context)
@@ -118,6 +118,7 @@ def patch_detail(request, patch_id):
comments = comments.select_related('submitter')
comments = comments.only('submitter','date','id','content','submission')
+ context['all_series'] = patch.series.all().order_by('-date')
context['comments'] = comments
context['submission'] = patch
context['patchform'] = form
e.g. a 10 comment patch goes from 26 queries in 17-20ms down to 20 queries in 12ms. A 67 comment cover letter goes from 14 queries in 16ms down to 8 queries in 8ms. So, effectively, a near 2x perf improvement. Previously, at several points we were asking for the latest series and then asking for all the series. Since there just usually aren't *that* many series, fetch them all and take the first one if we need to. Signed-off-by: Stewart Smith <stewart@linux.ibm.com> --- patchwork/templates/patchwork/submission.html | 10 +++++----- patchwork/views/cover.py | 2 +- patchwork/views/patch.py | 1 + 3 files changed, 7 insertions(+), 6 deletions(-)