Ejemplo n.º 1
0
class SubCategory(db.Model):
    __tablename__ = 'subcategory'

    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(40))
    is_budget = db.Column(db.Boolean, default=False)
    posting_date = db.Column(db.DateTime)
    close_date = db.Column(db.DateTime)
    budget_amount = db.Column(db.Numeric(16, 2))
    category_id = db.Column(db.Integer, db.ForeignKey('category.id'))
    transactions = db.relationship('Transactions',
                                   backref='subcategory',
                                   lazy='dynamic')
    userbudget = db.relationship('UserBudget',
                                 backref='subcategory',
                                 lazy='dynamic')

    def __repr__(self):
        return "<SubCategory(id='%r', name='%r', is_budget='%r', budget_amount='%r', posting_date='%r', close_date='%r')>" % (
            self.id, self.name, self.is_budget, self.budget_amount,
            self.posting_date, self.close_date)
Ejemplo n.º 2
0
class UserBudget(db.Model):
    __tablename__ = 'userbudget'

    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(40))
    is_budget = db.Column(db.Boolean, default=False)
    posting_date = db.Column(db.DateTime)
    close_date = db.Column(db.DateTime)
    budget_amount = db.Column(db.Numeric(16, 2))
    created_date = db.Column(db.DateTime)
    is_bucket = db.Column(db.Boolean, default=False)
    user_id = db.Column(db.Integer, db.ForeignKey('user.id'))
    category_id = db.Column(db.Integer, db.ForeignKey('category.id'))
    subcategory_id = db.Column(db.Integer, db.ForeignKey('subcategory.id'))
    usersubcategory_id = db.Column(db.Integer,
                                   db.ForeignKey('usersubcategory.id'))
    buckets = db.relationship('Buckets', backref='userbudget', lazy='dynamic')

    def __repr__(self):
        return "<UserSubCategory(id='%r', name='%r', is_budget='%r', budget_amount='%r', user_id='%r', posting_date='%r', close_date='%r', created_date='%r', category_id='%r', subcategory_id='%r', usersubcategory_id='%r')>" % \
        (self.id, self.name, self.is_budget, self.budget_amount, self.user_id, self.posting_date, self.close_date, self.created_date, self.category_id, self.subcategory_id, self.usersubcategory_id)
Ejemplo n.º 3
0
class Balance(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    user = db.Column(db.String(128))
    amount = db.Column(db.Numeric())
    lastUpdated = db.Column(db.DateTime())

    def __init__(self, user):
        self.user = user
        self.amount = 0
        self.lastUpdated = datetime.datetime.fromtimestamp(
            time.time()).strftime('%Y-%m-%d %H:%M:%S')

    def deposit(self, fund):
        self.amount += fund

    def withdraw(self, fund):
        if self.amount >= fund:
            self.amount -= fund
            return True
        else:
            return False
Ejemplo n.º 4
0
class Product:
    id = db.Column(UUID(as_uuid=True), primary_key=True, default=uuid.uuid4)
    price = db.Column(db.Numeric(5, 2), nullable=True)
    buy_code = db.Column(db.String(50))
    image_filename = db.Column(db.String(255))
    created_at = db.Column(db.DateTime, default=datetime.datetime.utcnow)

    def serialize(self):
        return {
            'id':
            str(self.id),
            'price':
            str(self.price),
            'buy_code':
            str(self.buy_code),
            'image_filename':
            self.image_filename,
            'created_at':
            get_local_time(self.created_at).strftime('%Y-%m-%d')
            if self.created_at else None,
        }
Ejemplo n.º 5
0
class Ticket(db.Model):
    __tablename__ = "tickets"

    id = db.Column(UUID(as_uuid=True), primary_key=True, default=uuid.uuid4)
    event_id = db.Column(UUID(as_uuid=True), db.ForeignKey('events.id'))
    old_id = db.Column(db.Integer)
    order_id = db.Column(UUID(as_uuid=True), db.ForeignKey('orders.id'))
    old_order_id = db.Column(db.Integer)
    ticket_type = db.Column(db.String, db.ForeignKey('ticket_types._type'))
    eventdate_id = db.Column(UUID(as_uuid=True),
                             db.ForeignKey('event_dates.id'))
    name = db.Column(db.String)
    price = db.Column(db.Numeric(precision=2))
    last_updated = db.Column(db.DateTime, default=datetime.datetime.utcnow)
    created_at = db.Column(db.DateTime, default=datetime.datetime.utcnow)
    status = db.Column(db.String,
                       db.ForeignKey('ticket_statuses.status'),
                       default=TICKET_STATUS_UNUSED)
    ticket_number = db.Column(db.Integer)
    event = db.relationship("Event",
                            backref=db.backref("tickets", uselist=False))
Ejemplo n.º 6
0
class Product(db.Model):

    __tablename__ = "products"

    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    name = db.Column(db.String(255), nullable=False)
    type = db.Column(db.String(100), nullable=False)
    mrp = db.Column(db.Numeric(6, 2), nullable=False)
    description = db.Column(db.String(200), nullable=False)
    dateadded = db.Column(db.String(30), nullable=False)
    dateupdated = db.Column(db.String(30), nullable=False)
    stock = db.relationship("Inventory", backref="product", lazy=True)
    language = db.Column(db.String(100), nullable=True, default="English")
    file_url = db.Column(db.String(255), nullable=True)
    version = db.Column(db.String(30), nullable=True)
    vendor = db.Column(db.Integer, db.ForeignKey("vendors.id"), nullable=True)
    master_vendor = db.relationship("Vendor", foreign_keys=vendor)
    threshold = db.Column(db.Integer, default=50, nullable=True)

    def __repr__(self):
        return '<name {}>'.format(self.name)
Ejemplo n.º 7
0
class Inventory(PaginatedAPIMixin, db.Model):
    __tablename__='inventory'
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(30), nullable=False)
    description = db.Column(db.String(100))
    supplier = db.Column(db.String(30))
    model_no = db.Column(db.String(30))
    serial_no = db.Column(db.String(30))
    price = db.Column(db.Numeric(10,2))
    notes = db.Column(db.String(500))
    update_by = db.Column(db.String(30), nullable=False)
    update_date = db.Column(
        db.DateTime, default=datetime.utcnow, nullable=False)
    create_date = db.Column(
        db.DateTime, default=datetime.utcnow, nullable=False)

    def to_dict(self):
        data = {
            'id': self.id,
            'name': self.name,
            'description': self.description,
            'supplier': self.supplier,
            'model_no': self.model_no,
            'serial_no': self.serial_no,
            'price': str(self.price),
            'notes': self.notes
        }
        return data

    def from_dict(self, data, update_by='sys user'):
        for key in data:
            if data[key]:
                if hasattr(self, key):
                    setattr(self, key, data[key])

        self.update_by = update_by
        self.update_date = datetime.utcnow()

    def __repr__(self):
        return '<Inventory {}>'.format(self.name)
Ejemplo n.º 8
0
class Purchase(db.Model):
    __tablename__= 'purchases'

    @staticmethod
    def reverse_date(date):
        return '-'.join(date.split('-')[::-1])

    id = db.Column(db.Integer, primary_key=True)
    since = db.Column(db.Date)
    value = db.Column(db.Numeric(20,2))      # e.g. 12.12
    commissioning = db.Column(db.String(256))    # path to commissioning document on disk
    supplier_id = db.Column(db.Integer, db.ForeignKey('suppliers.id', ondelete='CASCADE'))
    invoice_id = db.Column(db.Integer, db.ForeignKey('invoices.id', ondelete='CASCADE'))
    device_id = db.Column(db.Integer, db.ForeignKey('devices.id', ondelete='CASCADE'))
    assets = db.relationship('Asset', cascade='all, delete', backref='purchase', lazy='dynamic')
    nbr_assets = column_property(func.nbr_assets(id))
    asset_value = column_property(func.asset_value(id))

    def __repr__(self):
        return f'{self.invoice.number}/{self.device.brand}/{self.device.type}'

    def log(self):
        return f'<Purchase: {self.id}, {self.value}, {self.device.brand}, {self.device.type}'

    def ret_dict(self):
        return {'id':self.id, 'value':str(float(self.value)).replace('.', ','),
                'commissioning':self.commissioning, 'device':self.device.ret_dict(), 'invoice': self.invoice.ret_dict(),
                'asset_value': str(float(self.asset_value if self.asset_value else 0)).replace('.', ','),
                'nbr_assets': self.nbr_assets if self.nbr_assets else 0}


    @staticmethod
    def invoice_init():
        purchase = Purchase.query.first()
        if not purchase.invoice_id:
            invoice = Invoice.query.filter(Invoice.number == 'ONBEKEND').first()
            purchases = Purchase.query.all()
            for purchase in purchases:
                purchase.invoice = invoice
            db.session.commit()
Ejemplo n.º 9
0
class AllPosts(db.Model):
    __tablename__ = 'AllPosts'
    id = db.Column(db.Integer, primary_key=True)
    post_id = db.Column(db.Numeric(30, 0), index=True, unique=True)
    timestamp = db.Column(db.DateTime, index=True)
    media_type = db.Column(db.String(20))
    category = db.Column(db.String(20))
    permalink = db.Column(db.String(100))
    count_comments = db.Column(db.Integer)
    count_like = db.Column(db.Integer)
    count_engagement = db.Column(db.Integer)
    count_impressions = db.Column(db.Integer)
    count_reach = db.Column(db.Integer)
    count_saved = db.Column(db.Integer)
    count_video_views = db.Column(db.Integer)
    media_url = db.Column(db.Text())
    thumbnail_url = db.Column(db.Text())
    caption = db.Column(db.Text())

    def __init__(self, postid, timestamp, mediatype, category, permalink,
                 numcomment, numlike, numengagement, numimpression, numreach,
                 numsaved, numvideoviews, mediaurl, thumbnailurl, caption):
        self.post_id = postid
        self.timestamp = timestamp
        self.media_type = mediatype
        self.category = category
        self.permalink = permalink
        self.count_comments = numcomment
        self.count_like = numlike
        self.count_engagement = numengagement
        self.count_impressions = numimpression
        self.count_reach = numreach
        self.count_saved = numsaved
        self.count_video_views = numvideoviews
        self.media_url = mediaurl
        self.thumbnail_url = thumbnailurl
        self.caption = caption

    def __repr__(self):
        return '<AllPosts {}>'.format(str(self.post_id))
Ejemplo n.º 10
0
class Weather(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    date_stored = db.Column(db.DateTime, index=True, default=datetime.now)
    sunset = db.Column(db.DateTime)
    sunrise = db.Column(db.DateTime)
    high = db.Column(db.Numeric(10, 2))
    low = db.Column(db.Numeric(10, 2))
    m_phase = db.Column(db.String)
    clouds = db.Column(db.Numeric(10, 2))
    wind = db.Column(db.Numeric(10, 2))
    wind_dir = db.Column(db.Numeric(10, 2))
    vis = db.Column(db.Numeric(10, 2))
    current = db.Column(db.String)

    def __repr__(self):
        return '<id {}, Date {}>'.format(self.id, self.date_stored)
Ejemplo n.º 11
0
class Product(db.Model):
    __tablename__ = 'product'
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.Unicode(50), nullable=False, unique=True)
    description = db.Column(db.UnicodeText())
    price = db.Column(db.Numeric(10, 5, asdecimal=True))
    category_id = db.Column(db.Integer,
                            db.ForeignKey('category.id'),
                            nullable=False)
    category = db.relationship('Category',
                               backref=db.backref('products', lazy='dynamic'),
                               lazy='select')
    status = db.Column(db.Enum(ProductStatusEnum, validate_strings=True),
                       nullable=False)
    rel_tags = db.relationship('Tag',
                               secondary='product_tag',
                               backref='products')
    tags = association_proxy(
        'rel_tags',
        'name',
        creator=lambda name: Tag.query.get_or_create(name=name))
    category_name = association_proxy(
        'category',
        'name',
        creator=lambda name: Category.query.get_or_create(name=name))

    def __repr__(self):
        return '<Product %r>' % self.name

    @hybrid_property
    def sells(self):
        return (db.session.query(label('count', func.sum(
            OrderDetail.quantity))).filter(
                OrderDetail.product == self).scalar())

    @sells.expression
    def sells(cls):
        return (select([func.coalesce(
            func.sum(OrderDetail.quantity),
            0)]).where(OrderDetail.product_id == cls.id).label('sells'))
Ejemplo n.º 12
0
class Cars(db.Model):
    __tablename__ = "cars"

    # columns

    id = db.Column(db.Integer, primary_key=True)

    description = db.Column(db.String(255))

    make = db.Column(db.String(255))

    model = db.Column(db.String(255))

    colour = db.Column(db.String(255))

    year = db.Column(db.String(255))

    transmission = db.Column(db.String(255))

    car_type = db.Column(db.String(255))

    price = db.Column(db.Numeric(10, 2, asdecimal=False))

    photo = db.Column(db.String(255))

    user_id = db.Column(db.Integer, db.ForeignKey("users.id"))

    def __init__(self, description, make, model, colour, year, transmission,
                 car_type, price, photo, user_id):
        self.description = description
        self.make = make
        self.model = model
        self.colour = colour
        self.year = year
        self.transmission = transmission
        self.car_type = car_type
        self.price = price
        self.photo = photo
        self.user_id = user_id
Ejemplo n.º 13
0
class Equipment(db.Model):
    __tablename__ = "equipment"

    id = db.Column(db.Integer, primary_key=True)
    equip_ref = db.Column(db.String(128), index=True, unique=True)
    brand = db.Column(db.String(64))
    model = db.Column(db.String(128))
    serial = db.Column(db.String(128), unique=False)
    equip_type = db.Column(db.String(64))
    product_num = db.Column(db.String(128))
    tickets = db.relationship("Ticket")
    """valeur calculée"""
    designation = db.Column(db.String(120))
    warranty = db.Column(db.Boolean)
    real_cost = db.Column(db.Numeric(precision=8, asdecimal=False, \
        decimal_return_scale=None))

    def __repr__(self):
        return '<Equipment {}>'.format(self.equip_ref)

    def set_designation(self, brand, model):
        designation = self.brand + self.model
Ejemplo n.º 14
0
class CovidAnamnese(db.Model):
    __tablename__ = 'covid_anamnese'

    id__covid_anamnese = db.Column(db.BigInteger, primary_key=True)
    id__paciente = db.Column(db.BigInteger)
    id__usuario = db.Column(db.BigInteger)
    diag_covid = db.Column(db.String(1), nullable=False)
    febre = db.Column(db.String(1), nullable=False)
    prob_resp = db.Column(db.String(1), nullable=False)
    viagem = db.Column(db.String(1), nullable=False)
    contato_infect = db.Column(db.String(1), nullable=False)
    contato_sintomas = db.Column(db.String(1), nullable=False)
    part_reuniao = db.Column(db.String(1), nullable=False)
    prob_card_resp = db.Column(db.String(1), nullable=False)
    prob_outro = db.Column(db.String(1), nullable=False)
    usa_medic = db.Column(db.String(1), nullable=False)
    medic_desc = db.Column(db.String(1), nullable=False)
    temperatura = db.Column(db.Numeric(2, 2), nullable=False)
    obs = db.Column(db.String)
    data_cadastro = db.Column(db.DateTime,
                              nullable=False,
                              server_default=db.FetchedValue())
class HeaterConfig(DeviceConfigBase):
    __tablename__ = "heater_config"

    temp_treshold = db.Column(db.Numeric(8, 2), nullable=True)
    actuator1_state = db.Column(db.Boolean, nullable=False)
    actuator2_state = db.Column(db.Boolean, nullable=False)
    actuator3_state = db.Column(db.Boolean, nullable=False)

    def __init__(self, device_id, temp_treshold, actuator1_state,
                 actuator2_state, actuator3_state, name, is_active, weekdays,
                 start_time, duration):
        self.temp_treshold = temp_treshold
        self.actuator1_state = actuator1_state
        self.actuator2_state = actuator2_state
        self.actuator3_state = actuator3_state
        self.name = name
        self.device_id = device_id
        self.start_time = start_time
        self.duration = duration
        self.weekdays = weekdays
        self.is_active = is_active
        self.uuid = str(uuid.uuid4())
