Exemplo n.º 1
0
class User(db.Model, UserMixin):
    id = db.Column(db.Integer, primary_key=True)
    username = db.Column(db.String(20), unique=True, nullable=False)
    email = db.Column(db.String(120), unique=True, nullable=False)
    image_file = db.Column(db.String(20),
                           nullable=False,
                           default='default.jpg')
    password = db.Column(db.String(60), nullable=False)
    sell = db.relationship('Sell', backref='author', lazy=True)

    def get_reset_token(self, expires_sec=1800):
        s = Serializer(app.config['SECRET_KEY'], expires_sec)
        return s.dumps({'user_id': self.id}).decode('utf-8')

    @staticmethod
    def verify_reset_token(token):
        s = Serializer(app.config['SECRET_KEY'])
        try:
            user_id = s.loads(token)['user_id']
        except:
            return None
        return User.query.get(user_id)

    def __repr__(self):
        return f"User('{self.username}', '{self.email}', '{self.image_file}')"
Exemplo n.º 2
0
class Category(db.Model):
    id= db.Column(db.Integer, primary_key=True)
    name= db.Column(db.String(20), nullable=False)
    products= db.relationship('Product', backref='category', lazy=True)

    def __repr__(self):
        return f"Category('{self.name}')"
Exemplo n.º 3
0
class Calendar(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    dag = db.relationship("Dag", backref="calendar", lazy=True)
    user_id = db.Column(db.Integer, db.ForeignKey("users.id"), nullable=False)

    def __repr__(self):
        return str(self.user_id)
Exemplo n.º 4
0
class CartItems(db.Model):
	id = db.Column(db.Integer, primary_key=True, autoincrement=True)
	name = db.Column(db.String, nullable=False)
	stock = db.Column(db.Integer, nullable=False)
	cart_id = db.Column(db.Integer, db.ForeignKey("carts.id"), nullable=False)

	def __repr__(self):
		return self.name
Exemplo n.º 5
0
class Roles(db.Model):
    """Roles table"""
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(30), unique=True, nullable=False)
    users = db.relationship('Users', backref='role', lazy=True)

    def __repr__(self):
        return self.name
Exemplo n.º 6
0
class Subcategories(db.Model):
    """Sub Categories table"""
    id = db.Column(db.Integer, primary_key=True)
    sub_category = db.Column(db.String(50), unique=True, nullable=False)
    products = db.relationship('Products', backref='subcategory', lazy=True)

    def __repr__(self):
        return self.sub_category
