Improve test data generation
This commit is contained in:
parent
57143a0209
commit
4fd10db935
|
|
@ -1,3 +1,7 @@
|
|||
from wagtail.blocks import StreamValue
|
||||
from wagtail.blocks.list_block import ListBlock, ListValue
|
||||
from wagtail.rich_text import RichText
|
||||
|
||||
from vbv_lernwelt.assignment.models import (
|
||||
AssignmentListPage,
|
||||
AssignmentType,
|
||||
|
|
@ -20,9 +24,6 @@ from vbv_lernwelt.course.consts import (
|
|||
COURSE_VERSICHERUNGSVERMITTLERIN_ID,
|
||||
)
|
||||
from vbv_lernwelt.course.models import CoursePage
|
||||
from wagtail.blocks import StreamValue
|
||||
from wagtail.blocks.list_block import ListBlock, ListValue
|
||||
from wagtail.rich_text import RichText
|
||||
|
||||
|
||||
def create_uk_fahrzeug_casework(course_id=COURSE_UK):
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
import json
|
||||
from datetime import datetime
|
||||
import random
|
||||
from datetime import datetime, timedelta
|
||||
|
||||
import wagtail_factories
|
||||
from django.conf import settings
|
||||
|
|
@ -177,9 +178,10 @@ def create_course_session_attendance_course(course_session, course):
|
|||
location="Handelsschule KV Bern, Zimmer 123, Eigerstrasse 16, 3012 Bern",
|
||||
trainer="Roland Grossenbacher, roland.grossenbacher@helvetia.ch",
|
||||
)
|
||||
random_week = random.randint(1, 26)
|
||||
|
||||
casc.due_date.start = timezone.make_aware(datetime(2023, 6, 14, 8, 30))
|
||||
casc.due_date.end = timezone.make_aware(datetime(2023, 6, 14, 17, 0))
|
||||
casc.due_date.start = timezone.make_aware(datetime(2023, 6, 14, 8, 30) + timedelta(weeks=random_week))
|
||||
casc.due_date.end = timezone.make_aware(datetime(2023, 6, 14, 17, 0) + timedelta(weeks=random_week))
|
||||
casc.due_date.save()
|
||||
return casc
|
||||
|
||||
|
|
|
|||
|
|
@ -74,7 +74,6 @@ from vbv_lernwelt.course_session.models import (
|
|||
CourseSessionAssignment,
|
||||
CourseSessionAttendanceCourse,
|
||||
)
|
||||
from vbv_lernwelt.duedate.models import DueDate
|
||||
from vbv_lernwelt.feedback.creators.create_demo_feedback import create_feedback
|
||||
from vbv_lernwelt.importer.services import (
|
||||
import_course_sessions_from_excel,
|
||||
|
|
@ -258,14 +257,14 @@ def create_course_uk_de():
|
|||
learning_content=LearningContentAttendanceCourse.objects.get(
|
||||
slug="überbetriebliche-kurse-lp-circle-fahrzeug-lc-präsenzkurs-fahrzeug"
|
||||
),
|
||||
due_date=DueDate.objects.create(
|
||||
course_session=cs,
|
||||
),
|
||||
location="Handelsschule KV Bern, Zimmer 123, Eigerstrasse 16, 3012 Bern",
|
||||
trainer="Roland Grossenbacher, roland.grossenbacher@helvetia.ch",
|
||||
)
|
||||
csac.due_date.start = timezone.make_aware(datetime(2023, 6, 14, 8, 30))
|
||||
csac.due_date.end = timezone.make_aware(datetime(2023, 6, 14, 17, 0))
|
||||
|
||||
# TODO: create dates schlauer
|
||||
random_week = random.randint(1, 26)
|
||||
csac.due_date.start = timezone.make_aware(datetime(2023, 6, 14, 8, 30) + timedelta(weeks=random_week))
|
||||
csac.due_date.end = timezone.make_aware(datetime(2023, 6, 14, 17, 0) + timedelta(weeks=random_week))
|
||||
csac.due_date.save()
|
||||
|
||||
# figma demo users and data
|
||||
|
|
|
|||
|
|
@ -42,7 +42,7 @@ class CourseSessionAttendanceCourse(models.Model):
|
|||
self.due_date = DueDate.objects.create(
|
||||
url=url,
|
||||
title=f"{title}",
|
||||
learning_content_description=f"{_('Präsenztag')}",
|
||||
learning_content_description=f"{_('Präsenzkurs')}",
|
||||
description="",
|
||||
course_session=self.course_session,
|
||||
page=page,
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@ from vbv_lernwelt.learnpath.models import (
|
|||
@admin.register(DueDate)
|
||||
class DueDateAdmin(admin.ModelAdmin):
|
||||
date_hierarchy = "end"
|
||||
list_display = ["title", "course_session", "start", "end", "unset"]
|
||||
list_display = ["title", "course_session", "start", "end", "is_undefined"]
|
||||
list_filter = ["course_session"]
|
||||
readonly_fields = ["course_session", "page"]
|
||||
|
||||
|
|
|
|||
|
|
@ -0,0 +1,36 @@
|
|||
# Generated by Django 3.2.13 on 2023-07-03 15:41
|
||||
|
||||
from django.db import migrations, models
|
||||
import django.db.models.deletion
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('course', '0006_remove_coursesession_assignment_details_list'),
|
||||
('duedate', '0006_auto_20230627_1553'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AlterField(
|
||||
model_name='duedate',
|
||||
name='course_session',
|
||||
field=models.ForeignKey(blank=True, default=1, on_delete=django.db.models.deletion.CASCADE, related_name='duedates', to='course.coursesession'),
|
||||
preserve_default=False,
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='duedate',
|
||||
name='description',
|
||||
field=models.CharField(default='', max_length=1024),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='duedate',
|
||||
name='learning_content_description',
|
||||
field=models.CharField(default='', max_length=1024),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='duedate',
|
||||
name='url',
|
||||
field=models.URLField(blank=True, default='', max_length=1024),
|
||||
),
|
||||
]
|
||||
|
|
@ -12,17 +12,17 @@ from vbv_lernwelt.course.models import CourseSession
|
|||
class DueDate(models.Model):
|
||||
start = models.DateTimeField(null=True, db_index=True)
|
||||
end = models.DateTimeField(db_index=True, null=True)
|
||||
# TODO: Welcher Default Wert ist hier sinnvoll?
|
||||
title = models.CharField(default=_("Termin"), max_length=1024)
|
||||
learning_content_description = models.CharField(
|
||||
default=_("GeleiteteFallarbeit"), max_length=1024
|
||||
default="", max_length=1024
|
||||
)
|
||||
description = models.CharField(default=_("Abgabetermin"), max_length=1024)
|
||||
url = models.URLField(null=True, blank=True, max_length=1024)
|
||||
description = models.CharField(default="", max_length=1024)
|
||||
url = models.URLField(default="", blank=True, max_length=1024)
|
||||
course_session = models.ForeignKey(
|
||||
"course.CourseSession",
|
||||
on_delete=models.CASCADE,
|
||||
related_name="duedates",
|
||||
null=True,
|
||||
blank=True,
|
||||
)
|
||||
|
||||
|
|
@ -31,6 +31,7 @@ class DueDate(models.Model):
|
|||
def Meta(self):
|
||||
ordering = ["start", "end"]
|
||||
verbose_name = _("Termin")
|
||||
help = "Set only the end date if you want to create a deadline without a duration."
|
||||
|
||||
def __str__(self):
|
||||
start_str = self.start.strftime("%Y-%m-%d %H:%M") if self.start else ""
|
||||
|
|
@ -38,7 +39,7 @@ class DueDate(models.Model):
|
|||
return f"DueDate: {self.title} {start_str} to {end_str}"
|
||||
|
||||
@property
|
||||
def unset(self):
|
||||
def is_undefined(self):
|
||||
return self.end is None
|
||||
|
||||
@property
|
||||
|
|
|
|||
Loading…
Reference in New Issue