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 from datetime import datetime
import wagtail_factories
from dateutil.relativedelta import MO, relativedelta, TH, TU from dateutil.relativedelta import MO, relativedelta, TH, TU
from django.conf import settings
from django.utils import timezone from django.utils import timezone
from slugify import slugify from slugify import slugify
from wagtail.models import Site 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) 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( course_page = CoursePageFactory(
title="Test Lehrgang", title="Test Lehrgang",
parent=site.root_page, parent=Site.objects.get(is_default_site=True).root_page,
course=course, course=course,
) )
course.slug = course_page.slug 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 django.core.management import call_command
from slugify import slugify 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.rich_text import RichText
from wagtail_localize.models import LocaleSynchronization 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: if user is None:
user = User.objects.get(username="info@iterativ.ch") 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) course_page = CoursePage.objects.get(course_id=course_id)
lp = LearningPathFactory( lp = LearningPathFactory(
title="Lernpfad", 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: if user is None:
user = User.objects.get(username="info@iterativ.ch") 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) course_page = CoursePage.objects.get(course_id=course_id)
lp = LearningPathFactory( lp = LearningPathFactory(
title="Lernpfad", 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: if user is None:
user = User.objects.get(username="info@iterativ.ch") 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) course_page = CoursePage.objects.get(course_id=course_id)
lp = LearningPathFactory( lp = LearningPathFactory(
title="Lernpfad", title="Lernpfad",

View File

@ -1,7 +1,5 @@
import wagtail_factories
from django.conf import settings
from django.core.management import call_command 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 wagtail_localize.models import LocaleSynchronization
from vbv_lernwelt.core.admin import User from vbv_lernwelt.core.admin import User
@ -28,15 +26,6 @@ def create_uk_training_learning_path(
if user is None: if user is None:
user = User.objects.get(username="info@iterativ.ch") 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) course_page = CoursePage.objects.get(course_id=course_id)
lp = LearningPathFactory( lp = LearningPathFactory(
title="Lernpfad", title="Lernpfad",

View File

@ -1,5 +1,3 @@
import wagtail_factories
from django.conf import settings
from wagtail.models import Site from wagtail.models import Site
from vbv_lernwelt.course.consts import COURSE_VERSICHERUNGSVERMITTLERIN_ID 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) 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( course_page = CoursePageFactory(
title=title, title=title,
parent=site.root_page, parent=Site.objects.get(is_default_site=True).root_page,
course=course, course=course,
) )
course.slug = course_page.slug course.slug = course_page.slug

View File

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

View File

@ -39,7 +39,7 @@ def course_page_api_view(request, slug_or_id):
if slug_or_id.isdigit(): if slug_or_id.isdigit():
page = Page.objects.get(id=slug_or_id) page = Page.objects.get(id=slug_or_id)
else: 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): if not has_course_access_by_page_request(request, page):
raise PermissionDenied() raise PermissionDenied()

View File

@ -1,8 +1,6 @@
import wagtail_factories
from django.conf import settings
from django.core.management import call_command from django.core.management import call_command
from slugify import slugify 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.rich_text import RichText
from wagtail_localize.models import LocaleSynchronization from wagtail_localize.models import LocaleSynchronization
@ -39,15 +37,6 @@ def create_vv_new_learning_path(
if user is None: if user is None:
user = User.objects.get(username="info@iterativ.ch") 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) course_page = CoursePage.objects.get(course_id=course_id)
lp = LearningPathFactory( lp = LearningPathFactory(
title="Lernpfad", title="Lernpfad",