Serializer for CompetenceProfile
This commit is contained in:
parent
46998668d8
commit
8cfde35704
|
|
@ -64,6 +64,7 @@ if [ "$SKIP_SETUP" = false ]; then
|
|||
python3 server/manage.py create_default_users --settings="$DJANGO_SETTINGS_MODULE"
|
||||
python3 server/manage.py create_default_courses --settings="$DJANGO_SETTINGS_MODULE"
|
||||
python3 server/manage.py create_default_learning_path --settings="$DJANGO_SETTINGS_MODULE"
|
||||
python3 server/manage.py create_default_competence_profile --settings="$DJANGO_SETTINGS_MODULE"
|
||||
python3 server/manage.py create_default_media_library --settings="$DJANGO_SETTINGS_MODULE"
|
||||
|
||||
# make django translations
|
||||
|
|
|
|||
|
|
@ -19,3 +19,17 @@ def create_default_competence_profile():
|
|||
text='Innerhalb des Handlungsfelds «Fahrzeug» bin ich fähig, die Ziele und Pläne des Kunden zu ergründen (SOLL).',
|
||||
learning_unit=LearningUnit.objects.get(slug='versicherungsvermittlerin-lp-circle-analyse-lu-fahrzeug'),
|
||||
)
|
||||
PerformanceCriteriaFactory(
|
||||
parent=competence_profile_page,
|
||||
title='B2.1 Fahrzeug',
|
||||
text='Innerhalb des Handlungsfelds «Fahrzeug» bin ich fähig, die IST-Situation des Kunden mit der geeigneten Gesprächs-/Fragetechnik zu erfassen.',
|
||||
learning_unit=LearningUnit.objects.get(slug='versicherungsvermittlerin-lp-circle-analyse-lu-fahrzeug'),
|
||||
)
|
||||
PerformanceCriteriaFactory(
|
||||
parent=competence_profile_page,
|
||||
title='B2.2 Fahrzeug',
|
||||
text='Innerhalb des Handlungsfelds «Fahrzeug» bin ich fähig, die Risiken aufzuzeigen.',
|
||||
learning_unit=LearningUnit.objects.get(slug='versicherungsvermittlerin-lp-circle-analyse-lu-fahrzeug'),
|
||||
)
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -42,9 +42,15 @@ class PerformanceCriteria(Page):
|
|||
|
||||
content_panels = [
|
||||
FieldPanel('title'),
|
||||
FieldPanel('text'),
|
||||
FieldPanel('learning_unit'),
|
||||
]
|
||||
|
||||
def full_clean(self, *args, **kwargs):
|
||||
self.slug = find_available_slug(slugify(f"{self.get_parent()}-crit-{self.title}", allow_unicode=True))
|
||||
super(PerformanceCriteria, self).full_clean(*args, **kwargs)
|
||||
|
||||
@classmethod
|
||||
def get_serializer_class(cls):
|
||||
from vbv_lernwelt.competence.serializers import PerfomanceCriteriaSerializer
|
||||
return PerfomanceCriteriaSerializer
|
||||
|
|
|
|||
|
|
@ -0,0 +1,19 @@
|
|||
from rest_framework import serializers
|
||||
|
||||
from vbv_lernwelt.competence.models import PerformanceCriteria
|
||||
from vbv_lernwelt.learnpath.serializer_helpers import get_it_serializer_class
|
||||
|
||||
|
||||
class PerfomanceCriteriaSerializer(get_it_serializer_class(PerformanceCriteria, [
|
||||
'id', 'title', 'slug', 'type', 'translation_key',
|
||||
'text', 'learning_unit', 'circle',
|
||||
])):
|
||||
learning_unit = serializers.SerializerMethodField()
|
||||
circle = serializers.SerializerMethodField()
|
||||
|
||||
def get_learning_unit(self, obj):
|
||||
learning_unit_serializer = obj.learning_unit.get_serializer_class()
|
||||
return learning_unit_serializer(obj.learning_unit).data
|
||||
|
||||
def get_circle(self, obj):
|
||||
return obj.learning_unit.get_parent().specific.title
|
||||
|
|
@ -195,7 +195,10 @@ class LearningUnit(Page):
|
|||
|
||||
@classmethod
|
||||
def get_serializer_class(cls):
|
||||
return get_it_serializer_class(cls, field_names=['id', 'title', 'slug', 'type', 'translation_key', 'children'])
|
||||
return get_it_serializer_class(cls, field_names=[
|
||||
'id', 'title', 'slug', 'type', 'translation_key', 'children',
|
||||
'course_category',
|
||||
])
|
||||
|
||||
def get_admin_display_title_html(self):
|
||||
return f'<span style="font-weight: 700; font-size: 20px;">{self.draft_title}</span>'
|
||||
|
|
|
|||
Loading…
Reference in New Issue