Repository URL to install this package:
|
Version:
0.0.44 ▾
|
# -*- coding: utf-8 -*-
# Python
# Python
from datetime import datetime
# Third
from bson.objectid import ObjectId
from mongoengine import (
BooleanField,
DateTimeField,
EmbeddedDocument,
EmbeddedDocumentField,
FloatField,
IntField,
ObjectIdField,
StringField,
)
# Apps
from oyaji.address.models import Address
from oyaji.banks.models import BankAccount
from oyaji.users.models import UserAbstract
from oyaji.cities.models import City
class BusinessSegment(EmbeddedDocument):
is_tourism = BooleanField(default=False)
is_trade = BooleanField(default=False)
is_events = BooleanField(default=False)
is_transport = BooleanField(default=False)
is_medical = BooleanField(default=False)
class Registration(EmbeddedDocument):
sent_activate_email = BooleanField(default=False)
accepted_terms = BooleanField(default=False)
activate_account = BooleanField(default=False)
approved = BooleanField(default=False)
changed_password = BooleanField(default=False)
filled_register_fields = BooleanField(default=False)
updated_bank_account = BooleanField(default=False)
completed = BooleanField(default=False)
class Iugu(EmbeddedDocument):
customer_id = StringField(default="")
plan_id = StringField(default="")
active = BooleanField(default=False)
subscription_id = StringField(default="")
class SupplierAbstract(UserAbstract):
"""
Model to represents the supplier
"""
meta = {"abstract": True, "collection": "suppliers"}
company_name = StringField(default="")
trade_name = StringField(required=True)
slug = StringField(required=True, unique=True)
cnpj = StringField(required=True)
cnae = StringField(default="")
since_date = DateTimeField(default=datetime.now)
phone = StringField(default="")
bank = EmbeddedDocumentField(BankAccount, default=BankAccount)
address = EmbeddedDocumentField(Address, default=Address)
registration = EmbeddedDocumentField(Registration, default=Registration)
business = EmbeddedDocumentField(BusinessSegment, default=BusinessSegment)
iugu = EmbeddedDocumentField(Iugu, default=Iugu)
city = EmbeddedDocumentField(City, default=City)
class Variant(EmbeddedDocument):
key = ObjectIdField(default=ObjectId, unique=True)
name = StringField(default="DEFAULT")
price = IntField(default=0)
quantity = IntField(default=0)
class Split(EmbeddedDocument):
apps = FloatField(required=True, default=0)
gateway = FloatField(required=True, default=0)
shipping = FloatField(required=True, default=0)
seller = FloatField(required=True, default=0)