Ejemplo n.º 16
0
class AddProduct(db.Model):
    __seachbale__ = ['name', 'desc']
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(80), nullable=False)
    price = db.Column(db.Numeric(10, 2), nullable=False)
    discount = db.Column(db.Integer, default=0)
    stock = db.Column(db.Integer, nullable=False)
    colors = db.Column(db.Text, nullable=False)
    desc = db.Column(db.Text, nullable=False)
    pub_date = db.Column(db.DateTime, nullable=False, default=datetime.utcnow)
    slug = db.Column(db.String(64), unique=True)

    category_id = db.Column(db.Integer,
                            db.ForeignKey('category.id'),
                            nullable=False)
    category = db.relationship('Category',
                               backref=db.backref('categories', lazy=True))

    brand_id = db.Column(db.Integer, db.ForeignKey('brand.id'), nullable=False)
    brand = db.relationship('Brand', backref=db.backref('brands', lazy=True))

    image_1 = db.Column(db.String(150), nullable=False, default='image1.jpg')
    filename_1 = db.Column(db.String(80), default='image1.jpg')
    image_2 = db.Column(db.String(150), nullable=False, default='image2.jpg')
    filename_2 = db.Column(db.String(80), default='image2.jpg')
    image_3 = db.Column(db.String(150), nullable=False, default='image3.jpg')
    filename_3 = db.Column(db.String(80), default='image3.jpg')

    def generate_slug(self):
        self.slug = ''
        if self.name:
            self.slug = slugify(self.name)

    def __repr__(self):
        return '<Post %r>' % self.name

    def __init__(self, *args, **kwargs):
        super(AddProduct, self).__init__(*args, **kwargs)
        self.slug = slugify(self.name)
Ejemplo n.º 17
0
class BookSalesInfo(db.Model):
    __tablename__ = 'BookSalesInfos'

    id = db.Column(db.Integer, primary_key=True)
    book_id = db.Column(db.Integer, db.ForeignKey(Book.id), nullable=False)
    url = db.Column(db.Text)
    sale_price = db.Column(db.Numeric(10, 2))
    quality = db.Column(db.String(16))
    location = db.Column(db.String(128))
    created_on = db.Column(db.DateTime, server_default=db.func.now())

    def __init__(self,
                 book_id,
                 url,
                 sale_price=None,
                 quality=None,
                 location=None):
        self.book_id = book_id
        self.url = url
        self.sale_price = sale_price
        self.quality = quality
        self.location = location
Ejemplo n.º 18
0
class plantsSold(db.Model):
    __tablename__ = 'plantsSold'

    transactionID = db.Column(db.Integer,
                              db.ForeignKey(transactionInfo.transactionID),
                              primary_key=True)
    pID = db.Column(db.Integer, db.ForeignKey(plantInfo.pID))
    nID = db.Column(db.Integer, db.ForeignKey(nurseryInfo.nID))
    dateOfSelling = db.Column(db.DateTime, default=db.func.current_timestamp())
    sellingPrice = db.Column(db.Numeric(10, 2), nullable=False)

    def __init__(self, transactionID, pID, nID, sellingPrice):

        self.transactionID = transactionID
        self.pID = pID
        self.nID = nID
        self.sellingPrice = sellingPrice

    def __repr__(self):

        return '<transaction-{tid} pid-{pid} selling price-{cost}>'.format(
            tid=self.transactionID, pid=self.pID, cost=self.sellingPrice)
Ejemplo n.º 19
0
class Transaction(db.Model):
    """Data model for transaction table.

    Columns include:
    transaction_id: auto increment primary key; int
    user_id: user id that the transaction is associated with; int
    account_id: account id that the transaction is associated with; int
    trans_amount: transaction amount; decimal(10, 2)
    category_id: category id in plaid; int
    is_preferred_saving: whether the transaction is a preferred saving
                         category; string
    trans_date: date of the transaction; date
    post_date: date when the transaction is posted on user's account; date
    merchant_category: multiple categories possible; string
    merchant_address: merchant address; string
    merchant_city: merchant city; string
    merchant_state: merchant state; string
    merchant_country: merchant country; string
    merchant_postal_code: merchant postal code; string
    merchant_longitude: merchant longitude; string
    merchant_latitude: merchant latitude; string
    """
    __tablename__ = "transaction"
    id = db.Column("transaction_id", db.Integer, primary_key=True)
    user_id = db.Column(db.Integer, db.ForeignKey("user.user_id"))
    account_id = db.Column(db.Integer, db.ForeignKey("accounts.account_id"))
    trans_amount = db.Column(db.Numeric(10, 2), nullable=False)
    category_id = db.Column(db.Integer)
    is_preferred_saving = db.Column(db.String)
    trans_date = db.Column(db.Date, nullable=False)
    post_date = db.Column(db.Date)
    merchant_category = db.Column(db.String)
    merchant_address = db.Column(db.String)
    merchant_city = db.Column(db.String)
    merchant_state = db.Column(db.String)
    merchant_country = db.Column(db.String)
    merchant_postal_code = db.Column(db.String)
    merchant_longitude = db.Column(db.String)
    merchant_latitude = db.Column(db.String)
