mirror of
https://gitlab.crans.org/bde/nk20
synced 2025-07-20 08:01:26 +02:00
Ajout des défis réalisés par une famille
This commit is contained in:
@ -90,3 +90,16 @@ class AchievementTable(tables.Table):
|
||||
fields = ('family', 'challenge', 'challenge__points', 'obtained_at', )
|
||||
template_name = 'django_tables2/bootstrap4.html'
|
||||
order_by = ('-obtained_at',)
|
||||
|
||||
class FamilyAchievementTable(tables.Table):
|
||||
"""
|
||||
Table des défis réalisés par une famille spécifique.
|
||||
"""
|
||||
class Meta:
|
||||
model = Achievement
|
||||
template_name = 'django_tables2/bootstrap4.html'
|
||||
fields = ('challenge', 'challenge__points', 'obtained_at',)
|
||||
attrs = {
|
||||
'class': 'table table-condensed table-striped table-hover'
|
||||
}
|
||||
order_by = ('-obtained_at',)
|
@ -13,4 +13,13 @@ SPDX-License-Identifier: GPL-3.0-or-later
|
||||
</div>
|
||||
{% render_table member_list %}
|
||||
</div>
|
||||
|
||||
<div class="my-4"></div>
|
||||
|
||||
<div class="card">
|
||||
<div class="card-header position-relative">
|
||||
<i class="fa fa-trophy"></i> {% trans "Completed challenges" %}
|
||||
</div>
|
||||
{% render_table achievement_list %}
|
||||
</div>
|
||||
{% endblock %}
|
@ -16,7 +16,7 @@ from django.urls import reverse_lazy
|
||||
from member.views import PictureUpdateView
|
||||
|
||||
from .models import Family, Challenge, FamilyMembership, User, Achievement
|
||||
from .tables import FamilyTable, ChallengeTable, FamilyMembershipTable, AchievementTable
|
||||
from .tables import FamilyTable, ChallengeTable, FamilyMembershipTable, AchievementTable, FamilyAchievementTable
|
||||
from .forms import ChallengeForm, FamilyMembershipForm, FamilyForm
|
||||
|
||||
|
||||
@ -88,6 +88,12 @@ class FamilyDetailView(ProtectQuerysetMixin, LoginRequiredMixin, DetailView):
|
||||
context["can_add_members"] = PermissionBackend()\
|
||||
.has_perm(self.request.user, "family.add_membership", empty_membership)
|
||||
|
||||
# Défis réalisé par la famille
|
||||
achievements = Achievement.objects.filter(family=family)
|
||||
achievements_table = FamilyAchievementTable(data=achievements, prefix="achievement-")
|
||||
achievements_table.paginate(per_page=5, page=self.request.GET.get('achievement-page', 1))
|
||||
context["achievement_list"] = achievements_table
|
||||
|
||||
return context
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user