feat: adds feedback_user to LearningUnit model
This commit is contained in:
parent
1e934c15b1
commit
780be68a58
|
|
@ -329,3 +329,25 @@ class CircleDocument(models.Model):
|
|||
self.file.upload_finished_at = None
|
||||
self.file.save()
|
||||
return super().delete(*args, **kwargs)
|
||||
|
||||
|
||||
# TODO: Model something like this:
|
||||
# class LearningUnitCompletionFeedback(models.Model):
|
||||
# assignment_user = models.ForeignKey(User, on_delete=models.CASCADE)
|
||||
# feedback_user = models.ForeignKey(User, on_delete=models.CASCADE)
|
||||
# feedback_submitted = models.BooleanField(default=False)
|
||||
# learning_unit = models.ForeignKey(
|
||||
# "learnpath.LearningUnit", on_delete=models.CASCADE
|
||||
# )
|
||||
#
|
||||
#
|
||||
# class CourseCompletionFeedback(models.Model):
|
||||
# learning_unit_completion_feedback = models.ForeignKey(
|
||||
# LearningUnitCompletionFeedback, on_delete=models.CASCADE
|
||||
# )
|
||||
# course_completion = models.ForeignKey(CourseCompletion, on_delete=models.CASCADE)
|
||||
# feedback_status = models.CharField(
|
||||
# max_length=255,
|
||||
# choices=[(status, status.value) for status in CourseCompletionStatus],
|
||||
# default=CourseCompletionStatus.UNKNOWN.value,
|
||||
# )
|
||||
|
|
|
|||
|
|
@ -0,0 +1,23 @@
|
|||
# Generated by Django 3.2.20 on 2024-01-17 13:00
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('learnpath', '0012_auto_20231129_0827'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AddField(
|
||||
model_name='learningunit',
|
||||
name='feedback_user',
|
||||
field=models.CharField(blank=True, choices=[('NO_FEEDBACK', 'NO_FEEDBACK'), ('MENTOR_FEEDBACK', 'MENTOR_FEEDBACK')], default='NO_FEEDBACK', max_length=255),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='learningcontentassignment',
|
||||
name='assignment_type',
|
||||
field=models.CharField(choices=[('PRAXIS_ASSIGNMENT', 'PRAXIS_ASSIGNMENT'), ('CASEWORK', 'CASEWORK'), ('PREP_ASSIGNMENT', 'PREP_ASSIGNMENT'), ('REFLECTION', 'REFLECTION'), ('CONDITION_ACCEPTANCE', 'CONDITION_ACCEPTANCE'), ('EDONIQ_TEST', 'EDONIQ_TEST')], default='CASEWORK', max_length=50),
|
||||
),
|
||||
]
|
||||
|
|
@ -1,8 +1,9 @@
|
|||
import re
|
||||
from enum import Enum
|
||||
|
||||
from django.db import models
|
||||
from django.utils.text import slugify
|
||||
from wagtail.admin.panels import FieldPanel, PageChooserPanel
|
||||
from wagtail.admin.panels import FieldPanel, PageChooserPanel, HelpPanel
|
||||
from wagtail.fields import RichTextField, StreamField
|
||||
from wagtail.models import Page
|
||||
|
||||
|
|
@ -117,6 +118,13 @@ class Circle(CourseBasePage):
|
|||
return f"{self.title}"
|
||||
|
||||
|
||||
class LearningUnitPerformanceFeedbackType(Enum):
|
||||
"""Defines how feedback on the performance criteria (n) of a learning unit are given."""
|
||||
|
||||
NO_FEEDBACK = "NO_FEEDBACK"
|
||||
MENTOR_FEEDBACK = "MENTOR_FEEDBACK"
|
||||
|
||||
|
||||
class LearningSequence(CourseBasePage):
|
||||
serialize_field_names = ["icon"]
|
||||
|
||||
|
|
@ -169,10 +177,22 @@ class LearningUnit(CourseBasePage):
|
|||
"course.CourseCategory", on_delete=models.SET_NULL, null=True, blank=True
|
||||
)
|
||||
title_hidden = models.BooleanField(default=False)
|
||||
feedback_user = models.CharField(
|
||||
max_length=255,
|
||||
blank=True,
|
||||
choices=[(tag.name, tag.name) for tag in LearningUnitPerformanceFeedbackType],
|
||||
default=LearningUnitPerformanceFeedbackType.NO_FEEDBACK.name,
|
||||
)
|
||||
|
||||
content_panels = Page.content_panels + [
|
||||
FieldPanel("course_category"),
|
||||
FieldPanel("title_hidden"),
|
||||
FieldPanel("feedback_user"),
|
||||
HelpPanel(
|
||||
content="👆 Feedback zur Selbsteinschätzung: Normalerweise <code>NO_FEEDBACK</code>, "
|
||||
"ausser bei den Lerninhalten Selbsteinschätzungen, die eine Bewertung haben von einer "
|
||||
"Lernbegleitung haben sollen (z.B. VV)."
|
||||
),
|
||||
]
|
||||
|
||||
class Meta:
|
||||
|
|
|
|||
Loading…
Reference in New Issue