Files
MathApp/content/receivers.py

20 lines
800 B
Python

from django.db.models.signals import post_save
from django.dispatch import receiver
from .models import UserAnswer, UserLessonCompletion
from .services import touch_node_progress_on_answer, update_node_progress_on_lesson_completion
@receiver(post_save, sender=UserAnswer, dispatch_uid='content_touch_node_progress_on_answer')
def _on_user_answer_created(sender, instance, created, **kwargs):
if not created:
return
touch_node_progress_on_answer(instance.user_id, instance.question)
@receiver(post_save, sender=UserLessonCompletion, dispatch_uid='content_update_node_progress_on_completion')
def _on_lesson_completion_created(sender, instance, created, **kwargs):
if not created:
return
update_node_progress_on_lesson_completion(instance.user_id, instance.lesson)