Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- @login_manager.user_loader
- def load_user(user_id):
- return User.query.get(int(user_id))
- class User(db.Model, UserMixin):
- __tablename__ = 'users'
- id = db.Column(db.Integer, primary_key=True)
- first_name=db.Column(db.String(80), unique=True, nullable=False)
- last_name=db.Column(db.String(80), unique=True, nullable=False)
- username = db.Column(db.String(80), unique=True, nullable=False)
- email=db.Column(db.String(80), unique=True, nullable=False)
- password= db.Column(db.String(80),nullable=False)
- score=db.Column(db.Integer(), nullable=False)
- roles=db.Column(db.String(20),nullable=False)
- posts= db.relationship('Post', backref='posts', lazy=True)
- def is_authenticated(self):
- return True
- def is_active(self):
- return self.is_active
- def activate_user(self):
- self.is_active = True
- def is_anonymous(self):
- return False
- def get_id(self):
- return unicode(self.id)
- def get_roles(self):
- return self.roles
- def __repr__(self):
- return f"User('{self.username}', '{self.email}')"
- @app.route("/teacher/login", methods=['GET','POST'])
- def t_login():
- form=LoginForm()
- if request.method == 'POST' and form.validate_on_submit():
- user=User.query.filter_by(username=form.username.data).first()
- if user and bcrypt.check_password_hash(user.password, form.password.data):
- login_user(user)
- if 'Teacher' in current_user.roles:
- return redirect(url_for('classes'))
- else:
- return redirect(url_for('scoreboard'))
- else:
- flash(f'Login Unsuccessful. Please check your username and password', 'danger')
- return render_template('teacher_login_form.html',title='teacher login',form=form)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement