Filter out inactive users
All checks were successful
continuous-integration/drone Build is passing

This commit is contained in:
Michal Kunc 2023-05-18 22:28:51 +02:00
parent 9230c35be6
commit a48df0f44d
2 changed files with 5 additions and 4 deletions

View File

@ -29,11 +29,11 @@ class Movie(models.Model):
@property @property
def score(self): def score(self):
return reduce(lambda result,v: result+v.vote, self.movievote_set.all(), 0) return reduce(lambda result,v: result+v.vote, self.movievote_set.filter(user__is_active=True).all(), 0)
@property @property
def seen_score(self): def seen_score(self):
return reduce(lambda result,v: result+int(v.seen), self.movievote_set.all(), 0) return reduce(lambda result,v: result+int(v.seen), self.movievote_set.filter(user__is_active=True).all(), 0)
def __str__(self): def __str__(self):
return self.name return self.name

View File

@ -1,3 +1,4 @@
from django.db.models import Q
from django.http import HttpResponseRedirect, HttpResponseBadRequest, HttpResponseForbidden from django.http import HttpResponseRedirect, HttpResponseBadRequest, HttpResponseForbidden
from django.views import generic from django.views import generic
from django.views.decorators.http import require_http_methods, require_safe, require_POST from django.views.decorators.http import require_http_methods, require_safe, require_POST
@ -36,7 +37,7 @@ class DetailView(generic.DetailView):
def get_context_data(self, **kwargs): def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs) context = super().get_context_data(**kwargs)
votes = self.object.movievote_set.all() votes = self.object.movievote_set.filter(user__is_active=True).all()
user_vote = None user_vote = None
if self.request.user.is_authenticated: if self.request.user.is_authenticated:
user_vote = votes.filter(user=self.request.user).first() user_vote = votes.filter(user=self.request.user).first()
@ -70,7 +71,7 @@ class EditView(generic.DetailView):
def get_context_data(self, **kwargs): def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs) context = super().get_context_data(**kwargs)
context["users"] = User.objects.all() if self.request.user.has_perm("watchlist.moderate_movies") else None context["users"] = User.objects.filter(Q(is_active=True) | Q(id=self.object.suggested_by.id)).all() if self.request.user.has_perm("watchlist.moderate_movies") else None
context["error"] = self.request.GET.get("error", None) context["error"] = self.request.GET.get("error", None)
return context return context