Advertisement
Guest User

Untitled

a guest
Jan 18th, 2017
104
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.85 KB | None | 0 0
  1. from login import db, app
  2. from flask_wtf import Form
  3. from wtforms import TextField, StringField, PasswordField, BooleanField, SubmitField
  4. from wtforms.validators import DataRequired, Length, Email, EqualTo
  5. from flask_security import Security, SQLAlchemyUserDatastore, login_required, UserMixin, RoleMixin
  6. from flask_security.forms import RegisterForm, LoginForm, ConfirmRegisterForm
  7.  
  8.  
  9. class signupform(ConfirmRegisterForm):
  10.     # email = StringField('email', validators=[Email(), DataRequired("Email is required")])
  11.     username = StringField('Username', validators=[Length(min=4, max=20), DataRequired()])
  12.     # password = PasswordField('password', validators=[Length(min=6, max=25), DataRequired("Password required"),
  13.                                                 # EqualTo('confirm', message='passwords must match')])
  14.     # confirm = PasswordField('Repeat Password', validators=[DataRequired()])
  15.     # submit = SubmitField('Sign up')
  16.     # accept_tos = BooleanField("I accept the TOS", validators=[DataRequired()])
  17.  
  18.  
  19. class loginform(LoginForm):
  20.     email = StringField('email or username', validators=[DataRequired()])
  21.     username = StringField('username', validators=[DataRequired()])
  22.     # password = PasswordField('password', validators=[DataRequired()])
  23.  
  24.  
  25. # @login_manager.user_loader
  26. def user_loader(user_id):
  27.     return User.query.get(user_id)
  28.  
  29. roles_users = db.Table('roles_users',
  30.                  db.Column('user_id', db.Integer(), db.ForeignKey('user.id')),
  31.                  db.Column('role_id', db.Integer(), db.ForeignKey('role.id')))
  32.  
  33.  
  34. class Role(db.Model, RoleMixin):
  35.     # __tablename__="role"
  36.     id = db.Column(db.Integer(), primary_key=True)
  37.     name = db.Column(db.String(80), unique=True)
  38.     description = db.Column(db.String(255))
  39.  
  40.  
  41. class User(db.Model, UserMixin):
  42.     # __tablename__="users"
  43.     id = db.Column(db.Integer, primary_key=True)
  44.     email = db.Column(db.String(255), unique=True)
  45.     username = db.Column(db.String(30), unique=True)
  46.     password = db.Column(db.String(255))
  47.     active = db.Column(db.Boolean())
  48.     confirmed_at = db.Column(db.DateTime())
  49.     last_login_at = db.Column(db.DateTime())
  50.     last_lopin_ip = db.Column(db.String(45))
  51.     current_login_at = db.Column(db.DateTime())
  52.     current_login_ip = db.Column(db.String(45))
  53.     login_count = db.Column(db.Integer, autoincrement=True)
  54.     # eventually add hands played today, week, all time
  55.     # current tables will contain their ID if sitting down
  56.     # current bets will contain their ID if a bet is in place
  57.     roles = db.relationship('Role', secondary=roles_users,
  58.                             backref=db.backref('users', lazy='dynamic'))
  59.  
  60.  
  61. user_datastore = SQLAlchemyUserDatastore(db, User, Role)
  62. security = Security(app, user_datastore, login_form=loginform, register_form=signupform,
  63.                     confirm_register_form=signupform)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement