def _add_sis_data(cls, context, course): if course.lti_has_sis_data: if not context.context_activities: context.context_activities = ContextActivities() if not context.context_activities.grouping: context.context_activities.grouping = ActivityList() sis_data = course.lti_sis_data for sis_course_id, sis_section_ids in sis_data.items(): context.context_activities.grouping.append({ "id": ResourceIRI.sis_course(sis_course_id), "objectType": "Activity" }) for sis_section_id in sis_section_ids: context.context_activities.grouping.append({ "id": ResourceIRI.sis_section(sis_course_id, sis_section_id), "objectType": "Activity" })
def membership(cls, course, user): membership = { "id": ResourceIRI.user_membership(course.uuid, user.uuid), "type": CALIPER_ENTITY_TYPES["MEMBERSHIP"], "member": CaliperActor.generate_actor(user), "organization": ResourceIRI.course(course.uuid), "status": "Active", "extensions": {} } roles = [] course_role = user.get_course_role(course.id) if course_role in [CourseRole.instructor, CourseRole.teaching_assistant]: roles.append("Instructor") if course_role == CourseRole.teaching_assistant: roles.append("Instructor#TeachingAssistant") if course_role == CourseRole.student: roles.append("Learner") if user.system_role == SystemRole.sys_admin: roles.append("Administrator") if len(roles) > 0: membership["roles"] = roles if course_role == CourseRole.dropped: membership['status'] = "Inactive" if course.lti_has_sis_data: sis_data = course.lti_sis_data membership['extensions']['sis_courses'] = [] membership['extensions']['sis_sections'] = [] for sis_course_id, sis_section_ids in sis_data.items(): membership['extensions']['sis_courses'].append(ResourceIRI.sis_course(sis_course_id)) for sis_section_id in sis_section_ids: membership['extensions']['sis_sections'].append(ResourceIRI.sis_section(sis_course_id, sis_section_id)) sis_course_id = list(sis_data.keys())[0] sis_section_id = sis_data[sis_course_id][0] membership['organization'] = cls.course_section(sis_course_id, sis_section_id) return membership
def course_offerring(cls, sis_course_id): return { "id": ResourceIRI.sis_course(sis_course_id), "type": CALIPER_ENTITY_TYPES["COURSE_OFFERING"] }