1
0
mirror of https://gitlab.com/animath/si/plateforme.git synced 2025-07-05 12:03:58 +02:00

Send solutions

This commit is contained in:
Yohann D'ANELLO
2020-05-04 23:37:21 +02:00
parent 9499e10524
commit 26eacad2fd
9 changed files with 118 additions and 21 deletions

View File

@ -12,7 +12,7 @@ from django_tables2 import SingleTableView
from tournament.models import Team
from tournament.views import AdminMixin, TeamMixin
from .forms import SignUpForm, TFJMUserForm
from .models import TFJMUser, Document
from .models import TFJMUser, Document, Solution, MotivationLetter, Synthesis
from .tables import UserTable
@ -93,7 +93,12 @@ class DocumentView(LoginRequiredMixin, View):
def get(self, request, *args, **kwargs):
doc = Document.objects.get(file=self.kwargs["file"])
if not request.user.admin:
grant = request.user.admin
if isinstance(doc, Solution) or isinstance(doc, Synthesis) or isinstance(doc, MotivationLetter):
grant = grant or doc.team == request.user.team or request.user in doc.team.tournament.organizers.all()
if not grant:
raise PermissionDenied
return FileResponse(doc.file, content_type="application/pdf")