def enrollment(cid): courses, current_course = get_courses(cid) form = forms.EnrollmentForm() if form.validate_on_submit(): email, role = form.email.data, form.role.data Enrollment.enroll_from_form(cid, form) flash("Added {email} as {role}".format( email=email, role=role), "success") students = (Enrollment.query.options(db.joinedload('user')) .filter_by(course_id=cid, role=STUDENT_ROLE) .order_by(Enrollment.created.desc()) .all()) staff = (Enrollment.query.options(db.joinedload('user')) .filter(Enrollment.course_id == cid, Enrollment.role.in_(STAFF_ROLES)) .all()) lab_assistants = (Enrollment.query.options(db.joinedload('user')) .filter_by(course_id=cid, role=LAB_ASSISTANT_ROLE) .order_by(Enrollment.created.desc()) .all()) return render_template('staff/course/enrollment/enrollment.html', enrollments=students, staff=staff, lab_assistants=lab_assistants, form=form, unenroll_form=forms.CSRFForm(), courses=courses, current_course=current_course)
def test_enroll_from_form(self): self.setup_course() Enrollment.enroll_from_form(self.course.id, make_enrollment_form(self.studentB)) user = User.lookup(self.studentB['email']) self.studentB['id'] = user.id self.enrollment_matches_info(user, self.studentB)
def test_enroll_from_form(self): self.setup_course() Enrollment.enroll_from_form(self.course.id, make_enrollment_form(self.studentB)) user = User.lookup(self.studentB['email']) self.studentB['id'] = user.id self.enrollment_matches_info(user, self.studentB) Enrollment.enroll_from_form(self.course.id, make_enrollment_form(self.lab_assistantA)) lab_assistant = User.lookup(self.lab_assistantA['email']) self.lab_assistantA['id'] = lab_assistant.id self.enrollment_matches_info(lab_assistant, self.lab_assistantA)
def test_enroll_twice(self): self.setup_course() form = make_enrollment_form(self.studentB) Enrollment.enroll_from_form(self.course.id, form) user = User.lookup(self.studentB['email']) self.studentB['id'] = user.id self.enrollment_matches_info(user, self.studentB) form = make_enrollment_form(self.studentB_alt) Enrollment.enroll_from_form(self.course.id, form) user_updated = User.lookup(self.studentB['email']) self.studentB_alt['id'] = user_updated.id assert user.id == user_updated.id self.enrollment_matches_info(user, self.studentB_alt)
def enrollment(cid): courses, current_course = get_courses(cid) single_form = forms.EnrollmentForm(prefix="single") if single_form.validate_on_submit(): email, role = single_form.email.data, single_form.role.data Enrollment.enroll_from_form(cid, single_form) flash("Added {email} as {role}".format( email=email, role=role), "success") students = (Enrollment.query.options(db.joinedload('user')) .filter_by(course_id=cid, role=STUDENT_ROLE) .order_by(Enrollment.created.desc()) .all()) staff = (Enrollment.query.options(db.joinedload('user')) .filter(Enrollment.course_id == cid, Enrollment.role.in_(STAFF_ROLES)) .all()) return render_template('staff/course/enrollment.html', enrollments=students, staff=staff, single_form=single_form, courses=courses, current_course=current_course)