]> git.ozlabs.org Git - patchwork/commitdiff
Make the submitter name link to a query for that submitter
authorMichael Ellerman <mpe@ellerman.id.au>
Mon, 23 Mar 2015 06:56:22 +0000 (17:56 +1100)
committerJeremy Kerr <jk@ozlabs.org>
Sun, 3 May 2015 05:43:42 +0000 (13:43 +0800)
Currently the submitter name is rendered as a mailto: link. This is
possibly useful in some circumstances, but in my experience is not
usually what I want. Although it opens a mail to the submitter, it
doesn't include any of the patch context, so is not very helpful.

Instead the submitter link can be a link to a query for patches by that
submitter. In my experience that is more useful, ie. when looking at a
single patch for a submitter you can then quickly get the list of all
patches by them.

So do that conversion.

In order to do it we need to know the current project, so that becomes a
parameter to personify. I believe the url reversal is correct, though
it's not pretty, and pulling SubmitterFilter.param out feels a little
wrong, but is the best solution I could come up with.

Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
apps/patchwork/templatetags/person.py
templates/patchwork/patch-list.html
templates/patchwork/patch.html

index 07c356a9633d12415e7a7162a602a0b0079c4eaa..c337c7442de72eefa2cb3238e26be3960471d0cd 100644 (file)
 from django import template
 from django.utils.html import escape
 from django.utils.safestring import mark_safe
+from django.core.urlresolvers import reverse
+from patchwork.filters import SubmitterFilter
 import re
 
 register = template.Library()
 
 @register.filter
-def personify(person):
+def personify(person, project):
 
     if person.name:
         linktext = escape(person.name)
     else:
         linktext = escape(person.email)
 
-    str = '<a href="mailto:%s">%s</a>' % \
-                (escape(person.email), linktext)
+    url = reverse('patchwork.views.patch.list', kwargs = {'project_id' : project.linkname})
+    str = '<a href="%s?%s=%s">%s</a>' % \
+                (url, SubmitterFilter.param, escape(person.id), linktext)
 
     return mark_safe(str)
 
index 59adbe3017215b029814bed149723baa336bb28f..f8049f7bcabbad846cdc8e277ca84761cd08765e 100644 (file)
    <td><a href="{% url 'patchwork.views.patch.patch' patch_id=patch.id %}"
      >{{ patch.name|default:"[no subject]" }}</a></td>
    <td>{{ patch.date|date:"Y-m-d" }}</td>
-   <td>{{ patch.submitter|personify }}</td>
+   <td>{{ patch.submitter|personify:project }}</td>
    <td>{{ patch.delegate.username }}</td>
    <td>{{ patch.state }}</td>
   </tr>
index c04e32b4dda26bb5956fffed5f4c380a12002222..be831e9c31f551d429d27333556199d0b8fbac32 100644 (file)
@@ -30,7 +30,7 @@ function toggle_headers(link_id, headers_id)
 <table class="patchmeta">
  <tr>
   <th>Submitter</th>
-  <td>{{ patch.submitter|personify }}</td>
+  <td>{{ patch.submitter|personify:project }}</td>
  </tr>
  <tr>
   <th>Date</th>
@@ -179,7 +179,7 @@ function toggle_headers(link_id, headers_id)
 <h2>Comments</h2>
 {% for comment in patch.comments %}
 <div class="comment">
-<div class="meta">{{ comment.submitter|personify }} - {{comment.date}}</div>
+<div class="meta">{{ comment.submitter|personify:project }} - {{comment.date}}</div>
 <pre class="content">
 {{ comment|commentsyntax }}
 </pre>