From db10a0cc66aa518f4e53139552819659e33b1d1f Mon Sep 17 00:00:00 2001
From: Christoph Berg <myon@debian.org>
Date: Fri, 25 Sep 2026 17:29:36 +0200
Subject: [PATCH v12 1/2] Make contributor badges discoverable

Add the People entry to the community menu and the Contributor Badges
entry to the account's submitted-data menu, and link the recognized
contributors list to the new people and profile pages. These are the
incoming links from existing pages; the badges system is fully
functional without them, so this can be pushed separately after testing.

Author: Melanie Plageman <melanieplageman@gmail.com>
Author: Christoph Berg <myon@debian.org>
---
 pgweb/util/contexts.py           |  2 ++
 templates/contributors/list.html | 29 ++++++++++++++++-------------
 2 files changed, 18 insertions(+), 13 deletions(-)

diff --git a/pgweb/util/contexts.py b/pgweb/util/contexts.py
index ca493714..dc60740d 100644
--- a/pgweb/util/contexts.py
+++ b/pgweb/util/contexts.py
@@ -47,6 +47,7 @@ sitenav = {
     'community': [
         {'title': 'Community', 'link': '/community/'},
         {'title': 'Contributors', 'link': '/community/contributors/'},
+        {'title': 'People', 'link': '/community/people/'},
         {'title': 'Mailing Lists', 'link': '/list/'},
         {'title': 'IRC', 'link': '/community/irc/'},
         # {'title': 'Slack', 'link': 'https://join.slack.com/t/postgresteam/shared_invite/zt-1qj14i9sj-E9WqIFlvcOiHsEk2yFEMjA'},
@@ -86,6 +87,7 @@ sitenav = {
             {'title': 'Events', 'link': '/account/edit/events/'},
             {'title': 'Products', 'link': '/account/edit/products/'},
             {'title': 'Professional Services', 'link': '/account/edit/services/'},
+            {'title': 'Contributor Badges', 'link': '/account/edit/badges/'},
             {'title': 'Organisations', 'link': '/account/edit/organisations/'},
         ]},
         {'title': 'Change password', 'link': '/account/changepwd/'},
diff --git a/templates/contributors/list.html b/templates/contributors/list.html
index 068fc949..8377a8e7 100644
--- a/templates/contributors/list.html
+++ b/templates/contributors/list.html
@@ -1,18 +1,18 @@
 {%extends "base/page.html"%}
 {%load pgfilters%}
-{%block title%}Contributor Profiles{%endblock%}
+{%block title%}Recognized Contributors{%endblock%}
 {%block contents%}
-<h1>PostgreSQL Contributor Profiles <i class="fa fa-users"></i></h1>
-
-<p>These are the fine people that make PostgreSQL what it is today!</p>
+<h1>PostgreSQL Recognized Contributors <i class="fa fa-users"></i></h1>
 
 <p>
-    For a list of all code contributions to a specific release, see the
-  <a href="/docs/release/">Release Notes</a> for released versions of PostgreSQL.
+  These are the fine people who make PostgreSQL what it is today!
+  Contributors listed here have provided a sustained stream of notable contributions in recent years.
 </p>
+
 <p>
-    Existing contributors can update their information in their
-    <a href="/account/profile/">user profile</a>.
+  A separate page lists all
+  <a href="/community/people/">people who have made contributions to PostgreSQL</a>
+  over the years.
 </p>
 
 {%for t in contributortypes%}
@@ -32,7 +32,7 @@
     {%for c in t.contributor_set.all %}
      {%if t.detailed%}
       <tr>
-       <td>{{c.firstname}} {{c.lastname}} {%if t.showemail and c.email%}({{c.email|hidemail}}){%endif%}
+       <td>{% if c.user %}<a href="/community/people/{{c.user.username}}/">{{c.firstname}} {{c.lastname}}</a>{% else %}{{c.firstname}} {{c.lastname}}{% endif %} {%if t.showemail and c.email%}({{c.email|hidemail}}){%endif%}
           {%if c.company %}
           <br/>
             {% if c.companyurl %}
@@ -41,21 +41,23 @@
               {{c.company}}
             {% endif %}
           {% endif %}
-          <br/>
-          {{c.location}}
+          {%if c.location %}
+            <br/>
+            {{c.location}}
+          {% endif %}
         </td>
         <td>{{c.contribution}}</td>
        </tr>
      {%else%}
       {%if forloop.counter0|divisibleby:"2" %}
        <tr>
-        <td>{{c.firstname}} {{c.lastname}}{%if t.showemail and c.email%} ({{c.email|hidemail}}){%endif%}</td>
+        <td>{% if c.user %}<a href="/community/people/{{c.user.username}}/">{{c.firstname}} {{c.lastname}}</a>{% else %}{{c.firstname}} {{c.lastname}}{% endif %}{%if t.showemail and c.email%} ({{c.email|hidemail}}){%endif%}</td>
         {%if forloop.last%}
         <td></td>
        </tr>
         {%endif%}
       {%else%}
-        <td>{{c.firstname}} {{c.lastname}}{%if t.showemail and c.email%} ({{c.email|hidemail}}){%endif%}</td>
+        <td>{% if c.user %}<a href="/community/people/{{c.user.username}}/">{{c.firstname}} {{c.lastname}}</a>{% else %}{{c.firstname}} {{c.lastname}}{% endif %}{%if t.showemail and c.email%} ({{c.email|hidemail}}){%endif%}</td>
        </tr>
       {%endif%}
      {%endif%}
@@ -65,6 +67,7 @@
 {%endfor%}
 
 <p>All contributors are listed in alphabetical order.
+  Existing contributors can update their information in their <a href="/account/profile/">user profile</a>.
   To suggest additions or corrections to this list, please email the
   <a href="/about/governance/contributors/">Contributors Committee</a> at
   <a href="mailto:contributors@postgresql.org">contributors@postgresql.org</a>.
-- 
2.53.0

