Skip to content
Snippets Groups Projects
Commit 8840538c authored by Bodor Máté's avatar Bodor Máté
Browse files

Create emails

parent 477afbb4
No related branches found
No related tags found
No related merge requests found
from django.core import exceptions from django.core import exceptions
from common.email import registration from common import email
from . import models from . import models
...@@ -11,4 +11,4 @@ def create_profile(backend, user, response, *args, **kwargs): ...@@ -11,4 +11,4 @@ def create_profile(backend, user, response, *args, **kwargs):
except exceptions.ObjectDoesNotExist: except exceptions.ObjectDoesNotExist:
models.Profile.objects.create(user=user) models.Profile.objects.create(user=user)
if user.email is not None: if user.email is not None:
registration(user.email) email.registration(user)
...@@ -30,7 +30,7 @@ class Profile(models.Model): ...@@ -30,7 +30,7 @@ class Profile(models.Model):
user = models.OneToOneField( user = models.OneToOneField(
User, User,
related_name='profile', related_name='profile',
on_delete=models.CASCADE, on_delete=models.CASCADE
) )
# TODO: Change the default to json render side # TODO: Change the default to json render side
motivation_about = models.TextField(blank=True, default='') motivation_about = models.TextField(blank=True, default='')
......
...@@ -54,9 +54,9 @@ class ProfileSerializer(serializers.ModelSerializer): ...@@ -54,9 +54,9 @@ class ProfileSerializer(serializers.ModelSerializer):
new_role = validated_data.get('role', instance.role) new_role = validated_data.get('role', instance.role)
if instance.role != new_role: if instance.role != new_role:
if new_role == 'Student': if new_role == 'Student':
email.admitted(instance.user.email) email.admitted(instance.user)
if new_role == 'Denied': if new_role == 'Denied':
email.denied(instance.user.email) email.denied(instance.user)
return super().update(instance, validated_data) return super().update(instance, validated_data)
def get_full_name(self, obj): def get_full_name(self, obj):
......
Kedves %(name)s!
Gratulálunk! Jelentkezésedet elfogadtuk! Innentől kezdve aktívan figyeld leveleidet, mert hamarosan megkapod az első képzésalkalmunkra szóló meghívódat!
Üdvözlettel:
A mentorok
\ No newline at end of file
Kedves %(name)s!
Sajnos - hely hiányában - idei képzésalkamunkon nem tudsz részt venni. Ne csüggedj, következő évben is indítunk ilyen programot, és ha addig is szorgalmasan tevékenykedsz, akkor biztosan be fogsz kerülni!
Üdvözlettel:
A mentorok
\ No newline at end of file
Kedves %(name)s!
A(z) %(title)s című házi feladatod státusza %(status)s lett.
Az alábbi linken tudod megtekinteni a részleteket: %(link)s .
Üdvözlettel:
A mentorok
\ No newline at end of file
Kedves %(name)s!
Új házi feladat került kiadásra, melyet az alábbi linken tudsz megtekinteni: %(link)s
Határidő: %(deadline)s
Sok sikert!
A mentorok
\ No newline at end of file
Kedves %(name)s!
Ö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,
- találsz pár feladatot is az oldalon, ezeket meg kell oldanod,
- gyere el Újoncdélutánunkra, erről majd még küldünk emailt.
A feladatokhoz jó szórakozást kívánunk, és ne ijedj meg, ha valamit nem tudsz fejből, Google-t és egyéb segítséget természetesen használhatsz!
Üdvözlettel:
A mentorok
...@@ -18,8 +18,9 @@ class TaskSerializer(serializers.ModelSerializer): ...@@ -18,8 +18,9 @@ class TaskSerializer(serializers.ModelSerializer):
return data return data
def create(self, validated_data): def create(self, validated_data):
emails = Profile.objects.filter(role="Student").exclude(user__email='').values_list('user__email', flat=True) profiles = Profile.objects.filter(role="Student").exclude(user__email='')
email.new_homework(emails) for profile in profiles:
email.new_homework(profile.user, validated_data.get('deadline'))
return self.Meta.model.objects.create(**validated_data) return self.Meta.model.objects.create(**validated_data)
...@@ -64,10 +65,15 @@ class SolutionSerializer(serializers.ModelSerializer): ...@@ -64,10 +65,15 @@ class SolutionSerializer(serializers.ModelSerializer):
def update(self, instance, validated_data): def update(self, instance, validated_data):
if instance.corrected == False and validated_data.get('corrected', instance.corrected) == True: if instance.corrected == False and validated_data.get('corrected', instance.corrected) == True:
email.homework_corrected(instance.created_by.user.email) email.homework_corrected(
instance.created_by.user,
instance.task.title,
validated_data.get('accepted', instance.accepted)
)
return super().update(instance, validated_data) return super().update(instance, validated_data)
def create(self, validated_data): def create(self, validated_data):
profile = CurrentUserMiddleware.get_current_user_profile() profile = CurrentUserMiddleware.get_current_user_profile()
models.Solution.objects.filter(created_by=profile, task=validated_data['task']).delete() models.Solution.objects.filter(created_by=profile, task=validated_data['task']).delete()
return super().create(validated_data) return super().create(validated_data)
...@@ -8,7 +8,7 @@ from common import permissions ...@@ -8,7 +8,7 @@ from common import permissions
class TasksViewSet(viewsets.ModelViewSet): class TasksViewSet(viewsets.ModelViewSet):
serializer_class = serializers.TaskSerializer serializer_class = serializers.TaskSerializer
queryset = models.Task.objects.all() queryset = models.Task.objects.all()
permission_classes = (permissions.IsStaffOrReadOnlyForAuthenticated, permissions.IsStaffOrStudent ) permission_classes = (permissions.IsStaffOrReadOnlyForAuthenticated, permissions.IsStaffOrStudent, )
class SolutionsViewSet(viewsets.ModelViewSet): class SolutionsViewSet(viewsets.ModelViewSet):
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment