Example #1
0
class Cliente(db.Model):
    __tablename__ = "cliente"

    id = db.Column(db.Integer, primary_key=True)
    nome = db.Column(db.String(30))
    historico_status = db.Column(db.String(100))
    observacoes = db.Column(db.String)
    email = db.Column(db.String)
    telefone = db.Column(db.Integer)
    endereco = db.Column(db.String)
    status = db.Column(db.String)
    datainsercao = db.Column(db.String)
    prospeccao = db.Column(db.String)

    def __init__(self, nome, email, telefone, endereco, status, datainsercao,
                 prospeccao):
        self.nome = nome
        self.email = email
        self.telefone = telefone
        self.endereco = endereco
        self.status = status
        self.datainsercao = datainsercao
        self.prospeccao = prospeccao
        self.historico_status = "--------,--------,--------,--------,--------,--------"
        self.observacoes = "Sem comentarios Ainda!"
Example #2
0
class Nota(db.Model):
    __tablename__ = "nota"

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

    def __init__(self, nota):
        self.nota = nota
class Touch(db.Model):
    """Touch model"""
    id = db.Column(db.INTEGER, primary_key=True)
    description = db.Column(db.Text)
    date = db.Column(db.DATETIME, nullable=False, default=datetime.utcnow)
    lead_id = db.Column(db.INTEGER, db.ForeignKey('lead.id'), nullable=False)

    def __repr__(self):
        return "Touch({}, {})".format(self.description[0:20], self.date)
class User(db.Model, UserMixin):
    """User/Admin model"""
    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)
    password = db.Column(db.String(60), unique=True, nullable=False)

    def __repr__(self):
        return "User({}, {})".format(self.username, self.email)
class Lead(db.Model):
    """Lead model"""
    id = db.Column(db.INTEGER, primary_key=True)
    name = db.Column(db.String(50))
    company = db.Column(db.String(50))
    phone = db.Column(db.String(20))
    email = db.Column(db.String(120), unique=True)
    touches = db.relationship('Touch', backref='author')

    def __repr__(self):
        return "Lead({}, {})".format(self.name, self.email)
Example #6
0
class ClientFamily(db.Model):
    """
    Таблица родственников клиента
    """
    id = db.Column(db.Integer, primary_key=True)
    client_family_name = db.Column(db.String, index=True)
    client_family_birthday = db.Column(db.DateTime, index=True)
    client_id = db.Column(db.Integer, db.ForeignKey('client.id'))

    def __repr__(self):
        return f'<Семья клиента: {self.client_family_name}>'
Example #7
0
class Currency(db.Model, BaseModel, RootModel):

    __tablename__ = "currencies"

    name = db.Column(
        db.String(3),
        index=True,
        unique=True,
        nullable=False,
    )

    value_usd = db.Column(db.Float(), default=1.0)

    deals = db.relationship("Deal", backref="currency")

    def __str__(self):
        return self.name
Example #8
0
class Phone(db.Model, BaseModel):
    __tablename__ = "phones"

    telephone = db.Column(
        db.String(255),
        index=True,
        nullable=False,
    )

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

    contact_id = db.Column(db.String, db.ForeignKey("contacts.id"))

    company_id = db.Column(db.String, db.ForeignKey("companies.id"))

    def __str__(self):
        return self.telephone
Example #9
0
class Opportunity(db.Model):
    '''存放销售机会相关信息
    '''
    __tablename__ = 'opportunity'

    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(100))
    source = db.Column(db.String(200), default="")
    next_contacts = db.Column(db.String(100))
    next_date = db.Column(db.DateTime, default=datetime.now())
    created = db.Column(db.DateTime, default=datetime.now())
    updated = db.Column(db.DateTime, default=datetime.now())

    def __init__(self, name, source, next_contacts):
        self.name = name
        self.source = source
        self.next_contacts = next_contacts
        self.next_date = datetime.now() + timedelta(days=3)
        self.created = datetime.now()
        self.updated = datetime.now()

    def update(self):
        self.updated = datetime.now()
        db.session.commit()

    def save(self):
        db.session.add(self)
        db.session.commit()

    def delete(self):
        db.session.delete(self)
        db.session.commit()
Example #10
0
class Product(db.Model):
    '''存放产品相关信息
    '''
    __tablename__ = 'product'

    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(100))
    description = db.Column(db.String(200), default="")
    owner = db.Column(db.String(100))
    modified_by = db.Column(db.String(100))
    created = db.Column(db.DateTime, default=datetime.now())
    updated = db.Column(db.DateTime, default=datetime.now())

    def __init__(self, name, description, owner, modified_by):
        self.name = name
        self.description = description
        self.owner = owner
        self.modified_by = modified_by
        self.created = datetime.now()
        self.updated = datetime.now()

    def update(self):
        self.updated = datetime.now()
        db.session.commit()

    def save(self):
        db.session.add(self)
        db.session.commit()

    def delete(self):
        db.session.delete(self)
        db.session.commit()
Example #11
0
class User(db.Model, UserMixin):
    """
    Таблица зарегестрированных пользователей
    """
    id = db.Column(db.Integer, primary_key=True)
    user = db.Column(db.String(64), index=True)
    email = db.Column(db.String(64), index=True, unique=True)
    password_hash = db.Column(db.String(128))
    created_on = db.Column(db.DateTime, default=datetime.utcnow)
    clients = db.relationship('Client', backref='own_client', lazy='dynamic')

    def __repr__(self):
        return f"<User: {self.user}>"

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

    def check_password(self, password):
        return check_password_hash(self.password_hash, password)
Example #12
0
class Email(db.Model, BaseModel):
    __tablename__ = "emails"

    email = db.Column(
        db.String(255),
        index=True,
        nullable=False,
    )

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

    contact_id = db.Column(db.String, db.ForeignKey("contacts.id"))

    organization_id = db.Column(db.String, db.ForeignKey("organizations.id"))

    company_id = db.Column(db.String, db.ForeignKey("companies.id"))

    def __str__(self):
        return self.email
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.jpeg")
    password = db.Column(db.String(20), nullable=False)
    pos_id = db.Column(db.Integer, unique=True, nullable=False)
    hisaab = db.relationship("Hisaab", backref="fos", lazy="dynamic")

    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.pos_id}')"
Example #14
0
class Admin(db.Model, UserMixin):
    '''管理员表
    '''
    __tablename__ = 'admin'

    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(200), index=True)
    email = db.Column(db.String(200), index=True)
    phone = db.Column(db.String(200))
    password = db.Column(db.String(200))
    status = db.Column(db.String(10), default=1)
    last_login = db.Column(db.DateTime, default=datetime.now())
    created = db.Column(db.DateTime, default=datetime.now())
    updated = db.Column(db.DateTime, default=datetime.now())

    def __init__(self, name, email, password):
        self.name = name
        self.email = email
        self.set_password(password)
        self.created = datetime.now()
        self.updated = datetime.now()

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

    def update(self):
        self.updated = datetime.now()
        db.session.commit()

    def save(self):
        db.session.add(self)
        db.session.commit()

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

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

    def delete(self):
        db.session.delete(self)
        db.session.commit()
Example #15
0
class Client(db.Model):
    """
    Таблица добавленных клиентовклиента
    """
    id = db.Column(db.Integer, primary_key=True)
    client_name = db.Column(db.String, index=True)
    client_phone = db.Column(db.Integer, index=True, unique=True)
    client_birthday = db.Column(db.DateTime, index=True)
    client_registration = db.Column(db.DateTime,
                                    index=True,
                                    default=datetime.utcnow)
    user_id = db.Column(db.Integer, db.ForeignKey('user.id'))
    client_family = db.relationship('ClientFamily',
                                    backref='client',
                                    lazy='dynamic')

    def __repr__(self):
        return f'<Клиент: {self.client_name}>'
Example #16
0
class Customer(db.Model):
    '''客户表
    '''
    __tablename__ = 'customer'

    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(100), index=True)
    phone = db.Column(db.String(100), index=True, default='')
    email = db.Column(db.String(100), default='')
    owner = db.Column(db.String(100))
    customer_details = db.Column(db.String(250), default='')
    status = db.Column(db.String(10), default=1)
    sex = db.Column(db.String(10), default=1)
    addr = db.Column(db.String(250))
    company = db.Column(db.String(200))
    note = db.Column(db.String(250))
    group = db.Column(db.String(200))
    tax_id = db.Column(db.String(100), default='')
    modified_by = db.Column(db.String(100))
    created = db.Column(db.DateTime, default=datetime.now())
    updated = db.Column(db.DateTime, default=datetime.now())

    def __init__(self, name, sex, phone, email, company, addr, note, tax_id,
                 owner):
        self.name = name
        self.sex = sex
        self.phone = phone
        self.email = email
        self.addr = addr
        self.note = note
        self.owner = owner
        self.modified_by = owner
        self.tax_id = tax_id
        self.company = company
        self.created = datetime.now()
        self.updated = datetime.now()

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

    def update(self):
        self.updated = datetime.now()
        db.session.commit()

    def save(self):
        db.session.add(self)
        db.session.commit()

    def delete(self):
        db.session.delete(self)
        db.session.commit()
