示例#1
0
class PropertyImage(db.Model):

    __tablename__ = "propertyimage"

    id = db.Column(db.Integer, primary_key=True)
    property_id = db.Column(db.Integer, unique=True, nullable=True)
    grid_overview = db.Column(db.VARCHAR(100), nullable=True)
    grid_gallery = db.Column(db.VARCHAR(100), nullable=True)
    grid_contact = db.Column(db.VARCHAR(100), nullable=True)
    grid_explore = db.Column(db.VARCHAR(100), nullable=True)
    background_overview = db.Column(db.VARCHAR(100), nullable=True)
    background_contact = db.Column(db.VARCHAR(100), nullable=True)
    background_contact_phone = db.Column(db.VARCHAR(100), nullable=True)
    background_explore = db.Column(db.VARCHAR(100), nullable=True)
    gallerys = db.Column(db.VARCHAR(300), nullable=True)
    slideshows = db.Column(db.VARCHAR(300), nullable=True)

    def __init__(self, property_id):
        self.property_id = property_id

    def is_completed(self):
        if not self.slideshows or not self.gallerys or not self.grid_overview or not \
        self.grid_gallery or not self.grid_contact or not self.grid_explore or not \
        self.background_overview or not self.background_explore or not self.background_contact\
        or not self.background_contact_phone:
            return False
        return True
示例#2
0
class ProjectDisbursements(db.Model):
    __tablename_ = "project_disbursements"
    disb_id = db.Column(db.Integer, primary_key=True)
    disb_amt = db.Column(db.VARCHAR(30), nullable=False)
    disb_approver = db.Column(db.NVARCHAR(20))
    disb_status = db.Column(db.Boolean)
    disb_desc = db.Column(db.VARCHAR(10000), nullable=False)
    disb_proj = db.Column(db.Integer, db.ForeignKey(Projects.proj_id))
    disb_date = db.Column(db.DateTime,
                          default=datetime.datetime.today,
                          nullable=False)
示例#3
0
class Users(UserMixin, db.Model):
    __tablename_ = "users"
    user_email = db.Column(db.VARCHAR(40), nullable=False)
    user_name = db.Column(db.VARCHAR(30), nullable=False)
    user_password = db.Column(db.VARCHAR(200))
    user_empcode = db.Column(db.NVARCHAR(15), nullable=False, primary_key=True)
    user_approver_rights = db.Column(db.Boolean, nullable=False)
    disbursements_approval_rights = db.Column(db.Boolean, nullable=False)

    responses = db.relationship("IssueResponse",
                                lazy="dynamic",
                                backref="user")
示例#4
0
class ProjectTasks(db.Model):
    __tablename_ = "project_tasks"
    task_proj = db.Column(db.Integer, db.ForeignKey(Projects.proj_id))
    task_id = db.Column(db.Integer, primary_key=True)
    task_title = db.Column(db.VARCHAR(30), nullable=False)
    task_desc = db.Column(db.VARCHAR(10000), nullable=False)
    task_start = db.Column(db.Date)
    task_deadline = db.Column(db.Date)
    task_hours = db.Column(db.Numeric, nullable=False)
    completion_status = db.Column(db.Numeric)
    task_issue_date = db.Column(db.DateTime,
                                default=datetime.datetime.today,
                                nullable=False)
示例#5
0
class ProjectIssues(db.Model):
    __tablename_ = "project_issues"
    issue_proj = db.Column(db.Integer, db.ForeignKey(Projects.proj_id))
    issue_id = db.Column(db.Integer,
                         nullable=False,
                         primary_key=True,
                         autoincrement=True)
    issue_title = db.Column(db.VARCHAR(40), nullable=False)
    issue_descr = db.Column(db.VARCHAR(10000), nullable=True)
    issue_date = db.Column(db.Date,
                           nullable=False,
                           default=datetime.date.today)
    responses = db.relationship("IssueResponse",
                                lazy="dynamic",
                                backref="issue")
