summaryrefslogtreecommitdiffstats
path: root/patchwork/templates
diff options
context:
space:
mode:
authorJeremy Kerr <jk@ozlabs.org>2015-05-27 09:56:36 +0800
committerJeremy Kerr <jk@ozlabs.org>2015-05-28 09:05:45 +0800
commit3b8a61c68fa61eadebf7b19329e8d3bffde9e6b4 (patch)
tree88f53364498523371c2bd1fc33b2e0dbbbb41372 /patchwork/templates
parentdaa3ae42eee5e569881070bcc2958b361743f70a (diff)
downloadpatchwork-3b8a61c68fa61eadebf7b19329e8d3bffde9e6b4.tar.bz2
patchwork-3b8a61c68fa61eadebf7b19329e8d3bffde9e6b4.tar.xz
Add patch tag infrastructure
This change add patch 'tags', eg 'Acked-by' / 'Reviewed-by', etc., to patchwork. Tag parsing is implemented in the patch parser's extract_tags function, which returns a Counter object of the tags in a comment. These are stored in the PatchTag (keyed to Tag) objects associated with each patch. We need to ensure that the main patch lists do not cause per-patch queries on the Patch.tags ManyToManyField (this would result in ~500 queries per page), so we introduce a new QuerySet (and Manager) for Patch, adding a with_tag_counts() method to populate the tag counts in a single query. As users may be migrating from previous patchwork versions (ie, with no tag counts in the database), we add a 'retag' management command. Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
Diffstat (limited to 'patchwork/templates')
-rw-r--r--patchwork/templates/patchwork/patch-list.html10
1 files changed, 9 insertions, 1 deletions
diff --git a/patchwork/templates/patchwork/patch-list.html b/patchwork/templates/patchwork/patch-list.html
index 675f67f..718949e 100644
--- a/patchwork/templates/patchwork/patch-list.html
+++ b/patchwork/templates/patchwork/patch-list.html
@@ -1,5 +1,6 @@
{% load person %}
{% load listurl %}
+{% load patch %}
{% load static %}
{% include "patchwork/pagination.html" %}
@@ -69,6 +70,12 @@
</th>
<th>
+ <span
+ title="{% for tag in project.tags %}{{tag.name}}{% if not forloop.last %} / {% endif %}{% endfor %}"
+ >{% for tag in project.tags %}{{tag.abbrev}}{% if not forloop.last %}/{% endif %}{% endfor %}</span>
+ </th>
+
+ <th>
{% ifequal order.name "date" %}
<a class="colactive"
href="{% listurl order=order.reversed_name %}"><img
@@ -166,6 +173,7 @@
{% endif %}
<td><a href="{% url 'patchwork.views.patch.patch' patch_id=patch.id %}"
>{{ patch.name|default:"[no subject]" }}</a></td>
+ <td style="white-space: nowrap;">{{ patch|patch_tags }}</td>
<td>{{ patch.date|date:"Y-m-d" }}</td>
<td>{{ patch.submitter|personify:project }}</td>
<td>{{ patch.delegate.username }}</td>
@@ -259,7 +267,7 @@
{% else %}
<tr>
- <td colspan="5">No patches to display</td>
+ <td colspan="6">No patches to display</td>
</tr>
{% endif %}