mirror of
https://gitlab.crans.org/bde/nk20
synced 2025-07-21 00:19:10 +02:00
Achievement delete
This commit is contained in:
@ -7,6 +7,7 @@ from django.conf import settings
|
||||
from django.contrib.auth.mixins import LoginRequiredMixin
|
||||
from django.db import transaction
|
||||
from django.views.generic import DetailView, UpdateView
|
||||
from django.views.generic.edit import DeleteView
|
||||
from django.utils.translation import gettext_lazy as _
|
||||
from django_tables2 import SingleTableView
|
||||
from permission.backends import PermissionBackend
|
||||
@ -195,7 +196,7 @@ class ChallengeCreateView(ProtectQuerysetMixin, ProtectedCreateView):
|
||||
)
|
||||
|
||||
def get_success_url(self):
|
||||
return reverse_lazy('family:challenge_list')
|
||||
return reverse_lazy('family:manage')
|
||||
|
||||
|
||||
class ChallengeListView(ProtectQuerysetMixin, LoginRequiredMixin, SingleTableView):
|
||||
@ -264,7 +265,7 @@ class FamilyManageView(ProtectQuerysetMixin, LoginRequiredMixin, SingleTableView
|
||||
# retrieves only Transaction that user has the right to see.
|
||||
return Achievement.objects.filter(
|
||||
PermissionBackend.filter_queryset(self.request, Achievement, "view")
|
||||
).order_by("-obtained_at").all()[:20]
|
||||
).order_by("-obtained_at").all()
|
||||
|
||||
def get_context_data(self, **kwargs):
|
||||
context = super().get_context_data(**kwargs)
|
||||
@ -277,3 +278,33 @@ class FamilyManageView(ProtectQuerysetMixin, LoginRequiredMixin, SingleTableView
|
||||
context["can_add_challenge"] = PermissionBackend.check_perm(self.request, "family.add_challenge")
|
||||
|
||||
return context
|
||||
|
||||
def get_table(self, **kwargs):
|
||||
table = super().get_table(**kwargs)
|
||||
table.exclude = ('delete',)
|
||||
table.orderable = False
|
||||
return table
|
||||
|
||||
|
||||
class AchievementsView(ProtectQuerysetMixin, LoginRequiredMixin, SingleTableView):
|
||||
"""
|
||||
List all achievements
|
||||
"""
|
||||
model = Achievement
|
||||
table_class = AchievementTable
|
||||
extra_context = {'title': _('Achievement list')}
|
||||
|
||||
def get_table(self, **kwargs):
|
||||
table = super().get_table(**kwargs)
|
||||
table.orderable = True
|
||||
return table
|
||||
|
||||
|
||||
class AchievementDeleteView(ProtectQuerysetMixin, LoginRequiredMixin, DeleteView):
|
||||
"""
|
||||
Delete an Achievement
|
||||
"""
|
||||
model = Achievement
|
||||
|
||||
def get_success_url(self):
|
||||
return reverse_lazy('family:achievement_list')
|
||||
|
Reference in New Issue
Block a user