示例#6
0
class WarehouseSuppliers(db.Model):
    __tablename_ = "warehouse_suppliers"
    supplier_id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    supplier_Creation_date = db.Column(db.DateTime,
                                       default=datetime.datetime.today,
                                       nullable=False)
    supplier_name = db.Column(db.VARCHAR(60), nullable=False)
示例#7
0
class WarehouseUnits(db.Model):
    __tablename_ = "warehouse_units"
    units_id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    units_name = db.Column(db.VARCHAR(40), nullable=False)
    units_abbr = db.Column(db.NVARCHAR(15), nullable=False)

    product = db.relationship("WarehouseProducts",
                              lazy="dynamic",
                              backref="unitnames")
示例#8
0
class WarehouseLocations(db.Model):
    __tablename_ = "warehouse_locations"
    location_id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    location_name = db.Column(db.VARCHAR(40), nullable=False)
    location_lat = db.Column(db.Numeric, nullable=False)
    location_long = db.Column(db.Numeric, nullable=False)

    receipts = db.relationship("WarehouseReceipts",
                               lazy="dynamic",
                               backref="location")
示例#9
0
class WarehouseReceipts(db.Model):
    __tablename_ = "warehouse_receipts"
    receipt_id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    receipt_date = db.Column(db.DateTime,
                             default=datetime.datetime.today,
                             nullable=False)
    receipt_description = db.Column(db.VARCHAR(5000), nullable=False)
    receipt_product = db.Column(db.NVARCHAR(10), nullable=False)
    receipt_supplier = db.Column(db.VARCHAR(10), nullable=False)
    receipt_receiver = db.Column(db.NVARCHAR(15),
                                 db.ForeignKey(WarehouseUsers.user_empcode))
    receipt_qty = db.Column(db.Numeric, nullable=False)
    receipt_barcode = db.Column(db.VARCHAR(40), nullable=True)
    receipts_warehouse = db.Column(
        db.Integer, db.ForeignKey("warehouse_locations.location_id"))
    receipt_total_cost = db.Column(db.Numeric, nullable=False)
    receipt_document_no = db.Column(db.DateTime,
                                    default=datetime.datetime.today,
                                    nullable=False)
示例#10
0
class WarehouseUsers(db.Model):
    __tablename_ = "warehouse_users"
    user_email = db.Column(db.VARCHAR(200))
    user_password = db.Column(db.VARCHAR(200))
    user_empcode = db.Column(db.NVARCHAR(15), nullable=False, primary_key=True)
    user_approver_rights = db.Column(db.Boolean, nullable=False)
    ####
    receipts = db.relationship("WarehouseReceipts",
                               lazy="dynamic",
                               backref="user")
    products = db.relationship("WarehouseProducts",
                               lazy="dynamic",
                               backref="user")
    requisitions = db.relationship("WarehouseReqs",
                                   lazy="dynamic",
                                   backref="requestor")
    categories = db.relationship("WarehouseCategories",
                                 lazy="dynamic",
                                 backref="creator")
示例#11
0
class WarehouseCategories(db.Model):
    __tablename_ = "warehouse_categories"
    cat_id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    cat_name = db.Column(db.VARCHAR(40), nullable=False)
    cat_creator = db.Column(db.NVARCHAR(15),
                            db.ForeignKey(WarehouseUsers.user_empcode))

    products = db.relationship("WarehouseProducts",
                               lazy="dynamic",
                               backref="categoryNames")
示例#12
0
class IssueResponse(db.Model):
    __tablename_ = "issue_response"
    issue_id = db.Column(db.Integer,
                         db.ForeignKey(ProjectIssues.issue_id),
                         nullable=False)
    response_id = db.Column(db.Integer, nullable=False, primary_key=True)
    issue_responder = db.Column(db.NVARCHAR(15),
                                db.ForeignKey(Users.user_empcode),
                                nullable=False)
    issue_response = db.Column(db.VARCHAR(10000), nullable=True)
    response_date = db.Column(db.Date,
                              default=datetime.date.today,
                              nullable=False)
