vbv/server/vbv_lernwelt/course/services.py

21 lines
665 B
Python

from wagtail.models import Page
from vbv_lernwelt.course.models import CourseCompletion
from vbv_lernwelt.learnpath.utils import get_wagtail_type
def mark_course_completion(page_key, user, completion_status="success"):
page = Page.objects.get(translation_key=page_key, locale__language_code="de-CH")
page_type = get_wagtail_type(page.specific)
course = page.specific.get_course()
cc, created = CourseCompletion.objects.get_or_create(
user=user,
page_key=page_key,
course_id=course.id,
)
cc.page_slug = page.slug
cc.page_type = page_type
cc.completion_status = completion_status
cc.save()
return cc