コード例 #1
0
ファイル: routes.py プロジェクト: gbondos/moses-flaskapp2
def delete():
    course_to_delete = request.form.get('courseID')
    course_Title = request.form.get('courseTitle')
    if course_to_delete:
        Enrollment.objects(courseID=course_to_delete).delete()
        flash(f"You have deleted the course {course_Title}!", "danger")
        return redirect(url_for('enrollment'))
    else:
        flash(f"Oops, you are not enrolled in that class", "danger")
        return redirect(url_for('enrollment'))
コード例 #2
0
ファイル: routes.py プロジェクト: gbondos/moses-flaskapp2
def enrollment():

    if not session.get('username'):
        return redirect(url_for('login'))

    courseID = request.form.get('courseID')
    courseTitle = request.form.get('title')
    user_id = session.get('user_id')

    if courseID:
        if Enrollment.objects(user_id=user_id, courseID=courseID):
            flash(
                f"Oops! You are already registered in this course {courseTitle}!",
                "danger")
            return redirect(url_for("courses"))
        else:
            Enrollment(user_id=user_id, courseID=courseID).save()
            flash(f"You are enrolled in {courseTitle}!", "success")

    classes = list(
        User.objects.aggregate(*[{
            '$lookup': {
                'from': 'enrollment',
                'localField': 'user_id',
                'foreignField': 'user_id',
                'as': 'r1'
            }
        }, {
            '$unwind': {
                'path': '$r1',
                'includeArrayIndex': 'r1_id',
                'preserveNullAndEmptyArrays': False
            }
        }, {
            '$lookup': {
                'from': 'course',
                'localField': 'r1.courseID',
                'foreignField': 'courseID',
                'as': 'r2'
            }
        }, {
            '$unwind': {
                'path': '$r2',
                'preserveNullAndEmptyArrays': False
            }
        }, {
            '$match': {
                'user_id': user_id
            }
        }, {
            '$sort': {
                'courseID': 1
            }
        }]))

    return render_template("enrollment.html",
                           enrollment=True,
                           title="Enrollment",
                           classes=classes)