diff options
author | Jeremy Kerr <jk@ozlabs.org> | 2015-05-27 09:56:36 +0800 |
---|---|---|
committer | Jeremy Kerr <jk@ozlabs.org> | 2015-05-28 09:05:45 +0800 |
commit | 3b8a61c68fa61eadebf7b19329e8d3bffde9e6b4 (patch) | |
tree | 88f53364498523371c2bd1fc33b2e0dbbbb41372 /patchwork/templates | |
parent | daa3ae42eee5e569881070bcc2958b361743f70a (diff) | |
download | patchwork-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.html | 10 |
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 %} |