43 lines
1.1 KiB
Python
43 lines
1.1 KiB
Python
from django.contrib.auth.hashers import make_password
|
|
from django.utils import timezone
|
|
from django.utils.text import slugify
|
|
|
|
from vbv_lernwelt.core.models import User
|
|
from vbv_lernwelt.course.models import Course, CourseSession, CourseSessionUser
|
|
|
|
|
|
def create_course(title: str) -> Course:
|
|
return Course.objects.create(
|
|
title=title, slug=slugify(title), category_name="Handlungsfeld"
|
|
)
|
|
|
|
|
|
def create_user(username: str) -> User:
|
|
user = User.objects.create_user(
|
|
username="username",
|
|
password=make_password("test"),
|
|
email=f"{username}@example.com",
|
|
language="de",
|
|
)
|
|
|
|
return user
|
|
|
|
|
|
def create_course_session(course: Course, title: str) -> CourseSession:
|
|
return CourseSession.objects.create(
|
|
course=course,
|
|
title=title,
|
|
import_id=title,
|
|
start_date=timezone.now(),
|
|
)
|
|
|
|
|
|
def add_course_session_user(
|
|
course_session: CourseSession, user: User, role: CourseSessionUser.Role
|
|
) -> CourseSessionUser:
|
|
return CourseSessionUser.objects.create(
|
|
course_session=course_session,
|
|
user=user,
|
|
role=role,
|
|
)
|