Merged in feature/VBV-386-lerneinheiten-titel-entfernbar-machen (pull request #111)

Add ability to hide learning unit titles

* Add ability to hide learning unit titles

# Conflicts:
#	server/vbv_lernwelt/course/creators/uk_course.py

* Fix rebase

* Undo faulty rebase


Approved-by: Christian Cueni
This commit is contained in:
Elia Bieri 2023-05-31 09:39:27 +00:00
parent dd7efdd7a5
commit 6d662626dc
7 changed files with 46 additions and 22 deletions

View File

@ -108,8 +108,13 @@ const learningSequenceBorderClass = computed(() => {
:key="learningUnit.id"
class="pt-3 lg:pt-6"
>
<div v-if="learningUnit.title" class="lg:pg-6 flex gap-4 pb-3 text-blue-900">
<div class="font-semibold">{{ learningUnit.title }}</div>
<div
v-if="learningUnit.title && !learningUnit.title_hidden"
class="lg:pg-6 flex gap-4 pb-3 text-blue-900"
>
<div class="font-semibold">
{{ learningUnit.title }}
</div>
<div v-if="learningUnit.minutes > 0" class="whitespace-nowrap">
{{ humanizeDuration(learningUnit.minutes) }}
</div>

View File

@ -110,6 +110,7 @@ export interface LearningUnit extends BaseCourseWagtailPage {
readonly content_type: "learnpath.LearningUnit";
readonly evaluate_url: string;
readonly course_category: CourseCategory;
readonly title_hidden: boolean;
children: LearningUnitPerformanceCriteria[];
// additional frontend fields

View File

@ -155,7 +155,7 @@ damit du erfolgreich mit deinem Lernpfad (durch-)starten kannst.
LearningSequenceFactory(
title="Vorbereitung", parent=circle, icon="it-icon-ls-start"
)
LearningUnitFactory(title="Vorbereitung", parent=circle)
LearningUnitFactory(title="Vorbereitung", title_hidden=True, parent=circle)
first_title = title.split()[0]
if first_title in [
@ -192,12 +192,12 @@ damit du erfolgreich mit deinem Lernpfad (durch-)starten kannst.
parent=circle,
)
LearningSequenceFactory(title="Training", parent=circle)
LearningUnitFactory(title="Unterlagen", parent=circle)
LearningUnitFactory(title="Unterlagen", title_hidden=True, parent=circle)
LearningContentPlaceholderFactory(
title="Unterlagen für den Unterricht",
parent=circle,
)
LearningUnitFactory(title="Kompetenznachweis", parent=circle)
LearningUnitFactory(title="Kompetenznachweis", title_hidden=True, parent=circle)
LearningContentPlaceholderFactory(
title="Wissens- und Verständnisfragen",
parent=circle,
@ -228,7 +228,7 @@ In diesem Circle erfährst du wie die überbetrieblichen Kurse aufgebaut sind. Z
LearningSequenceFactory(
title="Vorbereitung", parent=circle, icon="it-icon-ls-start"
)
LearningUnitFactory(title="Vorbereitung", parent=circle)
LearningUnitFactory(title="Vorbereitung", title_hidden=True, parent=circle)
LearningContentMediaLibraryFactory(
title=f"Allgemeines zu Versicherungen",
parent=circle,
@ -247,7 +247,7 @@ In diesem Circle erfährst du wie die überbetrieblichen Kurse aufgebaut sind. Z
),
),
LearningSequenceFactory(title="Training", parent=circle)
LearningUnitFactory(title="Präsenzkurs", parent=circle)
LearningUnitFactory(title="Präsenzkurs", title_hidden=True, parent=circle)
LearningContentAttendanceCourseFactory(
title="Präsenzkurs Kickoff",
parent=circle,
@ -255,7 +255,7 @@ In diesem Circle erfährst du wie die überbetrieblichen Kurse aufgebaut sind. Z
LearningContentFeedbackFactory(
parent=circle,
)
LearningUnitFactory(title="Unterlagen", parent=circle)
LearningUnitFactory(title="Unterlagen", title_hidden=True, parent=circle)
LearningContentDocumentListFactory(
title="Unterlagen für den Unterricht",
parent=circle,
@ -293,7 +293,7 @@ In diesem Circle erfährst du wie die überbetrieblichen Kurse aufgebaut sind. Z
],
)
LearningSequenceFactory(title="Transfer", parent=circle, icon="it-icon-ls-end")
LearningUnitFactory(title="Reflexion", parent=circle)
LearningUnitFactory(title="Reflexion", title_hidden=True, parent=circle)
LearningContentAssignmentFactory(
title="Reflexion",
assignment_type="REFLECTION",
@ -316,7 +316,7 @@ In diesem Circle lernst du die wichtigsten Grundlagen bezüglich Versicherungswi
LearningSequenceFactory(
title="Vorbereitung", parent=circle, icon="it-icon-ls-start"
)
LearningUnitFactory(title="Vorbereitung", parent=circle)
LearningUnitFactory(title="Vorbereitung", title_hidden=True, parent=circle)
LearningContentMediaLibraryFactory(
title=f"Allgemeines zu Versicherungen",
parent=circle,
@ -335,12 +335,12 @@ In diesem Circle lernst du die wichtigsten Grundlagen bezüglich Versicherungswi
),
),
LearningSequenceFactory(title="Training", parent=circle)
LearningUnitFactory(title="Präsenzkurs", parent=circle)
LearningUnitFactory(title="Präsenzkurs", title_hidden=True, parent=circle)
LearningContentAttendanceCourseFactory(
title="Präsenzkurs Basis",
parent=circle,
)
LearningUnitFactory(title="Unterlagen", parent=circle)
LearningUnitFactory(title="Unterlagen", title_hidden=True, parent=circle)
LearningContentDocumentListFactory(
title="Unterlagen für den Unterricht",
parent=circle,
@ -387,7 +387,7 @@ In diesem Circle lernst du die wichtigsten Grundlagen bezüglich Versicherungswi
),
],
)
LearningUnitFactory(title="Kompetenznachweis", parent=circle)
LearningUnitFactory(title="Kompetenznachweis", title_hidden=True, parent=circle)
LearningContentTestFactory(
title="Wissens- und Verständnisfragen",
parent=circle,
@ -423,7 +423,7 @@ def create_uk_circle_fahrzeug(lp, title="Fahrzeug"):
LearningSequenceFactory(
title="Vorbereitung", parent=circle, icon="it-icon-ls-start"
)
LearningUnitFactory(title="Vorbereitung", parent=circle)
LearningUnitFactory(title="Vorbereitung", title_hidden=True, parent=circle)
LearningContentMediaLibraryFactory(
title=f"Handlungsfeld «{title}»",
parent=circle,
@ -442,7 +442,7 @@ def create_uk_circle_fahrzeug(lp, title="Fahrzeug"):
),
),
LearningSequenceFactory(title="Training", parent=circle)
LearningUnitFactory(title="Präsenzkurs", parent=circle)
LearningUnitFactory(title="Präsenzkurs", title_hidden=True, parent=circle)
LearningContentAttendanceCourseFactory(
title="Präsenzkurs Fahrzeug",
parent=circle,
@ -450,7 +450,7 @@ def create_uk_circle_fahrzeug(lp, title="Fahrzeug"):
LearningContentFeedbackFactory(
parent=circle,
)
LearningUnitFactory(title="Unterlagen", parent=circle)
LearningUnitFactory(title="Unterlagen", title_hidden=True, parent=circle)
LearningContentDocumentListFactory(
title="Unterlagen für den Unterricht",
parent=circle,
@ -527,8 +527,9 @@ def create_uk_circle_fahrzeug(lp, title="Fahrzeug"):
),
],
)
LearningSequenceFactory(title="Transfer", parent=circle, icon="it-icon-ls-end")
LearningUnitFactory(title="Transfer", parent=circle)
LearningUnitFactory(title="Transfer", title_hidden=True, parent=circle)
LearningContentAssignmentFactory(
title="Überprüfen einer Motorfahrzeug-Versicherungspolice",
parent=circle,

View File

@ -0,0 +1,18 @@
# Generated by Django 3.2.13 on 2023-05-30 09:18
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
("learnpath", "0006_learningcontenttest_checkbox_text"),
]
operations = [
migrations.AddField(
model_name="learningunit",
name="title_hidden",
field=models.BooleanField(default=False),
),
]

View File

@ -165,9 +165,11 @@ class LearningUnit(CourseBasePage):
course_category = models.ForeignKey(
"course.CourseCategory", on_delete=models.SET_NULL, null=True, blank=True
)
title_hidden = models.BooleanField(default=False)
content_panels = Page.content_panels + [
FieldPanel("course_category"),
FieldPanel("title_hidden"),
]
class Meta:

View File

@ -10,11 +10,7 @@ from vbv_lernwelt.learnpath.models import LearningUnit
class LearningUnitSerializer(
get_course_serializer_class(
LearningUnit,
field_names=[
"evaluate_url",
"course_category",
"children",
],
field_names=["evaluate_url", "course_category", "children", "title_hidden"],
)
):
evaluate_url = SerializerMethodField()

View File

@ -83,6 +83,7 @@ class LearningSequenceFactory(wagtail_factories.PageFactory):
class LearningUnitFactory(wagtail_factories.PageFactory):
title = "Fahrzeug"
title_hidden = False
class Meta:
model = LearningUnit