Ejemplo n.º 20
0
class Order(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    timestamp = db.Column(db.DateTime, index=True, default=datetime.utcnow)
    supplier_id = db.Column(db.Integer, db.ForeignKey('supplier.id'))
    freight_company = db.Column(db.String(256))
    freight_value = db.Column(db.Numeric(10, 2), nullable=False)
    obs = db.Column(db.String(512))
    order_items = db.relationship('OrderItem', backref='order', lazy='dynamic')

    def __repr__(self):
        return '<Order {}>'.format(self.supplier_id)

    def total_value(self):
        total = self.freight_value
        for order_item in self.order_items:
            total += order_item.quantity * order_item.unit_price
        return total

    def has_item(self, item):
        for order_item in self.order_items:
            if order_item.item == item.name:
                return True
        return False
Ejemplo n.º 21
0
class BasePackage(db.Model):
    __abstract__ = True

    id = db.Column(db.Integer(), autoincrement=True, primary_key=True)

    #name = db.Column(db.String(255), nullable=False, unique=True)
    name = db.Column(db.String(255), nullable=False)
    page_views = db.Column(db.Integer(), nullable=False)
    heatmaps = db.Column(db.Integer(), nullable=False)
    session_recordings = db.Column(db.Integer(), nullable=False)
    ab_testing = db.Column(db.Integer(), nullable=False)
    ecommerce = db.Column(db.Boolean(), nullable=False)
    reports_standard = db.Column(db.Integer(), nullable=False)
    reports_power_bi = db.Column(db.Integer(), nullable=False)
    api_data_download = db.Column(db.Integer(), nullable=False)
    api_recommandations = db.Column(db.Integer(), nullable=False)
    api_data_transformation = db.Column(db.Integer(), nullable=False)
    api_index_search = db.Column(db.Integer(), nullable=False)
    api_product_360 = db.Column(db.Integer(), nullable=False)
    api_custom_searches = db.Column(db.Integer(), nullable=False)

    price = db.Column(db.Numeric(precision=65, scale=2), nullable=False)
    currency = db.Column(db.String(3), nullable=False)
Ejemplo n.º 22
0
class Property(db.Model):
    __tablename__ = "properties"

    id = db.Column(db.Integer, primary_key=True)
    title = db.Column(db.String(255))
    bedroom_count = db.Column(db.Integer)
    bathroom_count = db.Column(db.Integer)
    location = db.Column(db.String(255))
    price = db.Column(db.Numeric(10, 2, asdecimal=False))
    type = db.Column(db.Enum(PropertyType))
    description = db.Column(db.String(1500))
    photo_path = db.Column(db.String(255))

    def __init__(self, title, bedroom_count, bathroom_count, location, price, type, description, photo_path) -> None:
        super().__init__()
        self.title = title
        self.bedroom_count = bedroom_count
        self.bathroom_count = bathroom_count
        self.location = location
        self.price = price
        self.type = type
        self.description = description
        self.photo_path = photo_path
Ejemplo n.º 23
0
class PartnerGiving(db.Model):
    """
    Create a Role table
    """

    __tablename__ = 'partner_givings'

    id = db.Column(db.Integer, primary_key=True)
    member_id = db.Column(db.Integer,
                          db.ForeignKey('members.id'),
                          nullable=False)
    arm_id = db.Column(db.Integer,
                       db.ForeignKey('partnership_arms.id'),
                       nullable=False)
    staff_id = db.Column(db.Integer,
                         db.ForeignKey('staffs.id'),
                         nullable=False)
    amount = db.Column(db.Numeric(10, 2), nullable=False)
    is_pledge = db.Column(db.Boolean, default=False)
    entry_date = db.Column(db.Date)

    def __repr__(self):
        return '<Partner Giving: {}>'.format(self.amount)
Ejemplo n.º 24
0
class Event(BaseModel):
    id = db.Column(db.Integer, primary_key=True)
    title = db.Column(db.String(100), nullable=False)
    description = db.Column(db.String(150), nullable=False)
    category = db.Column(db.String(100), nullable=False)
    start_date = db.Column(db.DateTime, nullable=False)
    end_date = db.Column(db.DateTime, nullable=False)
    cost = db.Column(db.Numeric(10, 2, asdecimal=False),
                     nullable=False,
                     default=0)
    venue = db.Column(db.String(100))
    flyer = db.Column(db.String(100))
    visibility = db.Column(db.Boolean, default=0, nullable=False)
    user_id = db.Column(db.Integer, db.ForeignKey('user.id'))

    # fields that are always returned by to_dict method
    _default_fields = ['id', 'name', 'category']

    # fields that are never returned by to_dict method
    _hidden_fields = []

    # fields that are never updated by from_dict method
    _readonly_fields = ['id', 'user_id']
Ejemplo n.º 25
0
class MintTransactions(db.Model):
    __tablename__ = 'minttransactions'
    id = db.Column(db.Integer, primary_key=True)
    date = db.Column(db.DateTime)
    description = db.Column(db.String(500))
    original_description = db.Column(db.String(500))
    amount = db.Column(db.Numeric(16, 2))
    transaction_type = db.Column(db.String(20))
    category = db.Column(db.String(100))
    account_name = db.Column(db.String(100))
    labels = db.Column(db.String(40))
    notes = db.Column(db.String(500))
    user_id = db.Column(db.Integer, db.ForeignKey('user.id'))
    subcategory_id = db.Column(db.Integer, db.ForeignKey('subcategory.id'))
    category_id = db.Column(db.Integer, db.ForeignKey('category.id'))
    usersubcategory_id = db.Column(db.Integer,
                                   db.ForeignKey('usersubcategory.id'))

    def __repr__(self):
        return "<MintTransactions(id='%r', Date='%r', Description='%r', Original Description='%r', Amount='%f', Transaction Type='%r', Category='%r', Account Name='%r', labels='%r', notes='%r')>" % (
            self.id, self.date, self.description, self.original_description,
            self.amount, self.transaction_type, self.category,
            self.account_name, self.labels, self.notes)
Ejemplo n.º 26
0
class Employer(db.Model):

    __tablename__ = 'employer'
    id = db.Column(db.Integer, primary_key=True)
    employer_name = db.Column(db.String(100))
    employer_code = db.Column(db.String(120))
    member_count = db.Column(db.String(3))
    thumbnail = db.Column(db.String(255))
    register_date = db.Column(db.Numeric(10))

    def __init__(self,
                 employer_name=None,
                 employer_code=None,
                 member_count=None,
                 thumbnail=None,
                 register_date=None):
        self.employer_name = employer_name
        self.employer_code = employer_code
        self.member_count = member_count
        self.thumbnail = thumbnail
        self.register_date = register_date

    def __repr__(self):
        return '<User %r>' % self.name

    @property
    def serialize(self):

        return {
            'id': self.id,
            'employer_name': self.employer_name,
            # This is an example how to deal with Many2Many relations
            'employer_code': self.employer_code,
            'member_count': self.member_count,
            'thumbnail': self.thumbnail,
            'register_date': self.register_date,
        }
Ejemplo n.º 27
0
class OB_ENDPOINT(db.Model):
    __tablename__ = "OB_ENDPOINT"
    ep_id = db.Column(db.NVARCHAR(32),
                      nullable=False,
                      default=uuid_gen(),
                      primary_key=True)
    #     dev_id = db.Column(db.NVARCHAR(32),nullable=False,primary_key=True)
    ep_type = db.Column(db.NVARCHAR(50), nullable=False, primary_key=True)
    ep_order = db.Column(db.Integer, default=1)
    ep_name = db.Column(db.NVARCHAR(50), nullable=False)
    ep_scale = db.Column(db.Numeric(precision=15, scale=3, asdecimal=False),
                         default=1.0)
    ep_unit = db.Column(db.NVARCHAR(20), nullable=True)
    ep_pr_host = db.Column(
        db.NVARCHAR(20), nullable=False,
        default='127.0.0.1')  # parent domain(connection info)
    ep_interval = db.Column(db.Integer, nullable=False, default=10)
    ep_limit = db.Column(db.NVARCHAR(10), nullable=False)  # time  / count
    ep_location = db.Column(db.NVARCHAR(20), nullable=True)
    ep_hour = db.Column(db.Integer)
    ep_day = db.Column(db.Integer)
    ep_month = db.Column(db.Integer)
    ep_count = db.Column(db.Integer)
    last_update = db.Column(db.DATETIME, nullable=True)
Ejemplo n.º 28
0
class CoMagicCampaign(db.Model):
    __tablename__ = 'comagic_campaigns'
    __humanname__ = 'Параметры кампаний'
    __order__ = 3

    id = db.Column(db.Integer, primary_key=True, info={'verbose_name': 'Идентификатор кампании'})
    account_id = db.Column(db.Integer, nullable=False, info={'verbose_name': 'Идентификатор подключенного аккаунта'})
    campaign_id = db.Column(db.Integer, nullable=False, info={'verbose_name': 'Внутренний идентификатор кампании'})
    name = db.Column(db.Unicode(128), info={'verbose_name': 'Название кампании'})
    description = db.Column(db.Unicode(256), info={'verbose_name': 'Описание кампании'})
    campaign_type = db.Column(db.Unicode(16), info={'verbose_name': 'Тип кампании'})
    engine = db.Column(db.Unicode(16), info={'verbose_name': 'Платформа интегрированной кампании'})
    status = db.Column(db.Unicode(8), info={'verbose_name': 'Статус'})
    costs = db.Column(db.Numeric(18,2), info={'verbose_name': 'Расходы'})
    cost_ratio = db.Column(db.Integer, info={'verbose_name': 'Коэффициент расходов'})
    cost_ratio_operator = db.Column(db.Unicode(16), info={'verbose_name': 'Оператор расчета расходов'})

    __table_args__ = (
        db.Index('comagic_campaigns_idx_1', account_id),
        db.Index('comagic_campaigns_idx_2', campaign_id),
    )

    def __repr__(self):
        return '<CoMagicCampaign %r>' % self.id
Ejemplo n.º 29
0
class Rates(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    currency = db.Column(db.String(3))
    rate = db.Column(db.Numeric(10, 5))
    trade_time = db.Column(db.DateTime)

    def get_rate(self):
        currencys = ['EUR', 'USD', 'GBP', 'JPY', 'CAD', 'MXN', 'AUD']
        trade_time = datetime.now()
        for currency in currencys:
            url = 'http://hl.anseo.cn/cal_{currency}_To_CNY_1.aspx'.format(
                currency=currency)
            response = urllib.request.urlopen(url)
            html = response.read().decode('utf-8')

            rates_re = re.compile(r'<p><strong>当前汇率:</strong>(.*?)</p>')
            result = rates_re.findall(html)

            if result[0]:
                rate = Rates(currency=currency,
                             rate=float(result[0]),
                             trade_time=trade_time)
                db.session.add(rate)
                db.session.commit()

    def last_rate(self):
        results = Rates.query.order_by(Rates.trade_time.desc()).limit(12).all()
        tormb = {}

        for result in results:
            tormb[result.currency] = result.rate

            if len(tormb) == 7:
                break

        return tormb
Ejemplo n.º 30
0
class Customer(db.Model, UserMixin, ToDictMixin):
    """顾客"""
    __tablename = 'customer'
    auto_load_attrs = ('id')

    id = db.Column(UNSIGNED_INT, primary_key=True, autoincrement=True)
    # 昵称
    nick_name = db.Column(db.String(64), nullable=False)
    gender = db.Column(db.Integer, nullable=True)
    city = db.Column(db.String(40), nullable=True)
    province = db.Column(db.String(40), nullable=True)
    country = db.Column(db.String(40), nullable=True)
    avatarUrl = db.Column(db.String(200), nullable=True)
    cashbox = db.Column(db.Numeric(8, 2), default=0.0)

    is_deleted = db.Column(db.Boolean, default=False)

    orders = db.relationship('Order', back_populates='customer')

    def to_dict(self):
        return {'id': self.id, 'nick_name': self.nick_name}


# endregion