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)