Exemplo n.º 7
0
class Begivenhed(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    time = db.Column(db.String)
    content = db.Column(db.String)
    dag_id = db.Column(db.Integer, db.ForeignKey("dag.id"), nullable=False)

    def __repr__(self):
        return str(self.content)
Exemplo n.º 8
0
class BoughtItem(db.Model, UserMixin):
    id = db.Column(db.Integer, primary_key=True)
    time = db.Column(db.DateTime, nullable=False)
    buying_price = db.Column(db.Float, nullable=False)
    bought_quantity = db.Column(db.Integer, nullable=False)
    # current_quantity = db.Column(db.Integer, nullable=False)
    # place = db.Column(db.String(50), nullable=False)

    item_id = db.Column(db.Integer, db.ForeignKey('main_item.id'))
Exemplo n.º 9
0
class Dag(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    date = db.Column(db.Integer, default=datetime.now().isoweekday())
    begivenhed = db.relationship("Begivenhed", backref="dag", lazy=True)
    calendar_id = db.Column(db.Integer,
                            db.ForeignKey("calendar.id"),
                            nullable=False)

    def __repr__(self):
        return str(self.calendar_id)
Exemplo n.º 10
0
class Employee(db.Model, UserMixin):
    id = db.Column(db.Integer, primary_key=True)
    fname = db.Column(db.String(30), nullable=False)
    lname = db.Column(db.String(30), nullable=False)
    email = db.Column(db.String(100), unique=True, nullable=False)
    phone = db.Column(db.String(30), unique=True, nullable=False)
    role = db.Column(db.String(30), nullable=False)

    salary = db.Column(db.Float)
    incentive = db.Column(db.Float)

    password = db.Column(db.String(60), nullable=False)

    def get_reset_token(self, expires_sec=1800):
        s = Serializer(app.config['SECRET_KEY'], expires_sec)
        return s.dumps({'emp_id': self.id}).decode('utf-8')

    @staticmethod
    def verify_reset_token(token):
        s = Serializer(app.config['SECRET_KEY'])
        try:
            emp_id = s.loads(token)['emp_id']
        except:
            return None
        return Employee.query.get(emp_id)

    def __repr__(self):
        return f"{self.fname} {self.lname}"
Exemplo n.º 11
0
class Orders(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    order_code = db.Column(db.Integer, nullable=True)
    user_id = db.Column(db.Integer, db.ForeignKey('users.id'), nullable=False)
    complete = db.Column(db.Boolean, default=False)
    ordered_date = db.Column(db.DateTime, nullable=True)
    products = db.relationship('Cart',
                               secondary=cart_orders,
                               lazy='subquery',
                               backref=db.backref('cart', lazy=True))

    def __repr__(self):
        return f'Product: {self.product_id}'
Exemplo n.º 12
0
class Products(db.Model):
    """Products table"""
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(50), nullable=False)
    price = db.Column(db.Integer, nullable=False)
    discount = db.Column(db.Integer)
    stock = db.Column(db.Integer, nullable=False)
    image = db.Column(db.String(128), unique=True, nullable=False)
    category_id = db.Column(db.Integer,
                            db.ForeignKey('categories.id'),
                            nullable=False)
    sub_category_id = db.Column(db.Integer,
                                db.ForeignKey('subcategories.id'),
                                nullable=False)
    cart = db.relationship('Cart', backref='product', lazy=True)

    def __repr__(self):
        return self.name

    @property
    def image_filepath(self):
        """To access the product image filepath"""
        return images.path(self.image)

    def get_percent_saved(self):
        amount_saved = self.price - self.discount
        return round(amount_saved / self.price * 100)

    def get_humanize_price(self):
        return humanize.intcomma(self.price)

    def get_humanize_discount(self):
        return humanize.intcomma(self.discount)
Exemplo n.º 13
0
class Items(db.Model):
	id = db.Column(db.Integer, primary_key=True)
	name = db.Column(db.String)
	price = db.Column(db.Float)
	stock = db.Column(db.Integer)
	
	def __repr__(self):
		return self.name

	def getStock(self):
		return self.stock

	def getPrice(self):
		return self.price
Exemplo n.º 14
0
class Order(db.Model):
    id= db.Column(db.Integer, primary_key=True)
    user_id= db.Column(db.Integer, db.ForeignKey('user.id'))
    order_number= db.Column(db.Integer, nullable=False)
    items= db.relationship('OrderItem', backref='order', lazy=True)
    paid= db.Column(db.Boolean, default=False)
    fulfilled= db.Column(db.Boolean, default=False)
    cancelled= db.Column(db.Boolean, default=False)
    err_msg= db.Column(db.String(60), nullable=True)
    err_log= db.Column(db.PickleType, nullable=True)
    date_placed = db.Column(db.DateTime, index=True,
        default=datetime.utcnow)
Exemplo n.º 15
0
class Users(db.Model, UserMixin):
    id = db.Column(db.Integer, primary_key=True)
    email = db.Column(db.String, unique=True)
    password = db.Column(db.String)
    username = db.Column(db.String, unique=True)
    admin = db.Column(db.Boolean, default=False)
    calendar = db.relationship("Calendar", backref="user", lazy=True)

    def __repr__(self):
        return self.email

    def getPassword(self):
        return self.password

    def isAdmin(self):
        return self.admin
Exemplo n.º 16
0
class User(UserMixin, db.Model):
    """ User class """
    id = db.Column(db.Integer, primary_key=True)
    username = db.Column(db.String(64), index=True, unique=True)
    password_hash = db.Column(db.String(128))
    team = db.Column(db.String(4))

    def set_password(self, password):
        """ hashes a password and sets the users hash to the new password """
        self.password_hash = generate_password_hash(password)

    def check_password(self, password):
        """ confirms a password matches the hash """
        return check_password_hash(self.password_hash, password)

    def __repr__(self):
        return '<User {}>'.format(self.username)
Exemplo n.º 17
0
class SoldItem(db.Model, UserMixin):
    id = db.Column(db.Integer, primary_key=True)
    time = db.Column(db.DateTime, nullable=False)
    paid_price = db.Column(db.Float, nullable=False)
    sold_quantity = db.Column(db.Integer, nullable=False)
    customer = db.Column(db.String(100))
    sale = db.Column(db.Float, nullable=False, default=0.0)
    debt = db.Column(db.Float, nullable=False)

    item_id = db.Column(db.Integer, db.ForeignKey('main_item.id'))
Exemplo n.º 18
0
class User(db.Model, UserMixin):
    id= db.Column(db.Integer, primary_key=True)
    first_name= db.Column(db.String(20), nullable=False)
    last_name= db.Column(db.String(20), nullable=False)
    email= db.Column(db.String(120), unique=True, nullable=False)
    phone_number= db.Column(db.Integer, nullable=False)
    password= db.Column(db.String(60), nullable=False)
    su= db.Column(db.Boolean, default=False)
    is_banned= db.Column(db.Boolean, default=False)
    join_date = db.Column(db.DateTime, index=True,
        default=datetime.utcnow)

    def __repr__(self):
        return f"User('{self.firstName} {self.lastName}', {self.email}, SU:[{self.su}])"
Exemplo n.º 19
0
class Users(UserMixin, db.Model):
    """Users table"""
    id = db.Column(db.Integer, primary_key=True)
    first_name = db.Column(db.String(50), nullable=False)
    last_name = db.Column(db.String(50), nullable=False)
    email = db.Column(db.String(120), unique=True, nullable=False)
    email_confirmed = db.Column(db.Boolean(), nullable=False, default=0)
    email_confirmed_at = db.Column(db.DateTime())
    is_active = db.Column(db.Boolean(), nullable=False, default=1)
    password = db.Column(db.String(300), nullable=False)
    role_id = db.Column(db.Integer,
                        db.ForeignKey('roles.id'),
                        nullable=False,
                        default=1)
    cart = db.relationship('Cart', backref='user', lazy=True)
    orders = db.relationship('Orders', backref='user', lazy=True)

    def __repr__(self):
        return f'{self.first_name} {self.last_name}'
Exemplo n.º 20
0
class Sell(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    title = db.Column(db.String(100), nullable=False)
    image_file = db.Column(db.String(20), nullable=False, default='def1.jpg')
    date_posted = db.Column(db.DateTime,
                            nullable=False,
                            default=datetime.utcnow)
    price = db.Column(db.Integer, nullable=False)
    content = db.Column(db.Text, nullable=False)
    user_id = db.Column(db.Integer, db.ForeignKey('user.id'), nullable=False)

    def __repr__(self):
        return f"Sell('{self.title}','{self.price}',{self.image_file}, '{self.date_posted}')"
Exemplo n.º 21
0
class Contact(db.Model):
    """contact table"""
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(100), nullable=False)
    email = db.Column(db.String(120), nullable=False)
    message = db.Column(db.Text, nullable=False)
    reply = db.Column(db.String(20))
    reply_status = db.Column(db.String(20), default='Not Sent')

    def __repr__(self):
        return self.name
Exemplo n.º 22
0
class Cart(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    user_id = db.Column(db.Integer, db.ForeignKey('users.id'), nullable=False)
    product_id = db.Column(db.Integer,
                           db.ForeignKey('products.id'),
                           nullable=False)
    quantity = db.Column(db.Integer, nullable=False, default=1)
    complete = db.Column(db.Boolean, default=False)
    start_date = db.Column(db.DateTime,
                           nullable=False,
                           default=datetime.utcnow)
    ordered_date = db.Column(db.DateTime, nullable=True)

    def __repr__(self):
        return f'Product: {self.product_id}'
Exemplo n.º 23
0
class OrderItem(db.Model):
    id= db.Column(db.Integer, primary_key=True)
    product_id= db.Column(db.Integer, db.ForeignKey('product.id'))
    order_id= db.Column(db.Integer, db.ForeignKey('order.id'))
    quantity= db.Column(db.Integer, nullable=False)
Exemplo n.º 24
0
class Product(db.Model):
    id= db.Column(db.Integer, primary_key=True)
    product_identifier= db.Column(db.String(10), nullable=False)
    product_name= db.Column(db.String(40), nullable=False)
    product_description= db.Column(db.Text, nullable=False)
    pictures= db.Column(db.PickleType, nullable=False)
    unit_price= db.Column(db.Float, nullable=False)
    product_available= db.Column(db.Boolean, default=True)
    delivery= db.Column(db.String(20), nullable=False)
    brand_id= db.Column(db.Integer, db.ForeignKey('brand.id'))
    category_id= db.Column(db.Integer, db.ForeignKey('category.id'))
    discount_available= db.Column(db.Boolean, default=False)
    discount_percentage= db.Column(db.Float, nullable=True)
    pub_date = db.Column(db.DateTime, index=True,
        default=datetime.utcnow)

    def save_imgs(self, img_list):
        self.pictures= img_list

    def __repr__(self):
        return f"Product('{self.product_identifier}',\
Exemplo n.º 25
0
class PSNAccounts(db.Model):
    id= db.Column(db.Integer, primary_key=True)
    email= db.Column(db.String(120), nullable=False)
    password= db.Column(db.String(60), nullable=False)
    account_holder= db.Column(db.String(60), nullable=False)
    games= db.Column(db.String(60), nullable=False)
Exemplo n.º 26
0

@event.listens_for(Products, 'after_delete')
def delete_image(target):
    """This function deletes the image from the folder."""
    if target.image_filepath is not None:
        try:
            os.remove(target.image_filepath)
        except OSError:
            pass


cart_orders = db.Table(
    'cart_orders',
    db.Column('cart_id',
              db.Integer,
              db.ForeignKey('cart.id'),
              primary_key=True),
    db.Column('orders_id',
              db.Integer,
              db.ForeignKey('orders.id'),
              primary_key=True))


class Cart(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    user_id = db.Column(db.Integer, db.ForeignKey('users.id'), nullable=False)
    product_id = db.Column(db.Integer,
                           db.ForeignKey('products.id'),
                           nullable=False)
    quantity = db.Column(db.Integer, nullable=False, default=1)
    complete = db.Column(db.Boolean, default=False)
Exemplo n.º 27
0
class Main_item(db.Model, UserMixin):
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(100), nullable=False)
    company = db.Column(db.String(100), nullable=False)
    country = db.Column(db.String(100), nullable=False)
    distributer = db.Column(db.String(100), nullable=False)
    family = db.Column(db.String(100), nullable=False)
    # buying_price = db.Column(db.Float, nullable=False)
    selling_price = db.Column(db.Float, nullable=False)
    # total_quantity = db.Column(db.Integer, nullable=False)
    current_quantity = db.Column(db.Integer, nullable=False)

    risk_quantity = db.Column(db.Integer, nullable=False)
    ran_out = db.Column(db.Boolean, default=False)

    place = db.Column(db.String(50), nullable=False)

    bought_items = db.relationship('BoughtItem', backref='item', lazy=True)
    sold_items = db.relationship('SoldItem', backref='item', lazy=True)

    def __repr__(self):
        return f"{self.name}"
Exemplo n.º 28
0
class Expenses(db.Model, UserMixin):
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(100), nullable=False)
    paid_price = db.Column(db.Float, nullable=False)
    time = db.Column(db.DateTime, nullable=False)