Ejemplo n.º 1
0
def register_extensions(app):
    """Register the extensiosn of the app"""
    assets.init_app(app)
    cache.init_app(app)
    db.init_app(app)
    login_manager.init_app(app)
    debug_toolbar.init_app(app)
    migrate.init_app(app, db)
    return None
Ejemplo n.º 2
0
 def tearDown(self):
     # DB.session.close()
     # DB.drop_all()
     # DB.session.remove()
     for table in reversed(DB.metadata.sorted_tables):
         DB.session.execute(table.delete())
     # DB.session.add_all(self.starting_data)
     DB.session.commit()
     DB.drop_all()
     pass
Ejemplo n.º 3
0
 def tearDown(self):
     # DB.session.close()
     # DB.drop_all()
     # DB.session.remove()
     for table in reversed(DB.metadata.sorted_tables):
         DB.session.execute(table.delete())
     # DB.session.add_all(self.starting_data)
     DB.session.commit()
     DB.drop_all()
     pass
Ejemplo n.º 4
0
class Role(SurrogatePK, db.Model):
    __tablename__ = 'roles'
    name = db.Column(db.String(80), nullable=False)
    user_id = ReferenceCol('users', nullable=True)
    user = db.relationship('User', backref='roles')

    def __init__(self, name, **kwargs):
        db.Model.__init__(self, name=name, **kwargs)

    def __repr__(self):
        return '<Role({name})>'.format(name=self.name)
Ejemplo n.º 5
0
 def setUp(self):
     self.app = self.create_app()
     self.client = self.app.test_client()
     # only run the following few lines once
     DB.drop_all()
     DB.create_all()
     for table in reversed(DB.metadata.sorted_tables):
         DB.session.execute(table.delete())
     DB.session.add_all(self.starting_games)
     DB.session.commit()
     # DB.session.add_all(self.starting_data)
     DB.session.commit()
Ejemplo n.º 6
0
 def setUp(self):
     self.app = self.create_app()
     self.client = self.app.test_client()
     # only run the following few lines once
     DB.drop_all()
     DB.create_all()
     for table in reversed(DB.metadata.sorted_tables):
         DB.session.execute(table.delete())
     DB.session.add_all(self.starting_games)
     DB.session.commit()
     # DB.session.add_all(self.starting_data)
     DB.session.commit()
Ejemplo n.º 7
0
class User(UserMixin, CRUDMixin, SurrogatePK, db.Model):
    __tablename__ = 'users'
    username = db.Column(db.String(80), unique=True, nullable=False)
    #: The hashed password
    password = db.Column(db.String(128), nullable=True)
    created_at = db.Column(db.DateTime, nullable=False, default=dt.datetime.utcnow)
    active = db.Column(db.Boolean(), default=False)
    is_admin = db.Column(db.Boolean(), default=False, nullable=False)
    game_id = db.Column(db.Integer, db.ForeignKey("games.id"))
    game = relationship("Game", backref=backref("user", uselist=False), cascade="delete")

    def __init__(self, username, password=None, **kwargs):
        db.Model.__init__(self, username=username, **kwargs)
        if password:
            self.set_password(password)
        else:
            self.password = None

    def set_password(self, password):
        self.password = bcrypt.generate_password_hash(password)

    def check_password(self, value):
        return bcrypt.check_password_hash(self.password, value)

    def requests_today(self):
        midnight = dt.datetime.combine(dt.date.today(), dt.time())
        if not self.is_admin:
            return UserRequest.query.filter(
                UserRequest.game_id == self.game.id,
                UserRequest.time_requested > midnight).order_by(UserRequest.time_requested.desc())
        else:
            return UserRequest.query.filter(
                UserRequest.time_requested > midnight).order_by(UserRequest.time_requested.desc())

    def requests_this_week(self):
        midnight = dt.datetime.combine(dt.date.today(), dt.time())
        seven_days_ago = midnight - dt.timedelta(days=7)
        if not self.is_admin:
            return UserRequest.query.filter(
                UserRequest.game_id == self.game.id,
                UserRequest.time_requested > seven_days_ago).order_by(UserRequest.time_requested.desc())
        else:
            return UserRequest.query.filter(
                UserRequest.time_requested > seven_days_ago).order_by(UserRequest.time_requested.desc())

    def request_count_today(self):
        midnight = dt.datetime.combine(dt.date.today(), dt.time())
        if not self.is_admin:
            return UserRequest.query.filter(
                UserRequest.game_id == self.game.id,
                UserRequest.time_requested > midnight).count()
        else:
            return UserRequest.query.filter(
                UserRequest.time_requested > midnight).count()

    def __repr__(self):
        return '<User({username!r})>'.format(username=self.username)