Add VV reset
This commit is contained in:
parent
ae97931ca5
commit
abb9b4b7db
|
|
@ -4,16 +4,23 @@ import djclick as click
|
|||
import structlog
|
||||
from django.utils import timezone
|
||||
|
||||
from vbv_lernwelt.assignment.models import AssignmentCompletion
|
||||
from vbv_lernwelt.assignment.models import Assignment, AssignmentCompletion
|
||||
from vbv_lernwelt.core.admin import User
|
||||
from vbv_lernwelt.course.consts import COURSE_UK
|
||||
from vbv_lernwelt.course.consts import (
|
||||
COURSE_VERSICHERUNGSVERMITTLERIN_FR_ID,
|
||||
COURSE_VERSICHERUNGSVERMITTLERIN_ID,
|
||||
COURSE_VERSICHERUNGSVERMITTLERIN_IT_ID,
|
||||
)
|
||||
from vbv_lernwelt.course.models import (
|
||||
Course,
|
||||
CourseCompletion,
|
||||
CourseSession,
|
||||
CourseSessionUser,
|
||||
)
|
||||
from vbv_lernwelt.course_session.models import CourseSessionAttendanceCourse
|
||||
from vbv_lernwelt.course_session.models import (
|
||||
CourseSessionAssignment,
|
||||
CourseSessionAttendanceCourse,
|
||||
)
|
||||
from vbv_lernwelt.course_session_group.models import CourseSessionGroup
|
||||
from vbv_lernwelt.feedback.models import FeedbackResponse
|
||||
from vbv_lernwelt.learning_mentor.models import LearningMentor
|
||||
|
|
@ -23,15 +30,11 @@ from vbv_lernwelt.notify.models import Notification
|
|||
logger = structlog.get_logger(__name__)
|
||||
from vbv_lernwelt.importer.services import (
|
||||
create_or_update_course_session,
|
||||
get_uk_course,
|
||||
LP_DATA,
|
||||
TRANSLATIONS,
|
||||
)
|
||||
|
||||
# create durchführung
|
||||
# create users
|
||||
# create / reset data coursesession-data
|
||||
# reset connections
|
||||
|
||||
IT_VV_TEST_COURSE = "Iterativ VV Testkurs"
|
||||
IT_UK_TEST_COURSE = "Iterativ üK Testkurs"
|
||||
IT_UK_TEST_REGION = "Iterativ Region"
|
||||
|
|
@ -44,10 +47,11 @@ logger = structlog.get_logger(__name__)
|
|||
@click.command()
|
||||
def command():
|
||||
create_or_update_uk()
|
||||
create_or_update_vv()
|
||||
|
||||
|
||||
def create_or_update_uk(language="de"):
|
||||
uk_course = Course.objects.get(id=COURSE_UK)
|
||||
uk_course = get_uk_course(language)
|
||||
uk_circle_keys = [
|
||||
"Kickoff",
|
||||
"Basis",
|
||||
|
|
@ -73,7 +77,21 @@ def create_or_update_uk(language="de"):
|
|||
add_mentor_to_course_session(cs, [(mentor, member_with_mentor)])
|
||||
create_and_add_to_cs_group(cs.course, IT_UK_TEST_REGION, [cs], regionenleiter)
|
||||
|
||||
# create group for regionenleiter
|
||||
|
||||
def create_or_update_vv(language="de"):
|
||||
vv_course = get_vv_course(language)
|
||||
|
||||
cs, _created = CourseSession.objects.get_or_create(
|
||||
course=vv_course, import_id=IT_VV_TEST_COURSE
|
||||
)
|
||||
cs.title = IT_VV_TEST_COURSE
|
||||
cs.save()
|
||||
create_or_update_assignment_course_session(cs)
|
||||
members, member_with_mentor, mentor = reset_vv_users()
|
||||
delete_cs_data(cs, members + [member_with_mentor, mentor])
|
||||
|
||||
add_to_course_session(cs, members + [member_with_mentor])
|
||||
add_mentor_to_course_session(cs, [(mentor, member_with_mentor)])
|
||||
|
||||
|
||||
def delete_cs_data(cs: CourseSession, users: list[User]):
|
||||
|
|
@ -145,7 +163,6 @@ def add_trainers_to_course_session(
|
|||
|
||||
|
||||
def reset_uk_users():
|
||||
# todo create more users
|
||||
members = [
|
||||
_create_or_update_user(
|
||||
f"teilnehmer{n}.uk@iterativ.ch", "Teilnehmer üK", "Iterativ", PASSWORD, "de"
|
||||
|
|
@ -179,6 +196,30 @@ def reset_uk_users():
|
|||
return members, member_with_mentor, trainer, regionenleiter, mentor
|
||||
|
||||
|
||||
def reset_vv_users():
|
||||
members = [
|
||||
_create_or_update_user(
|
||||
f"teilnehmer{n}.vv@iterativ.ch", "Teilnehmer VV", "Iterativ", PASSWORD, "de"
|
||||
)
|
||||
for n in range(1, 10)
|
||||
]
|
||||
member_with_mentor = _create_or_update_user(
|
||||
"teilnehmer1.vv.lb@iterativ.ch",
|
||||
"Teilnehmer VV mit LB",
|
||||
"Iterativ",
|
||||
PASSWORD,
|
||||
"de",
|
||||
)
|
||||
mentor = _create_or_update_user(
|
||||
"lernbegleitung1.vv@iterativ.ch",
|
||||
"Lernbegleitung VV",
|
||||
"Iterativ",
|
||||
PASSWORD,
|
||||
"de",
|
||||
)
|
||||
return members, member_with_mentor, mentor
|
||||
|
||||
|
||||
def _create_or_update_user(email, first_name, last_name, password, language):
|
||||
try:
|
||||
user = User.objects.get(email=email)
|
||||
|
|
@ -200,8 +241,8 @@ def _create_or_update_user(email, first_name, last_name, password, language):
|
|||
|
||||
def create_uk_data(language):
|
||||
return {
|
||||
"Klasse": "Iterativ Test üK",
|
||||
"ID": "Iterativ Test üK",
|
||||
"Klasse": IT_UK_TEST_COURSE,
|
||||
"ID": IT_UK_TEST_COURSE,
|
||||
"Generation": 2024,
|
||||
"Region": "Bern",
|
||||
"Sprache": language,
|
||||
|
|
@ -265,3 +306,30 @@ def create_and_add_to_cs_group(
|
|||
region.course_session.add(cs)
|
||||
|
||||
region.supervisor.add(supervisor)
|
||||
|
||||
|
||||
def get_vv_course(language: str) -> Course:
|
||||
if language == "fr":
|
||||
course_id = COURSE_VERSICHERUNGSVERMITTLERIN_FR_ID
|
||||
elif language == "it":
|
||||
course_id = COURSE_VERSICHERUNGSVERMITTLERIN_IT_ID
|
||||
else:
|
||||
course_id = COURSE_VERSICHERUNGSVERMITTLERIN_ID
|
||||
|
||||
return Course.objects.get(id=course_id)
|
||||
|
||||
|
||||
def create_or_update_assignment_course_session(cs: CourseSession):
|
||||
# not nice but works for now
|
||||
for assignment in Assignment.objects.all():
|
||||
if assignment.get_course().id == cs.course.id:
|
||||
logger.debug(
|
||||
"create_course_session_assigments",
|
||||
assignment=assignment,
|
||||
label="reset_test_courses",
|
||||
)
|
||||
for lca in assignment.learningcontentassignment_set.all():
|
||||
_csa, _created = CourseSessionAssignment.objects.get_or_create(
|
||||
course_session=cs,
|
||||
learning_content=lca,
|
||||
)
|
||||
|
|
|
|||
Loading…
Reference in New Issue