Advertisement
Guest User

Untitled

a guest
Jun 25th, 2019
139
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.91 KB | None | 0 0
  1. @login_manager.user_loader
  2. def load_user(user_id):
  3. return User.query.get(int(user_id))
  4.  
  5. class User(db.Model, UserMixin):
  6. __tablename__ = 'users'
  7.  
  8. id = db.Column(db.Integer, primary_key=True)
  9. first_name=db.Column(db.String(80), unique=True, nullable=False)
  10. last_name=db.Column(db.String(80), unique=True, nullable=False)
  11. username = db.Column(db.String(80), unique=True, nullable=False)
  12. email=db.Column(db.String(80), unique=True, nullable=False)
  13. password= db.Column(db.String(80),nullable=False)
  14. score=db.Column(db.Integer(), nullable=False)
  15. roles=db.Column(db.String(20),nullable=False)
  16. posts= db.relationship('Post', backref='posts', lazy=True)
  17.  
  18. def is_authenticated(self):
  19. return True
  20.  
  21. def is_active(self):
  22. return self.is_active
  23.  
  24. def activate_user(self):
  25. self.is_active = True
  26.  
  27.  
  28. def is_anonymous(self):
  29. return False
  30.  
  31. def get_id(self):
  32. return unicode(self.id)
  33.  
  34. def get_roles(self):
  35. return self.roles
  36.  
  37. def __repr__(self):
  38. return f"User('{self.username}', '{self.email}')"
  39.  
  40. @app.route("/teacher/login", methods=['GET','POST'])
  41.  
  42. def t_login():
  43. form=LoginForm()
  44. if request.method == 'POST' and form.validate_on_submit():
  45. user=User.query.filter_by(username=form.username.data).first()
  46. if user and bcrypt.check_password_hash(user.password, form.password.data):
  47. login_user(user)
  48. if 'Teacher' in current_user.roles:
  49. return redirect(url_for('classes'))
  50. else:
  51. return redirect(url_for('scoreboard'))
  52. else:
  53. flash(f'Login Unsuccessful. Please check your username and password', 'danger')
  54. return render_template('teacher_login_form.html',title='teacher login',form=form)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement