diff --git a/src/common/email.py b/src/common/email.py index 0c8d6b351c9b33fa732ae13f52a03d5fb57519ef..45b8705f994cea140f6746831d916630364d0c0e 100644 --- a/src/common/email.py +++ b/src/common/email.py @@ -1,8 +1,8 @@ from django.core.mail import send_mail import codecs -sender_email = 'noreply@kszkepzes.sch.bme.hu' -link = 'kszkepzes.sch.bme.hu/homework' +sender_email = 'noreply@ujonc.sch.bme.hu' +link = 'https://ujonc.sch.bme.hu/homework' def read_email(name): diff --git a/src/common/emails/registration.txt b/src/common/emails/registration.txt index f9068e283264a6509bf534bc4c7e7a2c677cd432..bfe0c4e2d2fade84a3f9c22648be8bede498ae76 100644 --- a/src/common/emails/registration.txt +++ b/src/common/emails/registration.txt @@ -1,4 +1,4 @@ -Kedves %(name)s! +Szia! Örömmel vettük jelenkezésedet az idei KSZKépzés programunkba. Azonban ahhoz, hogy ezt el is tudjuk bírálni, még szükségünk van pár dologra tőled: - ki kell töltened a profilodat, diff --git a/src/document/models.py b/src/document/models.py index a9d72a22f77c1d87841b0e580c3747a57b73961e..8e26ea20ec77461fe475a53e308c9d0194e131c2 100644 --- a/src/document/models.py +++ b/src/document/models.py @@ -1,11 +1,22 @@ +import os + from django.db import models from django.core import validators - +from django.dispatch import receiver from account.models import Profile from homework.models import Solution from common.validators import FileSizeValidator +def document_file_name(instance, filename): + return '/'.join([ + 'document', + instance.solution.task.title, + instance.uploaded_by.full_name, + filename + ]) + + class Document(models.Model): uploaded_by = models.ForeignKey(Profile, on_delete=models.DO_NOTHING) uploaded_at = models.DateTimeField(auto_now_add=True, editable=False) @@ -22,9 +33,18 @@ class Document(models.Model): FileSizeValidator(size_limit=52428800), # 52428800 - 50MiB ], blank=True, - null=True + null=True, + upload_to=document_file_name ) solution = models.ForeignKey(Solution, related_name='files', on_delete=models.CASCADE) def __str__(self): return self.name + + +# Deletes file from filesystem when File object is deleted. +@receiver(models.signals.post_delete, sender=Document) +def auto_delete_file_on_delete(sender, instance, **kwargs): + if instance.file: + if os.path.isfile(instance.file.path): + os.remove(instance.file.path) diff --git a/src/stats/views.py b/src/stats/views.py index 393de2ce77b1bf476925663fd18b9ef967af4237..c917e47dd8b96927fe4f1ec018975c84ed6656b5 100644 --- a/src/stats/views.py +++ b/src/stats/views.py @@ -25,9 +25,9 @@ class NoteViewSet(viewsets.ModelViewSet): profile_id = self.request.query_params.get('profileID', None) event_id = self.request.query_params.get('eventID', None) if profile_id is not None and event_id is not None: - return queryset.filter(user=profile_id, event=event_id) + return queryset.filter(profile=profile_id, event=event_id) if profile_id is not None: - return queryset.filter(user=profile_id) + return queryset.filter(profile=profile_id) if event_id is not None: return queryset.filter(event=event_id) return queryset