def saveEditStudent(course_id, student_id): """process edit student form""" form = StudentForm(request.form) student = {} if request.method == 'POST' and form.validate(): student["first_name"] = request.form['first_name'] student["last_name"] = request.form['last_name'] student["year"] = request.form['year'] student["email"] = request.form['email'] student["telephone"] = request.form['telephone'] db_conn = db_pool.getconn() cursor = db_conn.cursor() cursor.execute( f"UPDATE student SET first_name = %s, " f"last_name = %s, year = %s, email = %s, " f"telephone = %s WHERE student_id = %s;", (student['first_name'], student['last_name'], student['year'], student['email'], student['telephone'], student_id)) db_conn.commit() cursor.close() db_pool.putconn(db_conn) return redirect( url_for( 'student', student_id=student_id, course_id=course_id))
def student(group_id): """Страничка для отображения студента из группы""" if group_id == 'new': new_student = Student() else: try: group_id = int(group_id) except ValueError: return 'Bad Request', 400 new_student = DB.session.query(Student).filter( Student.id == group_id).one_or_none() if new_student is None: return 'Not Found', 404 form = StudentForm(request.form, obj=new_student) if form.button_delete.data: form.validate() if DB.session.query(AttMark) \ .filter(AttMark.student_id == new_student.id) \ .count() > 0: form.button_delete.errors.append( 'Невозможно удалить студента, у которого есть оценки за аттестации' ) if len(form.button_delete.errors) == 0: DB.session.delete(new_student) DB.session.flush() return redirect(url_for('students')) if form.button_save.data and form.validate(): form.populate_obj(new_student) if new_student.stud_group is not None: new_student.semester = new_student.stud_group.semester new_student.alumnus_year = None new_student.expelled_year = None form = StudentForm(obj=new_student) DB.session.add(new_student) if group_id == 'new': DB.session.flush() # ??? if new_student.id != group_id: return redirect(url_for('student', id=new_student.id)) return render_template('public/student.html', student=new_student, form=form)
def add_student(): form = StudentForm() if request.method == 'POST' and form.validate(): student = Students(form.firstname.data.title(), form.lastname.data.title(), form.gender.data, form.id_number.data, form.course.data) if student.exist() is False: student.add() flash("Student Added Successfully with ID number '{}'".format( form.id_number.data), category='success') return redirect(url_for('students')) else: flash("Student Already Exist!", category='danger') return redirect(url_for('add_student')) else: return render_template('add_student.html', form=form)
def edit_student(student_id): form = StudentForm() db = Students(idNum=student_id) student = db.search('idNum', student_id) if request.method == 'POST' and form.validate(): newId = Students(idNum=form.id_number.data) if(newId.exist() and student_id != form.id_number.data): flash('ID number already taken please choose another ID NUMBER', category='danger') return redirect(url_for('edit_student', student_id=db.idNum)) else: db.update(form.firstname.data, form.lastname.data, form.gender.data, form.id_number.data, form.course.data) flash('Successfully Edited Student', category='success') return redirect(url_for('students')) else: for attribute in student: form.firstname.data = attribute[0] form.lastname.data = attribute[1] form.gender.data = attribute[2] form.id_number.data = attribute[3] form.course.data = attribute[4] return render_template('edit_student.html', form=form)