Exemplo n.º 1
0
class User(UserMixin, db.Model):
    id = db.Column(db.Integer, primary_key=True)
    username = db.Column(db.VARCHAR(256), index=True, unique=True)
    email = db.Column(db.VARCHAR(256), index=True, unique=True)
    password = db.Column(db.VARCHAR(256))
    session_token = db.Column(db.VARCHAR(256))
    active = db.Column(db.BOOLEAN(), default=1)
    first_login = db.Column(db.BOOLEAN(), default=1)
    admin = db.Column(db.BOOLEAN(), default=0)
    cards = db.relationship('Card',
                            secondary='user_card_lookup',
                            lazy='dynamic')
    preferences = db.relationship('UserPreference',
                                  backref='user',
                                  lazy='dynamic')

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

    def get_id(self):
        return str(self.session_token)

    def set_session_token(self):
        self.session_token = login_serializer.dumps(
            [self.username, self.password, self.active])

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

    def check_password(self, password):
        return check_password_hash(self.password, password)
Exemplo n.º 2
0
class SignupBonus(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    card_id = db.Column(db.Integer, db.ForeignKey('card.id'))
    days_for_spend = db.Column(db.Integer)
    minimum_spend = db.Column(db.Integer)
    annual_fee = db.Column(db.Integer)
    annual_fee_waived = db.Column(db.BOOLEAN(), default=0)
    bonus_points = db.Column(db.Integer)
    from_date = db.Column(db.DATETIME,
                          default=datetime.datetime(1, 1, 1, 0, 0, 0))
    to_date = db.Column(db.DATETIME,
                        default=datetime.datetime(9999, 12, 31, 23, 59, 59))
    active = db.Column(db.BOOLEAN(), default=1)
    ulu = db.Column(db.VARCHAR(50))
Exemplo n.º 3
0
class User(db.Model, ModelMixin, flask_login.UserMixin): # SQL Table

    # Create attributes (SQL columns)
    id = db.Column(db.Integer(), primary_key=True)  # By default autoincremented
    name             = db.Column(db.String(64), nullable=False)
    email=db.Column(db.String(64)) # ADDED TO DB
    _password_hash    = db.Column(db.String(256))
    is_admin=db.Column(db.BOOLEAN(),default=False)

    #new_book=db.relationship('books',backref="new_users")
    new_books = db.relationship('books', secondary=Orders, backref="User")


    @classmethod
    def login_user(cls, name, pwd):
        user = cls.query.filter_by(name=name).first()
        print(user)
        if user and user.check_password(pwd):
            flask_login.login_user(user)
            return user
        return False

    @hybrid_property
    def password(self):
        return self._password_hash

    @password.setter
    def password(self, pwd):
        self._password_hash = werkzeug.security.generate_password_hash(pwd)

    def check_password(self, pwd):
        return werkzeug.security.check_password_hash(self._password_hash, pwd)

    def __repr__(self):
        return f"<User {self.id}-{self.name}>"
Exemplo n.º 4
0
class User(db.Model, UserMixin):
    ADMIN = 'admin'
    STUDENT = 'student'
    TEACHER = 'teacher'

    __tablename__ = 'users'
    mysql_character_set = 'utf8'

    id = db.Column(db.Integer, primary_key=True)
    first_name = db.Column(db.VARCHAR(150))
    last_name = db.Column(db.VARCHAR(150))
    email = db.Column(db.VARCHAR(255), unique=True)
    username = db.Column(db.VARCHAR(255), unique=True)
    password = db.Column(db.VARCHAR(255))
    role = db.Column(db.Enum(TEACHER, STUDENT, ADMIN))
    is_active = db.Column(db.BOOLEAN(), default=True)
    token = db.Column(db.VARCHAR(255), nullable=True)
    last_selected_room = db.Column(db.Integer(),
                                   db.ForeignKey('rooms.id'),
                                   nullable=True)
    messages = db.relationship('Message', backref='author', lazy='dynamic')
    group_id = db.Column(db.Integer, db.ForeignKey('groups.id'))
    group = db.relationship('Group')

    @property
    def plain_password(self):
        return None

    @plain_password.setter
    def plain_password(self, password):
        if password:
            self.password = generate_password_hash(password),
Exemplo n.º 5
0
class SpendingCategory(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.VARCHAR(255), unique=True)
    active = db.Column(db.BOOLEAN(), default=1)
    ulu = db.Column(db.VARCHAR(50))
    cards = db.relationship('Card',
                            backref='spending_category',
                            secondary='spending_category_lookup')
Exemplo n.º 6
0
class PointsProgram(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.VARCHAR(256), unique=True)
    active = db.Column(db.BOOLEAN(), default=1)
    ulu = db.Column(db.VARCHAR(50))
    cards = db.relationship('Card', backref='points_program', lazy='dynamic')
    reward_programs = db.relationship('RewardProgram',
                                      backref='points_program',
                                      secondary='reward_program_lookup',
                                      lazy="dynamic")
Exemplo n.º 7
0
class RewardProgram(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    category_name = db.Column(db.VARCHAR(255))
    program_name = db.Column(db.VARCHAR(256), unique=True)
    company_name = db.Column(db.VARCHAR(255))
    redeem_value = db.Column(db.Float)
    active = db.Column(db.BOOLEAN(), default=1)
    ulu = db.Column(db.VARCHAR(50))
    points_programs = db.relationship('PointsProgram',
                                      backref='reward_program',
                                      secondary='reward_program_lookup')
Exemplo n.º 8
0
class User(db.Model):
    id            = db.Column(db.Integer, primary_key=True)
    name          = db.Column(db.String(64), index=True, unique=True)
    email         = db.Column(db.String(120), index=True, unique=True)
    hash          = db.Column(db.String(1024))
    salt          = db.Column(db.String(16))
    createddate   = db.Column(db.DATETIME())
    lastlogindate = db.Column(db.DATETIME())
    active        = db.Column(db.BOOLEAN())

    def __repr__(self):
        return '<User %r>' % (self.id)
Exemplo n.º 9
0
class Computers(Device):
    __tablename__ = 'computers'
    __maper_args__ = {'polymorphic_identity': 'computers'}

    id = db.Column(db.Integer, ForeignKey('device.id'), primary_key=True)
    computer_name = db.Column(db.String(64))
    brand = db.Column(db.String(64))
    model = db.Column(db.String(64))
    serial = db.Column(db.String(128))
    computer_type = db.Column(db.String(64))
    operating_system = db.Column(db.String(64))
    notes = db.Column(db.String(512))
    retired = db.Column(db.BOOLEAN())
    disposed = db.Column(db.BOOLEAN())
    disposed_date = db.Column(db.Date)
    aquired_date = db.Column(db.Date)
    purchase_price = db.Column(db.Integer)
    vendor_id = db.Column(db.String(64))
    warranty_length = db.Column(db.Integer)
    employee_id = db.Column(db.Integer)
    history = db.Column(db.String(255))
    assigned_to = db.Column(db.Integer, ForeignKey('employee.id'))

    def __init__(self, computer_name, brand, model, serial, computer_type,
                 operating_system, notes, aquired_date, purchase_price,
                 vendor_id, warranty_length, assigned_to):

        self.computer_name = computer_name
        self.brand = brand
        self.model = model
        self.serial = serial
        self.computer_type = computer_type
        self.operating_system = operating_system
        self.notes = notes
        self.aquired_date = aquired_date
        self.purchase_price = purchase_price
        self.vendor_id = vendor_id
        self.warranty_length = warranty_length
        self.assigned_to = assigned_to
Exemplo n.º 10
0
class UserPreference(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    user_id = db.Column(db.Integer, db.ForeignKey('user.id'))
    active = db.Column(db.BOOLEAN, default=1)
    from_date = db.Column(db.DATETIME,
                          default=datetime.datetime(1, 1, 1, 0, 0, 0))
    to_date = db.Column(db.DATETIME,
                        default=datetime.datetime(9999, 12, 31, 23, 59, 59))
    own_company = db.Column(db.BOOLEAN(), default=0)
    reward_category_1 = db.Column(db.VARCHAR(50))
    reward_company_1 = db.Column(db.VARCHAR(50))
    reward_category_2 = db.Column(db.VARCHAR(50))
    reward_company_2 = db.Column(db.VARCHAR(50))
    reward_category_3 = db.Column(db.VARCHAR(50))
    reward_company_3 = db.Column(db.VARCHAR(50))
Exemplo n.º 11
0
class UserCardLookup(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    user_id = db.Column(db.Integer, db.ForeignKey('user.id'))
    card_id = db.Column(db.Integer, db.ForeignKey('card.id'))
    active_date = db.Column(db.DATETIME, default=datetime.datetime.now())
    expiration_date = db.Column(db.DATETIME)
    cancel_date = db.Column(db.DATETIME)
    active = db.Column(db.BOOLEAN(), default=1)
    status = db.Column(db.VARCHAR(10), default='active')
    users = db.relationship('User',
                            backref=db.backref('user_cards',
                                               cascade='all, delete-orphan'))
    cards = db.relationship('Card',
                            backref=db.backref('card_users',
                                               cascade='all, delete-orphan'))
Exemplo n.º 12
0
class SpendingCategoryLookup(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    card_id = db.Column(db.Integer, db.ForeignKey('card.id'))
    spending_category_id = db.Column(db.Integer,
                                     db.ForeignKey('spending_category.id'))
    company_name = db.Column(db.VARCHAR(255), default="All")
    earning_percent = db.Column(db.Float)
    active = db.Column(db.BOOLEAN(), default=1)
    ulu = db.Column(db.VARCHAR(50))
    cards = db.relationship('Card',
                            backref=db.backref('card_spending_categories',
                                               cascade='all, delete-orphan'))
    spending_categories = db.relationship('SpendingCategory',
                                          backref=db.backref(
                                              'spending_category_cards',
                                              cascade='all, delete-orphan'))
Exemplo n.º 13
0
class RewardProgramLookup(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    points_program_id = db.Column(db.Integer,
                                  db.ForeignKey('points_program.id'))
    reward_program_id = db.Column(db.Integer,
                                  db.ForeignKey('reward_program.id'))
    active = db.Column(db.BOOLEAN(), default=1)
    ulu = db.Column(db.VARCHAR(50))
    programs = db.relationship('PointsProgram',
                               backref=db.backref(
                                   'points_program_reward_programs',
                                   cascade='all, delete-orphan'))
    reward_programs = db.relationship('RewardProgram',
                                      backref=db.backref(
                                          'reward_program_points_programs',
                                          cascade='all, delete-orphan'))
Exemplo n.º 14
0
class Employee(db.Model):
    __tablename__ = 'employee'

    id = db.Column(db.Integer, unique=True, primary_key=True)
    name = db.Column(db.String(255))
    create_ts = db.Column(db.DateTime)
    skill_level = db.Column(db.Integer)
    email_address = db.Column(db.String(128))
    trade = db.Column(db.String(128))
    inactive = db.Column(db.BOOLEAN(), default=False, nullable=False)

    def __init__(self, name, skill_level, email_address, trade):
        self.name = name
        self.create_ts = datetime.datetime.now()
        self.skill_level = skill_level
        self.email_address = email_address
        self.trade = trade
Exemplo n.º 15
0
class Card(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    points_program_id = db.Column(db.Integer,
                                  db.ForeignKey('points_program.id'))
    company_id = db.Column(db.Integer, db.ForeignKey('company.id'))
    name = db.Column(db.VARCHAR(256))
    card_type = db.Column(db.VARCHAR(15))
    apply_link_url = db.Column(db.TEXT)
    terms_link_url = db.Column(db.TEXT)
    image_file = db.Column(db.TEXT)
    active = db.Column(db.BOOLEAN(), default=1)
    ulu = db.Column(db.VARCHAR(50))
    users = db.relationship('User',
                            backref='card',
                            secondary='user_card_lookup')
    signup_bonuses = db.relationship('SignupBonus',
                                     backref='card',
                                     lazy='dynamic')
    spending_categories = db.relationship('SpendingCategory',
                                          backref='card',
                                          secondary='spending_category_lookup',
                                          lazy='dynamic')
Exemplo n.º 16
0
class Company(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.VARCHAR(256), unique=True)
    active = db.Column(db.BOOLEAN(), default=1)
    ulu = db.Column(db.VARCHAR(50))
    cards = db.relationship('Card', backref='company', lazy='dynamic')