Add VV reset
This commit is contained in:
parent
ae97931ca5
commit
abb9b4b7db
|
|
@ -4,16 +4,23 @@ import djclick as click
|
||||||
import structlog
|
import structlog
|
||||||
from django.utils import timezone
|
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.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 (
|
from vbv_lernwelt.course.models import (
|
||||||
Course,
|
Course,
|
||||||
CourseCompletion,
|
CourseCompletion,
|
||||||
CourseSession,
|
CourseSession,
|
||||||
CourseSessionUser,
|
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.course_session_group.models import CourseSessionGroup
|
||||||
from vbv_lernwelt.feedback.models import FeedbackResponse
|
from vbv_lernwelt.feedback.models import FeedbackResponse
|
||||||
from vbv_lernwelt.learning_mentor.models import LearningMentor
|
from vbv_lernwelt.learning_mentor.models import LearningMentor
|
||||||
|
|
@ -23,15 +30,11 @@ from vbv_lernwelt.notify.models import Notification
|
||||||
logger = structlog.get_logger(__name__)
|
logger = structlog.get_logger(__name__)
|
||||||
from vbv_lernwelt.importer.services import (
|
from vbv_lernwelt.importer.services import (
|
||||||
create_or_update_course_session,
|
create_or_update_course_session,
|
||||||
|
get_uk_course,
|
||||||
LP_DATA,
|
LP_DATA,
|
||||||
TRANSLATIONS,
|
TRANSLATIONS,
|
||||||
)
|
)
|
||||||
|
|
||||||
# create durchführung
|
|
||||||
# create users
|
|
||||||
# create / reset data coursesession-data
|
|
||||||
# reset connections
|
|
||||||
|
|
||||||
IT_VV_TEST_COURSE = "Iterativ VV Testkurs"
|
IT_VV_TEST_COURSE = "Iterativ VV Testkurs"
|
||||||
IT_UK_TEST_COURSE = "Iterativ üK Testkurs"
|
IT_UK_TEST_COURSE = "Iterativ üK Testkurs"
|
||||||
IT_UK_TEST_REGION = "Iterativ Region"
|
IT_UK_TEST_REGION = "Iterativ Region"
|
||||||
|
|
@ -44,10 +47,11 @@ logger = structlog.get_logger(__name__)
|
||||||
@click.command()
|
@click.command()
|
||||||
def command():
|
def command():
|
||||||
create_or_update_uk()
|
create_or_update_uk()
|
||||||
|
create_or_update_vv()
|
||||||
|
|
||||||
|
|
||||||
def create_or_update_uk(language="de"):
|
def create_or_update_uk(language="de"):
|
||||||
uk_course = Course.objects.get(id=COURSE_UK)
|
uk_course = get_uk_course(language)
|
||||||
uk_circle_keys = [
|
uk_circle_keys = [
|
||||||
"Kickoff",
|
"Kickoff",
|
||||||
"Basis",
|
"Basis",
|
||||||
|
|
@ -73,7 +77,21 @@ def create_or_update_uk(language="de"):
|
||||||
add_mentor_to_course_session(cs, [(mentor, member_with_mentor)])
|
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_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]):
|
def delete_cs_data(cs: CourseSession, users: list[User]):
|
||||||
|
|
@ -145,7 +163,6 @@ def add_trainers_to_course_session(
|
||||||
|
|
||||||
|
|
||||||
def reset_uk_users():
|
def reset_uk_users():
|
||||||
# todo create more users
|
|
||||||
members = [
|
members = [
|
||||||
_create_or_update_user(
|
_create_or_update_user(
|
||||||
f"teilnehmer{n}.uk@iterativ.ch", "Teilnehmer üK", "Iterativ", PASSWORD, "de"
|
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
|
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):
|
def _create_or_update_user(email, first_name, last_name, password, language):
|
||||||
try:
|
try:
|
||||||
user = User.objects.get(email=email)
|
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):
|
def create_uk_data(language):
|
||||||
return {
|
return {
|
||||||
"Klasse": "Iterativ Test üK",
|
"Klasse": IT_UK_TEST_COURSE,
|
||||||
"ID": "Iterativ Test üK",
|
"ID": IT_UK_TEST_COURSE,
|
||||||
"Generation": 2024,
|
"Generation": 2024,
|
||||||
"Region": "Bern",
|
"Region": "Bern",
|
||||||
"Sprache": language,
|
"Sprache": language,
|
||||||
|
|
@ -265,3 +306,30 @@ def create_and_add_to_cs_group(
|
||||||
region.course_session.add(cs)
|
region.course_session.add(cs)
|
||||||
|
|
||||||
region.supervisor.add(supervisor)
|
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