| 12345678910111213141516171819202122232425262728293031323334353637 |
- from sqlalchemy.ext.hybrid import hybrid_property
- from flask.ext.login import UserMixin
- from app import db, bcrypt
- class User(db.Model, UserMixin):
- ''' A user who has an account on the website. '''
- __tablename__ = 'users'
- first_name = db.Column(db.String)
- last_name = db.Column(db.String)
- phone = db.Column(db.String)
- email = db.Column(db.String, primary_key=True)
- confirmation = db.Column(db.Boolean)
- _password = db.Column(db.String)
- @property
- def full_name(self):
- return '{} {}'.format(self.first_name, self.last_name)
- @hybrid_property
- def password(self):
- return self._password
- @password.setter
- def _set_password(self, plaintext):
- self._password = bcrypt.generate_password_hash(plaintext)
- def check_password(self, plaintext):
- return bcrypt.check_password_hash(self.password, plaintext)
- def get_id(self):
- return self.email
|