Fix Linting errors

This commit is contained in:
Lorenz Padberg 2023-06-29 15:21:04 +02:00
parent 1405e728a2
commit e0dbdde7cd
19 changed files with 211 additions and 96 deletions

View File

@ -33,7 +33,6 @@ export interface Props {
const props = defineProps<Props>();
dayjs.extend(LocalizedFormat);
const format = "LLLL";
const start = computed(() => dayjs(props.attendanceCourse.start));
const end = computed(() => dayjs(props.attendanceCourse.end));
const location = computed(() => props.attendanceCourse.location);

View File

@ -36,8 +36,15 @@ from vbv_lernwelt.course.models import (
CourseSession,
CourseSessionUser,
)
from vbv_lernwelt.course_session.models import CourseSessionAssignment, CourseSessionAttendanceCourse
from vbv_lernwelt.learnpath.models import Circle, LearningContentAssignment, LearningContentAttendanceCourse
from vbv_lernwelt.course_session.models import (
CourseSessionAssignment,
CourseSessionAttendanceCourse,
)
from vbv_lernwelt.learnpath.models import (
Circle,
LearningContentAssignment,
LearningContentAttendanceCourse,
)
from vbv_lernwelt.learnpath.tests.learning_path_factories import (
CircleFactory,
LearningContentAssignmentFactory,
@ -95,7 +102,6 @@ def create_test_course(include_uk=True, include_vv=True, with_sessions=False):
title="Test Zürich 2022 a",
id=TEST_COURSE_SESSION_ZURICH_ID,
start_date=now,
)
trainer1 = User.objects.get(email="test-trainer1@example.com")

View File

@ -70,7 +70,10 @@ from vbv_lernwelt.course.models import (
CourseSessionUser,
)
from vbv_lernwelt.course.services import mark_course_completion
from vbv_lernwelt.course_session.models import CourseSessionAttendanceCourse, CourseSessionAssignment
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 (
@ -84,9 +87,9 @@ from vbv_lernwelt.learnpath.create_vv_new_learning_path import (
from vbv_lernwelt.learnpath.models import (
Circle,
LearningContent,
LearningContentAssignment,
LearningContentAttendanceCourse,
)
from vbv_lernwelt.learnpath.models import LearningContentAssignment
from vbv_lernwelt.media_library.create_default_media_library import (
create_default_media_library,
)
@ -244,9 +247,11 @@ def create_course_uk_de():
)
for i, cs in enumerate(CourseSession.objects.filter(course_id=COURSE_UK_TRAINING)):
create_course_session_assignments(cs,
f"{course.slug}-lp-circle-fahrzeug-lc-überprüfen-einer-motorfahrzeug-versicherungspolice",
i=i)
create_course_session_assignments(
cs,
f"{course.slug}-lp-circle-fahrzeug-lc-überprüfen-einer-motorfahrzeug-versicherungspolice",
i=i,
)
csac = CourseSessionAttendanceCourse.objects.create(
course_session=cs,
@ -535,9 +540,11 @@ def create_course_training_de():
)
for i, cs in enumerate(CourseSession.objects.filter(course_id=COURSE_UK_TRAINING)):
create_course_session_assignments(cs,
f"{course.slug}-lp-circle-fahrzeug-lc-überprüfen-einer-motorfahrzeug-versicherungspolice",
i=i)
create_course_session_assignments(
cs,
f"{course.slug}-lp-circle-fahrzeug-lc-überprüfen-einer-motorfahrzeug-versicherungspolice",
i=i,
)
# attach users as trainers to ÜK course
course_uk = Course.objects.filter(id=COURSE_UK).first()
@ -572,9 +579,7 @@ def create_course_training_de():
def create_course_session_assignments(course_session, assignment_slug, i=1):
csa = CourseSessionAssignment.objects.create(
course_session=course_session,
learning_content=LearningContentAssignment.objects.get(
slug=assignment_slug
),
learning_content=LearningContentAssignment.objects.get(slug=assignment_slug),
)
if course_session.start_date is None:
course_session.start_date = datetime.now() + timedelta(days=i * 12)

View File

@ -6,12 +6,12 @@ from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
('course', '0004_import_fields'),
("course", "0004_import_fields"),
]
operations = [
migrations.RemoveField(
model_name='coursesession',
name='attendance_courses',
model_name="coursesession",
name="attendance_courses",
),
]

View File

@ -6,12 +6,12 @@ from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
('course', '0005_remove_coursesession_attendance_courses'),
("course", "0005_remove_coursesession_attendance_courses"),
]
operations = [
migrations.RemoveField(
model_name='coursesession',
name='assignment_details_list',
model_name="coursesession",
name="assignment_details_list",
),
]

View File

@ -8,7 +8,9 @@ from vbv_lernwelt.course.models import (
CourseSession,
)
from vbv_lernwelt.course_session.models import CourseSessionAttendanceCourse
from vbv_lernwelt.course_session.serializers import CourseSessionAttendanceCourseSerializer
from vbv_lernwelt.course_session.serializers import (
CourseSessionAttendanceCourseSerializer,
)
from vbv_lernwelt.duedate.models import DueDate
from vbv_lernwelt.duedate.serializers import DueDateSerializer

View File

@ -1,12 +1,15 @@
from django.contrib import admin
from vbv_lernwelt.course_session.models import CourseSessionAttendanceCourse, CourseSessionAssignment
from vbv_lernwelt.course_session.models import (
CourseSessionAssignment,
CourseSessionAttendanceCourse,
)
@admin.register(CourseSessionAttendanceCourse)
class CourseSessionAttendanceCourseAdmin(admin.ModelAdmin):
# Inline fields are not possible for the DueDate model, because it is not a ForeignKey relatoion.
readonly_fields = ['course_session', 'learning_content', 'due_date']
readonly_fields = ["course_session", "learning_content", "due_date"]
list_display = [
"course_session",
"learning_content",
@ -18,7 +21,7 @@ class CourseSessionAttendanceCourseAdmin(admin.ModelAdmin):
@admin.register(CourseSessionAssignment)
class CourseSessionAssignmentAdmin(admin.ModelAdmin):
# Inline fields are not possible for the DueDate model, because it is not a ForeignKey relatoion.
readonly_fields = ['course_session', 'learning_content']
readonly_fields = ["course_session", "learning_content"]
list_display = [
"course_session",
"learning_content",

View File

@ -2,7 +2,10 @@ from factory.django import DjangoModelFactory
from vbv_lernwelt.course.factories import CourseFactory
from vbv_lernwelt.course.models import CourseSession
from vbv_lernwelt.course_session.models import CourseSessionAssignment, CourseSessionAttendanceCourse
from vbv_lernwelt.course_session.models import (
CourseSessionAssignment,
CourseSessionAttendanceCourse,
)
class CourseSessionAssignmentFactory(DjangoModelFactory):

View File

@ -1,7 +1,7 @@
# Generated by Django 3.2.13 on 2023-06-14 15:01
from django.db import migrations, models
import django.db.models.deletion
from django.db import migrations, models
class Migration(migrations.Migration):
@ -9,21 +9,48 @@ class Migration(migrations.Migration):
initial = True
dependencies = [
('learnpath', '0007_learningunit_title_hidden'),
('course', '0005_remove_coursesession_attendance_courses'),
('duedate', '0002_auto_20230614_1500'),
("learnpath", "0007_learningunit_title_hidden"),
("course", "0005_remove_coursesession_attendance_courses"),
("duedate", "0002_auto_20230614_1500"),
]
operations = [
migrations.CreateModel(
name='CourseSessionAttendanceCourse',
name="CourseSessionAttendanceCourse",
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('location', models.CharField(blank=True, default='', max_length=255)),
('trainer', models.CharField(blank=True, default='', max_length=255)),
('course_session', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='course.coursesession')),
('due_date', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, related_name='attendance_course_due_date', to='duedate.duedate')),
('learning_content', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='learnpath.learningcontentattendancecourse')),
(
"id",
models.BigAutoField(
auto_created=True,
primary_key=True,
serialize=False,
verbose_name="ID",
),
),
("location", models.CharField(blank=True, default="", max_length=255)),
("trainer", models.CharField(blank=True, default="", max_length=255)),
(
"course_session",
models.ForeignKey(
on_delete=django.db.models.deletion.CASCADE,
to="course.coursesession",
),
),
(
"due_date",
models.OneToOneField(
on_delete=django.db.models.deletion.CASCADE,
related_name="attendance_course_due_date",
to="duedate.duedate",
),
),
(
"learning_content",
models.ForeignKey(
on_delete=django.db.models.deletion.CASCADE,
to="learnpath.learningcontentattendancecourse",
),
),
],
),
]

View File

@ -1,27 +1,61 @@
# Generated by Django 3.2.13 on 2023-06-21 14:19
from django.db import migrations, models
import django.db.models.deletion
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('course', '0006_remove_coursesession_assignment_details_list'),
('learnpath', '0007_learningunit_title_hidden'),
('duedate', '0003_alter_duedate_course_session'),
('course_session', '0001_initial'),
("course", "0006_remove_coursesession_assignment_details_list"),
("learnpath", "0007_learningunit_title_hidden"),
("duedate", "0003_alter_duedate_course_session"),
("course_session", "0001_initial"),
]
operations = [
migrations.CreateModel(
name='CourseSessionAssignment',
name="CourseSessionAssignment",
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('course_session', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='course.coursesession')),
('evaluation_deadline', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, related_name='assignment_evaluation_deadline', to='duedate.duedate')),
('learning_content', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='learnpath.learningcontentassignment')),
('submission_deadline', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, related_name='assignment_submission_deadline', to='duedate.duedate')),
(
"id",
models.BigAutoField(
auto_created=True,
primary_key=True,
serialize=False,
verbose_name="ID",
),
),
(
"course_session",
models.ForeignKey(
on_delete=django.db.models.deletion.CASCADE,
to="course.coursesession",
),
),
(
"evaluation_deadline",
models.OneToOneField(
on_delete=django.db.models.deletion.CASCADE,
related_name="assignment_evaluation_deadline",
to="duedate.duedate",
),
),
(
"learning_content",
models.ForeignKey(
on_delete=django.db.models.deletion.CASCADE,
to="learnpath.learningcontentassignment",
),
),
(
"submission_deadline",
models.OneToOneField(
on_delete=django.db.models.deletion.CASCADE,
related_name="assignment_submission_deadline",
to="duedate.duedate",
),
),
],
),
]

View File

@ -1,25 +1,35 @@
# Generated by Django 3.2.13 on 2023-06-28 11:21
from django.db import migrations, models
import django.db.models.deletion
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('duedate', '0006_auto_20230627_1553'),
('course_session', '0002_coursesessionassignment'),
("duedate", "0006_auto_20230627_1553"),
("course_session", "0002_coursesessionassignment"),
]
operations = [
migrations.AlterField(
model_name='coursesessionassignment',
name='evaluation_deadline',
field=models.OneToOneField(null=True, on_delete=django.db.models.deletion.CASCADE, related_name='assignment_evaluation_deadline', to='duedate.duedate'),
model_name="coursesessionassignment",
name="evaluation_deadline",
field=models.OneToOneField(
null=True,
on_delete=django.db.models.deletion.CASCADE,
related_name="assignment_evaluation_deadline",
to="duedate.duedate",
),
),
migrations.AlterField(
model_name='coursesessionassignment',
name='submission_deadline',
field=models.OneToOneField(null=True, on_delete=django.db.models.deletion.CASCADE, related_name='assignment_submission_deadline', to='duedate.duedate'),
model_name="coursesessionassignment",
name="submission_deadline",
field=models.OneToOneField(
null=True,
on_delete=django.db.models.deletion.CASCADE,
related_name="assignment_submission_deadline",
to="duedate.duedate",
),
),
]

View File

@ -11,6 +11,7 @@ class CourseSessionAttendanceCourse(models.Model):
Kann über einen Zeitraum von meheren Tagen gehen.
"""
course_session = models.ForeignKey(
"course.CourseSession",
on_delete=models.CASCADE,
@ -44,7 +45,8 @@ class CourseSessionAttendanceCourse(models.Model):
learning_content_description=f"{_('Präsenztag')}",
description="",
course_session=self.course_session,
page=page)
page=page,
)
super().save(*args, **kwargs)
def __str__(self):
@ -57,6 +59,7 @@ class CourseSessionAssignment(models.Model):
- Geletitete Fallarbeit ist eine speziefische ausprägung eines Auftrags (assignment_type)
"""
course_session = models.ForeignKey(
"course.CourseSession",
on_delete=models.CASCADE,
@ -95,16 +98,22 @@ class CourseSessionAssignment(models.Model):
AssignmentType.PREP_ASSIGNMENT.name: _("Vorbereitungsauftrag"),
AssignmentType.REFLECTION.name: _("Reflexion"),
}
assignment_type_description = assignment_type_descriptions.get(assignment_type, "")
assignment_type_description = assignment_type_descriptions.get(
assignment_type, ""
)
if assignment_type in {AssignmentType.CASEWORK, AssignmentType.PREP_ASSIGNMENT}: # Reflexion
if assignment_type in {
AssignmentType.CASEWORK,
AssignmentType.PREP_ASSIGNMENT,
}: # Reflexion
self.submission_deadline = DueDate.objects.create(
url=url,
title=f"{title}",
learning_content_description=assignment_type_description,
description=f"{_('Abgabe Termin')}",
course_session=self.course_session,
page=page)
page=page,
)
if assignment_type == AssignmentType.CASEWORK:
self.evaluation_deadline = DueDate.objects.create(
@ -113,7 +122,8 @@ class CourseSessionAssignment(models.Model):
learning_content_description=assignment_type_description,
description=f"{_('Freigabe Termin Bewertungen')}",
course_session=self.course_session,
page=page)
page=page,
)
super().save(*args, **kwargs)

View File

@ -19,7 +19,9 @@ class CourseSessionModelsTestCase(TestCase):
due_date = csac.due_date
deadline_date = datetime(2023, 7, 6, 8, 30, tzinfo=timezone.get_current_timezone())
deadline_date = datetime(
2023, 7, 6, 8, 30, tzinfo=timezone.get_current_timezone()
)
due_date.end = deadline_date
due_date.save()

View File

@ -1,20 +1,26 @@
# Generated by Django 3.2.13 on 2023-06-21 14:19
from django.db import migrations, models
import django.db.models.deletion
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('course', '0006_remove_coursesession_assignment_details_list'),
('duedate', '0002_auto_20230614_1500'),
("course", "0006_remove_coursesession_assignment_details_list"),
("duedate", "0002_auto_20230614_1500"),
]
operations = [
migrations.AlterField(
model_name='duedate',
name='course_session',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='duedates', to='course.coursesession'),
model_name="duedate",
name="course_session",
field=models.ForeignKey(
blank=True,
null=True,
on_delete=django.db.models.deletion.CASCADE,
related_name="duedates",
to="course.coursesession",
),
),
]

View File

@ -1,25 +1,29 @@
# Generated by Django 3.2.13 on 2023-06-21 15:03
from django.db import migrations, models
import django.db.models.deletion
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('contenttypes', '0002_remove_content_type_name'),
('duedate', '0003_alter_duedate_course_session'),
("contenttypes", "0002_remove_content_type_name"),
("duedate", "0003_alter_duedate_course_session"),
]
operations = [
migrations.AddField(
model_name='duedate',
name='content_type',
field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to='contenttypes.contenttype'),
model_name="duedate",
name="content_type",
field=models.ForeignKey(
null=True,
on_delete=django.db.models.deletion.CASCADE,
to="contenttypes.contenttype",
),
),
migrations.AddField(
model_name='duedate',
name='object_id',
model_name="duedate",
name="object_id",
field=models.PositiveIntegerField(null=True),
),
]

View File

@ -6,16 +6,16 @@ from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
('duedate', '0004_auto_20230621_1703'),
("duedate", "0004_auto_20230621_1703"),
]
operations = [
migrations.RemoveField(
model_name='duedate',
name='content_type',
model_name="duedate",
name="content_type",
),
migrations.RemoveField(
model_name='duedate',
name='object_id',
model_name="duedate",
name="object_id",
),
]

View File

@ -6,18 +6,18 @@ from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('duedate', '0005_auto_20230622_1138'),
("duedate", "0005_auto_20230622_1138"),
]
operations = [
migrations.AddField(
model_name='duedate',
name='description',
field=models.CharField(default='Abgabetermin', max_length=1024),
model_name="duedate",
name="description",
field=models.CharField(default="Abgabetermin", max_length=1024),
),
migrations.AddField(
model_name='duedate',
name='learning_content_description',
field=models.CharField(default='GeleiteteFallarbeit', max_length=1024),
model_name="duedate",
name="learning_content_description",
field=models.CharField(default="GeleiteteFallarbeit", max_length=1024),
),
]

View File

@ -13,7 +13,9 @@ class DueDate(models.Model):
start = models.DateTimeField(null=True, db_index=True)
end = models.DateTimeField(db_index=True, null=True)
title = models.CharField(default=_("Termin"), max_length=1024)
learning_content_description = models.CharField(default=_("GeleiteteFallarbeit"), max_length=1024)
learning_content_description = models.CharField(
default=_("GeleiteteFallarbeit"), max_length=1024
)
description = models.CharField(default=_("Abgabetermin"), max_length=1024)
url = models.URLField(null=True, blank=True, max_length=1024)
course_session = models.ForeignKey(

View File

@ -1,20 +1,22 @@
# Generated by Django 3.2.13 on 2023-06-28 11:21
from django.db import migrations, models
import django.db.models.deletion
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('assignment', '0004_assignment_assignment_type'),
('learnpath', '0007_learningunit_title_hidden'),
("assignment", "0004_assignment_assignment_type"),
("learnpath", "0007_learningunit_title_hidden"),
]
operations = [
migrations.AlterField(
model_name='learningcontentassignment',
name='content_assignment',
field=models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='assignment.assignment'),
model_name="learningcontentassignment",
name="content_assignment",
field=models.ForeignKey(
on_delete=django.db.models.deletion.PROTECT, to="assignment.assignment"
),
),
]