forked from 42CTF/website
Add campuses scoreboard
This commit is contained in:
parent
ea691204c4
commit
e8575d559e
|
@ -12,6 +12,7 @@
|
||||||
<th scope="col">{% trans "Rank" %}</th>
|
<th scope="col">{% trans "Rank" %}</th>
|
||||||
<th scope="col">{% trans "Username" %}</th>
|
<th scope="col">{% trans "Username" %}</th>
|
||||||
<th scope="col">{% trans "Website" %}</th>
|
<th scope="col">{% trans "Website" %}</th>
|
||||||
|
<th scope="col">{% trans "Campus" %}</th>
|
||||||
<th scope="col">{% trans "Score" %}</th>
|
<th scope="col">{% trans "Score" %}</th>
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
|
@ -26,6 +27,12 @@
|
||||||
<a href="{{ s.user.userprofileinfo.portfolio_site }}" target="_blank">{{ s.user.userprofileinfo.portfolio_site }}</a>
|
<a href="{{ s.user.userprofileinfo.portfolio_site }}" target="_blank">{{ s.user.userprofileinfo.portfolio_site }}</a>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</td>
|
</td>
|
||||||
|
<td>
|
||||||
|
{% if s.user.userprofileinfo.intra42_campus %}
|
||||||
|
<a href="{% url 'scoreboard:campus' campus=s.user.userprofileinfo.intra42_campus %}">
|
||||||
|
{{ s.user.userprofileinfo.intra42_campus }}
|
||||||
|
</a>
|
||||||
|
{% endif %}
|
||||||
<td>{{ s.user.userprofileinfo.score }}</td>
|
<td>{{ s.user.userprofileinfo.score }}</td>
|
||||||
</tr>
|
</tr>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
|
|
|
@ -4,5 +4,6 @@ from . import views
|
||||||
app_name = "scoreboard"
|
app_name = "scoreboard"
|
||||||
|
|
||||||
urlpatterns = [
|
urlpatterns = [
|
||||||
path('', views.scoreboard, name='scoreboard')
|
path('', views.scoreboard, name='scoreboard'),
|
||||||
|
path('campus/<str:campus>', views.campus, name='campus')
|
||||||
]
|
]
|
||||||
|
|
|
@ -8,5 +8,12 @@ def scoreboard(request):
|
||||||
page = request.GET.get('page')
|
page = request.GET.get('page')
|
||||||
scores_p = paginator.get_page(page)
|
scores_p = paginator.get_page(page)
|
||||||
return render(request, 'scoreboard/scoreboard.html', {'scores':scores_p})
|
return render(request, 'scoreboard/scoreboard.html', {'scores':scores_p})
|
||||||
|
|
||||||
|
def campus(request, campus):
|
||||||
|
scores = UserProfileInfo.objects.filter(score__gt=0, intra42_campus__exact=campus).select_related().order_by('-score', 'last_submission_date', 'user__username')
|
||||||
|
paginator = Paginator(scores, 20)
|
||||||
|
page = request.GET.get('page')
|
||||||
|
scores_p = paginator.get_page(page)
|
||||||
|
return render(request, 'scoreboard/scoreboard.html', {'scores':scores_p})
|
||||||
|
|
||||||
# Create your views here.
|
# Create your views here.
|
||||||
|
|
Loading…
Reference in New Issue