Skip to content

Commit 309d9f7

Browse files
destrex271JelteF
andauthored
enhancement: added commitfest stats to /me page (#52)
Added stats generally visible on the generic commitfest page to the personal dashboard. --------- Co-authored-by: Jelte Fennema-Nio <[email protected]>
1 parent f78f500 commit 309d9f7

File tree

2 files changed

+35
-1
lines changed

2 files changed

+35
-1
lines changed

pgcommitfest/commitfest/templates/me.html

+7
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,13 @@
1111
</div>
1212
<button type="submit" class="btn btn-default">Search</button>
1313
</form>
14+
15+
<p>
16+
<br/>
17+
<b>Status summary: </b>{%for id,title,num in statussummary%}<a href="?status={{id}}">{{title}}</a>: {{num}}. {%endfor%}
18+
</p>
19+
20+
1421
{%include "filter_form.html" %}
1522
{%for p in patches %}
1623
{%ifchanged p.is_open%}

pgcommitfest/commitfest/views.py

+28-1
Original file line numberDiff line numberDiff line change
@@ -86,14 +86,41 @@ def me(request):
8686
if patch_list.redirect:
8787
return patch_list.redirect
8888

89+
# Get stats related to user for current commitfest
90+
curs = connection.cursor()
91+
curs.execute(
92+
"""SELECT
93+
ps.status, ps.statusstring, count(*)
94+
FROM commitfest_patchoncommitfest poc
95+
INNER JOIN commitfest_patch p ON p.id = poc.patch_id
96+
INNER JOIN commitfest_patchstatus ps ON ps.status=poc.status
97+
WHERE
98+
ps.status = ANY(%(openstatuses)s)
99+
AND (
100+
EXISTS (
101+
SELECT 1 FROM commitfest_patch_reviewers cpr WHERE cpr.patch_id=p.id AND cpr.user_id=%(user_id)s
102+
)
103+
OR EXISTS (
104+
SELECT 1 FROM commitfest_patch_authors cpa WHERE cpa.patch_id=p.id AND cpa.user_id=%(user_id)s
105+
)
106+
OR p.committer_id=%(user_id)s
107+
)
108+
GROUP BY ps.status ORDER BY ps.sortkey""",
109+
{
110+
"user_id": request.user.id,
111+
"openstatuses": PatchOnCommitFest.OPEN_STATUSES,
112+
},
113+
)
114+
statussummary = curs.fetchall()
115+
89116
return render(
90117
request,
91118
"me.html",
92119
{
93120
"form": form,
94121
"title": "Personal Dashboard",
95122
"patches": patch_list.patches,
96-
"statussummary": "",
123+
"statussummary": statussummary,
97124
"has_filter": patch_list.has_filter,
98125
"grouping": patch_list.sortkey == 0,
99126
"sortkey": patch_list.sortkey,

0 commit comments

Comments
 (0)