from django.db import models from vbv_lernwelt.core.admin import User from vbv_lernwelt.course.models import CourseCompletion, CourseCompletionStatus class SelfEvaluationFeedback(models.Model): feedback_submitted = models.BooleanField(default=False) feedback_requester_user = models.ForeignKey( User, on_delete=models.CASCADE, related_name="feedback_requester_user" ) feedback_provider_user = models.ForeignKey( User, on_delete=models.CASCADE, related_name="feedback_provider_user" ) learning_unit = models.ForeignKey( "learnpath.LearningUnit", on_delete=models.CASCADE ) class CourseCompletionFeedback(models.Model): feedback = models.ForeignKey(SelfEvaluationFeedback, on_delete=models.CASCADE) # the course completion has to be evaluated by the feedback provider requester_evaluation = models.ForeignKey(CourseCompletion, on_delete=models.CASCADE) provider_evaluation_feedback = models.CharField( max_length=255, choices=[(status, status.value) for status in CourseCompletionStatus], default=CourseCompletionStatus.UNKNOWN.value, )