示例#1
0
文件: context.py 项目: ubc/acj-versus
    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"
                    })
示例#2
0
    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
示例#3
0
    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"
                    })
示例#4
0
 def course_offerring(cls, sis_course_id):
     return {
         "id": ResourceIRI.sis_course(sis_course_id),
         "type": CALIPER_ENTITY_TYPES["COURSE_OFFERING"]
     }