示例#13
0
class WarehouseProducts(db.Model):
    __tablename_ = "warehouse_products"
    product_id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    product_name = db.Column(db.VARCHAR(60), nullable=False)
    product_type = db.Column(db.Integer,
                             db.ForeignKey("warehouse_categories.cat_id"),
                             nullable=False)
    product_creator = db.Column(db.NVARCHAR(15),
                                db.ForeignKey("warehouse_users.user_empcode"))
    product_reorder = db.Column(db.Numeric, nullable=False)
    product_approver = db.Column(db.NVARCHAR(15))
    product_units = db.Column(db.Integer,
                              db.ForeignKey("warehouse_units.units_id"),
                              nullable=False)

    requisitions = db.relationship("WarehouseReqs",
                                   lazy="dynamic",
                                   backref="product")
示例#14
0
class WarehouseReqs(db.Model):
    __tablename_ = "warehouse_reqs"
    req_id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    req_date = db.Column(db.DateTime,
                         default=datetime.datetime.today,
                         nullable=False)
    req_description = db.Column(db.VARCHAR(5000), nullable=False)
    req_product = db.Column(db.Integer,
                            db.ForeignKey(WarehouseProducts.product_id),
                            nullable=False)
    req_project = db.Column(db.Integer,
                            db.ForeignKey(Projects.proj_id),
                            nullable=False)
    req_requestor = db.Column(db.NVARCHAR(15),
                              db.ForeignKey(WarehouseUsers.user_empcode))
    req_qty = db.Column(db.Numeric, nullable=False)
    #req_document_no = db.Column(db.DateTime, default=datetime.datetime.today, nullable=False)
    req_deadline = db.Column(db.DateTime, nullable=False)
    req_approval = db.Column(db.Boolean, default=False, nullable=True)
    req_approval_date = db.Column(db.DateTime, nullable=True)
示例#15
0
class Property(db.Model):

    __tablename__ = "information"

    idproperty = db.Column('id', db.Integer, primary_key=True)
    agent_id = db.Column('agent_id', db.Integer)
    address = db.Column('streetname', db.VARCHAR(255), nullable=True)
    price = db.Column('price', db.DECIMAL(16, 2), nullable=True)
    beds = db.Column('beds', db.FLOAT, nullable=True)
    baths = db.Column('baths', db.FLOAT, nullable=True)
    home_size = db.Column('totalBuildingArea', db.FLOAT, nullable=True)
    lot_size = db.Column('lotSize', db.DECIMAL(10, 2), nullable=True)
    year_built = db.Column('yearBuilt', db.Integer, nullable=True)
    property_type_English = db.Column('propertyType_en',
                                      db.VARCHAR(255),
                                      nullable=True)
    property_type_Chinese = db.Column('propertyType',
                                      db.VARCHAR(255),
                                      nullable=True)
    description_English = db.Column('description_en',
                                    db.VARCHAR(4000),
                                    nullable=True)
    description_Chinese = db.Column('description',
                                    db.VARCHAR(4000),
                                    nullable=True)

    slogan_subtitle_English = db.Column('subtitle_en',
                                        db.VARCHAR(255),
                                        nullable=True)
    slogan_title_Chinese = db.Column('publicity',
                                     db.VARCHAR(255),
                                     nullable=True)
    slogan_subtitle_Chinese = db.Column('subtitle',
                                        db.VARCHAR(255),
                                        nullable=True)
    vimeo = db.Column('vimeo', db.VARCHAR(255), nullable=True)
    youtube = db.Column('youtube', db.VARCHAR(255), nullable=True)

    domain = db.Column('website', db.VARCHAR(255), unique=True, nullable=True)
    property_number = db.Column('mls', db.VARCHAR(255), nullable=True)
    list_date_English = db.Column('listdate', db.VARCHAR(255), nullable=True)
    school_district_English = db.Column('schooldistrict',
                                        db.VARCHAR(255),
                                        nullable=True)
    school_district_Chinese = db.Column('schooldistrict_cn',
                                        db.VARCHAR(255),
                                        nullable=True)
    created_on = db.Column('createtime', db.DateTime, nullable=True)
    is_published = db.Column('publishSite', db.Integer, nullable=True)
    threed_tour = db.Column('videoTour', db.VARCHAR(255), nullable=True)

    def __init__(self, idproperty, address, agent_id):
        self.idproperty = idproperty
        self.address = address
        self.agent_id = agent_id

    def get_price_CNY(self):
        convert = currentConvert(1, 'USD', 'CNY')
        return self.price * convert

    def get_home_size_meter(self):
        return self.home_size * 0.092903

    def get_lot_size_meter(self):
        return self.lot_size * 0.092903
