Compare commits
3 Commits
8cb0554696
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
| a48df0f44d | |||
| 9230c35be6 | |||
| adada84e9a |
+11
@@ -3,6 +3,17 @@ type: docker
|
|||||||
name: default
|
name: default
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
|
- name: test
|
||||||
|
image: python:3.10
|
||||||
|
commands:
|
||||||
|
- pip3 install poetry --quiet
|
||||||
|
- poetry install --no-root --quiet
|
||||||
|
- export SECRET_KEY=$(openssl rand -hex 32)
|
||||||
|
- export DATABASE_URL=sqlite://$(mktemp)/db.sqlite3
|
||||||
|
- poetry run ./manage.py test
|
||||||
|
environment:
|
||||||
|
ALLOWED_HOSTS: localhost,127.0.0.1
|
||||||
|
DEBUG: True
|
||||||
- name: deploy
|
- name: deploy
|
||||||
image: caprover/cli-caprover:2.2.3
|
image: caprover/cli-caprover:2.2.3
|
||||||
commands:
|
commands:
|
||||||
|
|||||||
+2
-2
@@ -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
|
||||||
|
|||||||
+3
-2
@@ -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
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user