Refactor some course creation stuff

This commit is contained in:
Daniel Egger 2023-07-24 10:18:12 +02:00
parent f3ed9db437
commit 6654d61761
7 changed files with 26 additions and 90 deletions

View File

@ -1,8 +1,6 @@
from datetime import datetime
import wagtail_factories
from dateutil.relativedelta import MO, relativedelta, TH, TU
from django.conf import settings
from django.utils import timezone
from slugify import slugify
from wagtail.models import Site
@ -231,18 +229,9 @@ def create_test_course_with_categories(apps=None, schema_editor=None):
]:
CourseCategory.objects.get_or_create(course=course, title=cat)
# create default course page
site = Site.objects.filter(is_default_site=True).first()
if not site:
site = wagtail_factories.SiteFactory(is_default_site=True)
if settings.APP_ENVIRONMENT == "development":
site.port = 8000
site.save()
course_page = CoursePageFactory(
title="Test Lehrgang",
parent=site.root_page,
parent=Site.objects.get(is_default_site=True).root_page,
course=course,
)
course.slug = course_page.slug

View File

@ -1,8 +1,6 @@
import wagtail_factories
from django.conf import settings
from django.core.management import call_command
from slugify import slugify
from wagtail.models import Locale, Page, Site
from wagtail.models import Locale, Page
from wagtail.rich_text import RichText
from wagtail_localize.models import LocaleSynchronization
@ -36,15 +34,6 @@ def create_uk_learning_path(course_id=COURSE_UK, user=None, skip_locales=True):
if user is None:
user = User.objects.get(username="info@iterativ.ch")
site = Site.objects.filter(is_default_site=True).first()
if not site:
site = wagtail_factories.SiteFactory(is_default_site=True)
if settings.APP_ENVIRONMENT == "development":
site.port = 8000
site.save()
course_page = CoursePage.objects.get(course_id=course_id)
lp = LearningPathFactory(
title="Lernpfad",
@ -93,15 +82,6 @@ def create_uk_fr_learning_path(course_id=COURSE_UK_FR, user=None, skip_locales=T
if user is None:
user = User.objects.get(username="info@iterativ.ch")
site = Site.objects.filter(is_default_site=True).first()
if not site:
site = wagtail_factories.SiteFactory(is_default_site=True)
if settings.APP_ENVIRONMENT == "development":
site.port = 8000
site.save()
course_page = CoursePage.objects.get(course_id=course_id)
lp = LearningPathFactory(
title="Lernpfad",
@ -149,15 +129,6 @@ def create_uk_it_learning_path(course_id=COURSE_UK_IT, user=None, skip_locales=T
if user is None:
user = User.objects.get(username="info@iterativ.ch")
site = Site.objects.filter(is_default_site=True).first()
if not site:
site = wagtail_factories.SiteFactory(is_default_site=True)
if settings.APP_ENVIRONMENT == "development":
site.port = 8000
site.save()
course_page = CoursePage.objects.get(course_id=course_id)
lp = LearningPathFactory(
title="Lernpfad",

View File

@ -1,7 +1,5 @@
import wagtail_factories
from django.conf import settings
from django.core.management import call_command
from wagtail.models import Locale, Page, Site
from wagtail.models import Locale, Page
from wagtail_localize.models import LocaleSynchronization
from vbv_lernwelt.core.admin import User
@ -28,15 +26,6 @@ def create_uk_training_learning_path(
if user is None:
user = User.objects.get(username="info@iterativ.ch")
site = Site.objects.filter(is_default_site=True).first()
if not site:
site = wagtail_factories.SiteFactory(is_default_site=True)
if settings.APP_ENVIRONMENT == "development":
site.port = 8000
site.save()
course_page = CoursePage.objects.get(course_id=course_id)
lp = LearningPathFactory(
title="Lernpfad",

View File

@ -1,5 +1,3 @@
import wagtail_factories
from django.conf import settings
from wagtail.models import Site
from vbv_lernwelt.course.consts import COURSE_VERSICHERUNGSVERMITTLERIN_ID
@ -43,18 +41,9 @@ def create_versicherungsvermittlerin_with_categories(
]:
CourseCategory.objects.get_or_create(course=course, title=cat)
# create default course page
site = Site.objects.filter(is_default_site=True).first()
if not site:
site = wagtail_factories.SiteFactory(is_default_site=True)
if settings.APP_ENVIRONMENT == "development":
site.port = 8000
site.save()
course_page = CoursePageFactory(
title=title,
parent=site.root_page,
parent=Site.objects.get(is_default_site=True).root_page,
course=course,
)
course.slug = course_page.slug

View File

@ -121,6 +121,7 @@ def command(course):
if COURSE_UK in course:
create_course_uk_de()
create_course_uk_de_course_sessions()
create_course_uk_de_completion_data(
CourseSession.objects.get(title="Bern 2023 a")
)
@ -220,26 +221,34 @@ def create_versicherungsvermittlerin_course():
)
def create_course_uk_de():
# Überbetriebliche Kurse DE
def create_course_uk_de(course_id=COURSE_UK, lang="de"):
names = {
"de": "Überbetriebliche Kurse",
"fr": "Cours interentreprises",
"it": "Corsi interaziendali",
}
course = create_versicherungsvermittlerin_with_categories(
course_id=COURSE_UK, title="Überbetriebliche Kurse"
course_id=course_id, title=names[lang]
)
# assignments create assignments parent page
_assignment_list_page = AssignmentListPageFactory(
parent=course.coursepage,
)
create_uk_kickoff_prep_assignment(course_id=COURSE_UK)
create_uk_basis_prep_assignment(course_id=COURSE_UK)
create_uk_fahrzeug_casework(course_id=COURSE_UK)
create_uk_fahrzeug_prep_assignment(course_id=COURSE_UK)
create_uk_reflection(course_id=COURSE_UK)
create_uk_kickoff_prep_assignment(course_id=course_id)
create_uk_basis_prep_assignment(course_id=course_id)
create_uk_fahrzeug_casework(course_id=course_id)
create_uk_fahrzeug_prep_assignment(course_id=course_id)
create_uk_reflection(course_id=course_id)
# learning path
create_uk_learning_path(course_id=COURSE_UK)
create_uk_competence_profile(course_id=COURSE_UK)
create_default_media_library(course_id=COURSE_UK)
create_uk_learning_path(course_id=course_id)
create_uk_competence_profile(course_id=course_id)
create_default_media_library(course_id=course_id)
def create_course_uk_de_course_sessions():
course = Course.objects.get(id=COURSE_UK)
cs = CourseSession.objects.create(
course_id=COURSE_UK,

View File

@ -39,7 +39,7 @@ def course_page_api_view(request, slug_or_id):
if slug_or_id.isdigit():
page = Page.objects.get(id=slug_or_id)
else:
page = Page.objects.get(slug=slug_or_id, locale__language_code="de-CH")
page = Page.objects.get(slug=slug_or_id)
if not has_course_access_by_page_request(request, page):
raise PermissionDenied()

View File

@ -1,8 +1,6 @@
import wagtail_factories
from django.conf import settings
from django.core.management import call_command
from slugify import slugify
from wagtail.models import Locale, Page, Site
from wagtail.models import Locale, Page
from wagtail.rich_text import RichText
from wagtail_localize.models import LocaleSynchronization
@ -39,15 +37,6 @@ def create_vv_new_learning_path(
if user is None:
user = User.objects.get(username="info@iterativ.ch")
site = Site.objects.filter(is_default_site=True).first()
if not site:
site = wagtail_factories.SiteFactory(is_default_site=True)
if settings.APP_ENVIRONMENT == "development":
site.port = 8000
site.save()
course_page = CoursePage.objects.get(course_id=course_id)
lp = LearningPathFactory(
title="Lernpfad",