43 lines
1.3 KiB
Python
43 lines
1.3 KiB
Python
from vbv_lernwelt.assignment.models import AssignmentType
|
|
from vbv_lernwelt.course_session.models import (
|
|
CourseSessionAssignment,
|
|
CourseSessionEdoniqTest,
|
|
)
|
|
|
|
|
|
def query_competence_course_session_assignments(course_session_ids, circle_ids=None):
|
|
if circle_ids is None:
|
|
circle_ids = []
|
|
|
|
result = []
|
|
|
|
for csa in CourseSessionAssignment.objects.filter(
|
|
course_session_id__in=course_session_ids,
|
|
learning_content__content_assignment__assignment_type__in=[
|
|
AssignmentType.CASEWORK.value,
|
|
],
|
|
learning_content__content_assignment__competence_certificate__isnull=False,
|
|
):
|
|
if circle_ids and csa.learning_content.get_circle().id not in circle_ids:
|
|
continue
|
|
result.append(csa)
|
|
|
|
return result
|
|
|
|
|
|
def query_competence_course_session_edoniq_tests(course_session_ids, circle_ids=None):
|
|
if circle_ids is None:
|
|
circle_ids = []
|
|
|
|
result = []
|
|
|
|
for cset in CourseSessionEdoniqTest.objects.filter(
|
|
course_session_id__in=course_session_ids,
|
|
learning_content__content_assignment__competence_certificate__isnull=False,
|
|
):
|
|
if circle_ids and cset.learning_content.get_circle().id not in circle_ids:
|
|
continue
|
|
result.append(cset)
|
|
|
|
return result
|