Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from login import db, app
- from flask_wtf import Form
- from wtforms import TextField, StringField, PasswordField, BooleanField, SubmitField
- from wtforms.validators import DataRequired, Length, Email, EqualTo
- from flask_security import Security, SQLAlchemyUserDatastore, login_required, UserMixin, RoleMixin
- from flask_security.forms import RegisterForm, LoginForm, ConfirmRegisterForm
- class signupform(ConfirmRegisterForm):
- # email = StringField('email', validators=[Email(), DataRequired("Email is required")])
- username = StringField('Username', validators=[Length(min=4, max=20), DataRequired()])
- # password = PasswordField('password', validators=[Length(min=6, max=25), DataRequired("Password required"),
- # EqualTo('confirm', message='passwords must match')])
- # confirm = PasswordField('Repeat Password', validators=[DataRequired()])
- # submit = SubmitField('Sign up')
- # accept_tos = BooleanField("I accept the TOS", validators=[DataRequired()])
- class loginform(LoginForm):
- email = StringField('email or username', validators=[DataRequired()])
- username = StringField('username', validators=[DataRequired()])
- # password = PasswordField('password', validators=[DataRequired()])
- # @login_manager.user_loader
- def user_loader(user_id):
- return User.query.get(user_id)
- roles_users = db.Table('roles_users',
- db.Column('user_id', db.Integer(), db.ForeignKey('user.id')),
- db.Column('role_id', db.Integer(), db.ForeignKey('role.id')))
- class Role(db.Model, RoleMixin):
- # __tablename__="role"
- id = db.Column(db.Integer(), primary_key=True)
- name = db.Column(db.String(80), unique=True)
- description = db.Column(db.String(255))
- class User(db.Model, UserMixin):
- # __tablename__="users"
- id = db.Column(db.Integer, primary_key=True)
- email = db.Column(db.String(255), unique=True)
- username = db.Column(db.String(30), unique=True)
- password = db.Column(db.String(255))
- active = db.Column(db.Boolean())
- confirmed_at = db.Column(db.DateTime())
- last_login_at = db.Column(db.DateTime())
- last_lopin_ip = db.Column(db.String(45))
- current_login_at = db.Column(db.DateTime())
- current_login_ip = db.Column(db.String(45))
- login_count = db.Column(db.Integer, autoincrement=True)
- # eventually add hands played today, week, all time
- # current tables will contain their ID if sitting down
- # current bets will contain their ID if a bet is in place
- roles = db.relationship('Role', secondary=roles_users,
- backref=db.backref('users', lazy='dynamic'))
- user_datastore = SQLAlchemyUserDatastore(db, User, Role)
- security = Security(app, user_datastore, login_form=loginform, register_form=signupform,
- confirm_register_form=signupform)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement