[PATCH 19/19] templates: Cleanup patch-list
Stephen Finucane
stephen.finucane at intel.com
Thu Feb 4 08:31:54 AEDT 2016
Cleanup this file before doing any work on it. Items addressed:
* Move complex logic into template tags
* Move related content closer together
* Random whitespace annoyances
Signed-off-by: Stephen Finucane <stephen.finucane at intel.com>
---
patchwork/templates/patchwork/patch-list.html | 95 +++++++++++++++------------
patchwork/templatetags/project.py | 33 ++++++++++
2 files changed, 85 insertions(+), 43 deletions(-)
create mode 100644 patchwork/templatetags/project.py
diff --git a/patchwork/templates/patchwork/patch-list.html b/patchwork/templates/patchwork/patch-list.html
index 2528790..66149c3 100644
--- a/patchwork/templates/patchwork/patch-list.html
+++ b/patchwork/templates/patchwork/patch-list.html
@@ -1,6 +1,7 @@
{% load person %}
{% load listurl %}
{% load patch %}
+{% load project %}
{% load static %}
{% load cycle from future %}
@@ -30,8 +31,9 @@
{% if page.paginator.long_page and user.is_authenticated %}
<div class="floaty">
- <a title="jump to form" href="#patchforms"><span
- style="font-size: 120%">▾</span></a>
+ <a title="jump to form" href="#patchforms">
+ <span style="font-size: 120%">▾</span>
+ </a>
</div>
{% endif %}
@@ -55,11 +57,12 @@ $(document).ready(function() {
<th>
{% ifequal order.name "name" %}
- <a class="colactive"
- href="{% listurl order=order.reversed_name %}"><span
- class="glyphicon glyphicon-chevron-{{ order.updown }}"
- ></span></a> <a class="colactive"
- href="{% listurl order=order.reversed_name %}">Patch</a>
+ <a class="colactive" href="{% listurl order=order.reversed_name %}">
+ <span class="glyphicon glyphicon-chevron-{{ order.updown }}"></span>
+ </a>
+ <a class="colactive" href="{% listurl order=order.reversed_name %}">
+ Patch
+ </a>
{% else %}
{% if not order.editable %}
<a class="colinactive" href="{% listurl order="name" %}">Patch</a>
@@ -70,9 +73,7 @@ $(document).ready(function() {
</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>
+ {% project_tags %}
</th>
<th>
@@ -81,11 +82,12 @@ $(document).ready(function() {
<th>
{% ifequal order.name "date" %}
- <a class="colactive"
- href="{% listurl order=order.reversed_name %}"><span
- class="glyphicon glyphicon-chevron-{{ order.updown }}"
- ></span></a> <a class="colactive"
- href="{% listurl order=order.reversed_name %}">Date</a>
+ <a class="colactive" href="{% listurl order=order.reversed_name %}">
+ <span class="glyphicon glyphicon-chevron-{{ order.updown }}"></span>
+ </a>
+ <a class="colactive" href="{% listurl order=order.reversed_name %}">
+ Date
+ </a>
{% else %}
{% if not order.editable %}
<a class="colinactive" href="{% listurl order="date" %}">Date</a>
@@ -97,14 +99,17 @@ $(document).ready(function() {
<th>
{% ifequal order.name "submitter" %}
- <a class="colactive"
- href="{% listurl order=order.reversed_name %}"><span
- class="glyphicon glyphicon-chevron-{{ order.updown }}"
- ></span></a> <a class="colactive"
- href="{% listurl order=order.reversed_name %}">Submitter</a>
+ <a class="colactive" href="{% listurl order=order.reversed_name %}">
+ <span class="glyphicon glyphicon-chevron-{{ order.updown }}"></span>
+ </a>
+ <a class="colactive" href="{% listurl order=order.reversed_name %}">
+ Submitter
+ </a>
{% else %}
{% if not order.editable %}
- <a class="colinactive" href="{% listurl order="submitter" %}">Submitter</a>
+ <a class="colinactive" href="{% listurl order="submitter" %}">
+ Submitter
+ </a>
{% else %}
<span class="colinactive">Submitter</span>
{% endif %}
@@ -113,11 +118,12 @@ $(document).ready(function() {
<th>
{% ifequal order.name "delegate" %}
- <a class="colactive"
- href="{% listurl order=order.reversed_name %}"><span
- class="glyphicon glyphicon-chevron-{{ order.updown }}"
- ></span></a> <a class="colactive"
- href="{% listurl order=order.reversed_name %}">Delegate</a>
+ <a class="colactive" href="{% listurl order=order.reversed_name %}">
+ <span class="glyphicon glyphicon-chevron-{{ order.updown }}"></span>
+ </a>
+ <a class="colactive" href="{% listurl order=order.reversed_name %}">
+ Delegate
+ </a>
{% else %}
{% if not order.editable %}
<a class="colinactive" href="{% listurl order="delegate" %}">Delegate</a>
@@ -129,11 +135,12 @@ $(document).ready(function() {
<th>
{% ifequal order.name "state" %}
- <a class="colactive"
- href="{% listurl order=order.reversed_name %}"><span
- class="glyphicon glyphicon-chevron-{{ order.updown }}"
- ></span></a> <a class="colactive"
- href="{% listurl order=order.reversed_name %}">State</a>
+ <a class="colactive" href="{% listurl order=order.reversed_name %}">
+ <span class="glyphicon glyphicon-chevron-{{ order.updown }}"></span>
+ </a>
+ <a class="colactive" href="{% listurl order=order.reversed_name %}">
+ State
+ </a>
{% else %}
{% if not order.editable %}
<a class="colinactive" href="{% listurl order="state" %}">State</a>
@@ -146,17 +153,19 @@ $(document).ready(function() {
</tr>
</thead>
-{% if page.paginator.count %}
<tbody>
{% for patch in page.object_list %}
<tr id="patch_row:{{patch.id}}">
- {% if user.is_authenticated %}
- <td>
+ {% if user.is_authenticated %}
+ <td>
<input type="checkbox" name="patch_id:{{patch.id}}"/>
- </td>
- {% endif %}
- <td><a href="{% url 'patch-detail' patch_id=patch.id %}"
- >{{ patch.name|default:"[no subject]"|truncatechars:100 }}</a></td>
+ </td>
+ {% endif %}
+ <td>
+ <a href="{% url 'patchwork.views.patch.patch' patch_id=patch.id %}">
+ {{ patch.name|default:"[no subject]"|truncatechars:100 }}
+ </a>
+ </td>
<td class="text-nowrap">{{ patch|patch_tags }}</td>
<td class="text-nowrap">{{ patch|patch_checks }}</td>
<td class="text-nowrap">{{ patch.date|date:"Y-m-d" }}</td>
@@ -164,10 +173,15 @@ $(document).ready(function() {
<td>{{ patch.delegate.username }}</td>
<td>{{ patch.state }}</td>
</tr>
+ {% empty %}
+ <tr>
+ <td colspan="8">No patches to display</td>
+ </tr>
{% endfor %}
</tbody>
</table>
+{% if page.paginator.count %}
{% include "patchwork/pagination.html" %}
<div class="patchforms" id="patchforms">
@@ -245,15 +259,10 @@ $(document).ready(function() {
</div>
{% endif %}
-
<div style="clear: both;">
</div>
</div>
-{% else %}
- <tr>
- <td colspan="6">No patches to display</td>
- </tr>
{% endif %}
</form>
diff --git a/patchwork/templatetags/project.py b/patchwork/templatetags/project.py
new file mode 100644
index 0000000..689b486
--- /dev/null
+++ b/patchwork/templatetags/project.py
@@ -0,0 +1,33 @@
+# Patchwork - automated patch tracking system
+# Copyright (C) 2016 Intel Corporation
+#
+# This file is part of the Patchwork package.
+#
+# Patchwork is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# Patchwork is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Patchwork; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+from __future__ import absolute_import
+
+from django import template
+from django.utils.safestring import mark_safe
+
+
+register = template.Library()
+
+
+ at register.simple_tag(takes_context=True)
+def project_tags(context):
+ return mark_safe('<span title="%s">%s</span>' % (
+ ' / '.join([tag.name for tag in context['project'].tags]),
+ '/'.join([tag.abbrev for tag in context['project'].tags])))
--
2.0.0
More information about the Patchwork
mailing list