def create(): if request.method == 'POST': db = get_db() s_id = db.execute('select id from student where id = ?', (g.user['id'], )).fetchone() title = request.form['title'] description = request.form['description'] t = db.execute('select * from teacher where email = ?', (request.form['email'], )).fetchone() if t is None: error = 'Teacher is not registered' course_code = request.form['course_code'] semester = request.form['semester'] error = None if not title: error = 'Title is required.' if error is not None: flash(error) else: db.execute( 'insert into project (student_id, title, description, teacher_id, course_code, semester) values (?, ?, ?, ?, ?, ?)', (g.user['id'], title, description, t['id'], course_code, semester)) db.commit() return redirect(url_for('student.home')) return render_template('student/create.html')
def home(): db = get_db() t_id = db.execute('select id from teacher where email = ?', (g.user['id'], )).fetchone() projects = db.execute( 'select p.id, student_id, title, description, course_code, semester, progress' ' from project p join teacher t on p.teacher_id = t.id').fetchall() return render_template('teacher/t_home.html', projects=projects)
def table(): d = db.get_db() students = d.execute('select * from student').fetchall() teachers = d.execute('select * from teacher').fetchall() projects = d.execute('select * from project').fetchall() return render_template('table.html', students=students, teachers=teachers, projects=projects)
def get_post(id, check_author=True): post = get_db().execute( 'SELECT p.id, title, body, created, author_id, username' ' FROM post p JOIN user u ON p.author_id = u.id' ' WHERE p.id = ?', (id, )).fetchone() if post is None: abort(404, "Post id {0} doesn't exist.".format(id)) if check_author and post['author_id'] != g.user['id']: abort(403) return post
def load_logged_in_user(): user_id = session.get('user_id') db = get_db() if user_id is None: g.user = None else: g.user = db.execute('select * from student where id = ?', (user_id, )).fetchone() if g.user is None: g.user = db.execute('select * from teacher where id = ?', (user_id, )).fetchone()
def s_register(): if request.method == 'POST': name = request.form['name'] reg_id = request.form['reg'] email = request.form['email'] session = request.form['session'] dept = request.form['dept'] password = request.form['password'] confirm_password = request.form['confirm_password'] db = get_db() error = None if not name: error = 'Full Name is required' elif not reg_id: error = 'Registration No. is required' elif not email: error = 'Email is Required' elif not session: error = 'Session is required' elif not dept: error = 'Department Code is required' elif not password: error = 'Password is required' elif not confirm_password: error = 'Confirm Password is required' elif db.execute('select id from student where id = ?', (reg_id, )).fetchone() is not None: error = 'User is already registered' elif password != confirm_password: error = 'Password doesn\'t match' if error is None: db.execute( 'insert into student (id, email, name, dept, session, password) values (?,?,?,?,?,?)', (reg_id, email, name, dept, session, generate_password_hash(password))) db.commit() return redirect(url_for('auth.s_login')) flash(error) return render_template('auth/s_register.html')
def create(): if request.method == 'POST': title = request.form['title'] body = request.form['body'] error = None if not title: error = 'Title is required.' if error is not None: flash(error) else: db = get_db() db.execute( 'insert into post (title, body, author_id) values (?, ?, ?)', (title, body, g.user['id'])) db.commit() return redirect(url_for('blog.index')) return render_template('blog/create.html')
def update(id): post = get_post(id) if request.method == 'POST': title = request.form['title'] body = request.form['body'] error = None if not title: error = 'Title is required.' if error is not None: flash(error) else: db = get_db() db.execute('UPDATE post SET title = ?, body = ?' ' WHERE id = ?', (title, body, id)) db.commit() return redirect(url_for('blog.index')) return render_template('blog/update.html', post=post)
def s_login(): if request.method == 'POST': email = request.form['email'] password = request.form['password'] db = get_db() error = None user = db.execute('select * from student WHERE email = ?', (email, )).fetchone() if user is None: error = 'Incorrect username' elif not check_password_hash(user['password'], password): error = 'Incorrect Password' if error is None: session.clear() session['user_id'] = user['id'] return redirect(url_for('student.home')) flash(error) return render_template('auth/s_login.html')
def t_register(): if request.method == 'POST': name = request.form['name'] email = request.form['email'] dept = request.form['dept'] password = request.form['password'] confirm_password = request.form['confirm_password'] #from . import db db = get_db() error = None if not name: error = 'Full Name is required' elif not email: error = 'Email is required' elif not dept: error = 'Department Code is required' elif not password: error = 'Password is required' elif not confirm_password: error = 'Confirm Password is required' elif db.execute('select email from teacher where email = ?', (email, )).fetchone() is not None: error = 'User is already registered.' elif password != confirm_password: error = 'Password doesn\'t match' if error is None: db.execute( 'insert into teacher (email, name, dept, password) values (?,?,?,?)', (email, name, dept, generate_password_hash(password))) db.commit() return redirect(url_for('auth.t_login')) flash(error) return render_template('auth/t_register.html')
def delete(id): get_post(id) db = get_db() db.execute('DELETE FROM post WHERE id = ?', (id, )) db.commit() return redirect(url_for('blog.index'))
def home(): db = get_db() projects = db.execute( 'select id, teacher_id, title, description, course_code, semester, progress from project where student_id = ?', (g.user['id'], )).fetchall() return render_template('student/s_home.html', projects=projects)