def assignment_create(username, course): """ GET - Show the assignment creation form POST - Validate the form and create the assignment """ form = None if g.user.is_authenticated(): if g.user.username == username: asn_titles = [ a.title for a in Assignment.get_assignments(username, course) ] course_id = [ c.course_id for c in g.user.get_courses() if c.title == course and c.instructor_id == g.user.user_id] form = AssignmentCreateForm(asn_titles) if course_id[0] and form.validate_on_submit(): assignment = Assignment( None, request.form['assignment'], request.form['description'], request.form['due_date'], request.form['points'], course_id[0]) rc = assignment.create() return redirect(url_for('course_home', username=username, course=course)) else: return render_template('assignment/create.html', course=course, form=form) else: # unauthorized user flash('You can not create an assignment here.') return redirect(url_for('course_home', username=username, course=course)) else: return redirect(url_for('login'))