Example #17
0
class Projeto(db.Model):
    __tablename__ = "projeto"

    id = db.Column(db.Integer, primary_key = True)
    nome = db.Column(db.String,nullable = False)
    comentarios = db.Column(db.String, nullable = True)
    nota = db.Column(db.Integer, nullable = True)
    tipo = db.Column(db.String)
    cliente = db.Column(db.String)    
    url = db.Column(db.String)
    valor = db.Column(db.Integer)
    po = db.Column(db.String)
    prazo = db.Column(db.Integer)
    inicio = db.Column(db.String)
    data = db.Column(db.Integer)
    status = db.Column(db.String)

    def __init__(self, nome,tipo,cliente,url,valor,po, prazo, inicio, status, nota):
        self.nome = nome
        self.tipo = tipo
        self.cliente = cliente
        self.url = url  
        self.valor = valor
        self.po = po
        self.prazo = prazo
        self.data = prazo
        self.inicio = inicio
        self.status = status
        self.nota = nota
        self.comentarios = "Sem comentarios Ainda!"

        teste = self.prazo.split('-')
        teste = teste[0] + teste[1] + teste[2]
        self.prazo = int(teste)
        self.data = int(teste)
       
        self.prazo = str(self.prazo)
        self.prazo = self.prazo[6] + self.prazo[7] + '/' + self.prazo[4] + self.prazo[5] + '/' + self.prazo[0] + self.prazo[1] + self.prazo[2] + self.prazo[3]
        
        testee = self.inicio.split('-')
        testee = testee[0] + testee[1] + testee[2]
        self.inicio = int(testee)
        
        self.inicio = str(self.inicio)
        self.inicio = self.inicio[6] + self.inicio[7] + '/' + self.inicio[4] + self.inicio[5] + '/' + self.inicio[0] + self.inicio[1] + self.inicio[2] + self.inicio[3]
class Master(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    date = db.Column(db.DateTime, nullable=False, default=datetime.now)
    open_bal = db.Column(db.Integer, nullable=False, default=0)
    primary = db.Column(db.Integer, nullable=False, default=0)
    manual_trans = db.Column(db.Integer, nullable=False, default=0)
    auto_trans = db.Column(db.Integer, nullable=False, default=0)
    closing = db.Column(db.Integer, nullable=False, default=0)
    total_trans = db.Column(db.Integer, default=0)
    fos_bal = db.Column(db.Integer, default=0)
    master_bal = db.Column(db.Integer, nullable=False, default=0)
    calc_master_bal = db.Column(db.Integer, nullable=False, default=0)
    master_diff = db.Column(db.Integer, nullable=False, default=0)
    remarks = db.Column(db.Text, nullable=False)

    def __repr__(self):
        return f"Master('{self.closing}', '{self.open_bal}', '{self.date}', '{self.remarks}')"
class Hisaab(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    date = db.Column(db.DateTime, nullable=False, default=datetime.now)
    open_bal = db.Column(db.Integer, nullable=False, default=0)
    manual_trans = db.Column(db.Integer, nullable=False, default=0)
    auto_trans = db.Column(db.Integer, nullable=False, default=0)
    closing = db.Column(db.Integer, nullable=False, default=0)
    total_trans = db.Column(db.Integer, default=0)
    total_sale = db.Column(db.Integer, default=0)
    commission_value = db.Column(db.Integer, default=0)
    net_sale = db.Column(db.Integer, default=0)
    last_debt = db.Column(db.Integer, nullable=False, default=0)
    amt_received = db.Column(db.Integer, nullable=False, default=0)
    latest_debt = db.Column(db.Integer, default=0)
    remarks = db.Column(db.Text, nullable=False)
    user_id = db.Column(db.Integer, db.ForeignKey("user.id"), nullable=False)

    def __repr__(self):
        return f"Hisaab('{self.closing}', '{self.open_bal}', '{self.date}', '{self.remarks}')"