Exemplo n.º 1
0
    def test_create(self):
        self.setup_course()

        user = User(name=self.studentA['name'], email=self.studentA['email'])
        db.session.add(user)
        db.session.commit()
        self.studentA['id'] = user.id

        Enrollment.create(self.course.id, [self.studentA])

        self.enrollment_matches_info(user, self.studentA)
Exemplo n.º 2
0
    def test_create(self):
        self.setup_course()

        user = User(name=self.studentA['name'], email=self.studentA['email'])
        db.session.add(user)
        db.session.commit()
        self.studentA['id'] = user.id

        Enrollment.create(self.course.id, [self.studentA])

        self.enrollment_matches_info(user, self.studentA)
Exemplo n.º 3
0
def enroll_students(canvas_course_id):
    logger = jobs.get_job_logger()
    row_format = '{email!s:<35} {name!s:<35} {sid!s:<11}'
    canvas_course = CanvasCourse.query.get(canvas_course_id)
    enrollment_info = []
    logger.info(row_format.format(email='EMAIL', name='NAME', sid='SID'))
    for student in api.get_students(canvas_course):
        if not student.get("email"):
            logger.warn(
                "Student {} not enrolled, missing email address".format(
                    student))
            continue
        info = {
            'email': student['email'],
            'name': student['name'],
            'sid': student['sis_user_id'],
            'class_account': '',
            'section': '',
        }
        logger.info(row_format.format(**info))
        enrollment_info.append(info)
    created, updated = Enrollment.create(canvas_course.course_id,
                                         enrollment_info)
    message = 'Added {new}, updated {old} student enrollments'.format(
        new=created, old=updated)
    logger.info(message)
    return message
Exemplo n.º 4
0
    def test_unenroll(self):
        self.setup_course()

        user = User(name=self.studentA['name'], email=self.studentA['email'])
        db.session.add(user)
        db.session.commit()
        self.studentA['id'] = user.id

        Enrollment.create(self.course.id, [self.studentA])
        enrollment = Enrollment.query.filter_by(course_id=self.course.id,
                                                user_id=user.id).one_or_none()
        assert enrollment is not None

        Enrollment.unenroll(enrollment)
        enrollment = Enrollment.query.filter_by(course_id=self.course.id,
                                                user_id=user.id).one_or_none()
        assert enrollment is None
Exemplo n.º 5
0
    def test_unenroll(self):
        self.setup_course()

        user = User(name=self.studentA['name'], email=self.studentA['email'])
        db.session.add(user)
        db.session.commit()
        self.studentA['id'] = user.id

        Enrollment.create(self.course.id, [self.studentA])
        enrollment = Enrollment.query.filter_by(
            course_id=self.course.id,
            user_id=user.id).one_or_none()
        assert enrollment is not None

        Enrollment.unenroll(enrollment)
        enrollment = Enrollment.query.filter_by(
            course_id=self.course.id,
            user_id=user.id).one_or_none()
        assert enrollment is None
Exemplo n.º 6
0
def enroll_students(canvas_course_id):
    logger = jobs.get_job_logger()
    row_format = '{email!s:<35} {name!s:<35} {sid!s:<11}'
    canvas_course = CanvasCourse.query.get(canvas_course_id)
    enrollment_info = []
    logger.info(row_format.format(email='EMAIL', name='NAME', sid='SID'))
    for student in api.get_students(canvas_course):
        info = {
            'email': student['email'],
            'name': student['name'],
            'sid': student['sis_user_id'],
            'class_account': '',
            'section': '',
        }
        logger.info(row_format.format(**info))
        enrollment_info.append(info)
    created, updated = Enrollment.create(canvas_course.course_id, enrollment_info)
    message = 'Added {new}, updated {old} student enrollments'.format(
        new=created, old=updated)
    logger.info(message)
    return message