示例#16
0
class Agent(db.Model):

    __tablename__ = "agent"

    id = db.Column('id', db.Integer, primary_key=True)
    agent_name = db.Column('realname', db.VARCHAR(255), nullable=False)
    agent_license = db.Column('dre', db.VARCHAR(255), nullable=True)
    agent_phone = db.Column('cellphone', db.VARCHAR(30), nullable=True)
    agent_phone_china = db.Column('chinesecellphone',
                                  db.VARCHAR(45),
                                  nullable=True)
    agent_wechat = db.Column('wxid', db.VARCHAR(255), nullable=True)
    agent_email = db.Column('email',
                            db.VARCHAR(60),
                            unique=True,
                            nullable=False)
    agent_office = db.Column('office', db.VARCHAR(30), nullable=True)
    agent_qrcode = db.Column('wxqrcode', db.VARCHAR(500), nullable=True)
    password = db.Column('password', db.VARCHAR(255), nullable=False)
    registered_on = db.Column('createtime', db.DateTime, nullable=True)
    last_login = db.Column('lastlogin', db.DateTime, nullable=True)

    def __init__(self,
                 id,
                 agent_name,
                 agent_email,
                 password,
                 agent_license="",
                 agent_phone="",
                 agent_phone_china="",
                 agent_wechat="",
                 agent_office="",
                 agent_qrcode="",
                 last_login=None):
        self.id = id
        self.password = bcrypt.generate_password_hash(password)
        self.registered_on = datetime.datetime.now()
        self.agent_name = agent_name
        self.agent_license = agent_license
        self.agent_phone = agent_phone
        self.agent_phone_china = agent_phone_china
        self.agent_wechat = agent_wechat
        self.agent_email = agent_email
        self.agent_office = agent_office
        self.agent_qrcode = agent_qrcode
        self.last_login = last_login

    def is_authenticated(self):
        return True

    def is_active(self):
        return True

    def is_anonymous(self):
        return False

    def get_id(self):
        return self.id

    def __repr__(self):
        return '<email {}'.format(self.agent_email)
示例#17
0
class ProjectManagers(db.Model):
    __tablename_ = "project_managers"
    manager_email = db.Column(db.VARCHAR(40), nullable=False)
    manager_name = db.Column(db.VARCHAR(30), nullable=False)
    manager_code = db.Column(db.NVARCHAR(20), primary_key=True)
    project = db.relationship("Projects", backref="manager", lazy="dynamic")
示例#18
0
class ProjectTypes(db.Model):
    __tablename_ = "project_types"
    type_name = db.Column(db.VARCHAR(30), nullable=False)
    type_id = db.Column(db.Integer, primary_key=True)
    project = db.relationship("Projects", backref="type", lazy="dynamic")
示例#19
0
class Employees(db.Model):
    __tablename_ = "employees"
    emp_id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    emp_name = db.Column(db.VARCHAR(60), nullable=False)
    emp_code = db.Column(db.NVARCHAR(15), nullable=False)
    emp_email = db.Column(db.VARCHAR(60), nullable=False)