class factiva_keywords(Base):
    __tablename__ = "factiva_keyword"

    keyword_id = db.Column(db.Integer, primary_key=True)
    keyword = db.Column(db.String(256), nullable=False)
    im_id = db.Column(db.Integer, db.ForeignKey('investmentManager.im_id'), nullable=False)
    im = db.relationship('InvestmentManager')

    def __init__(self, keyword, im_id):
        self.keyword = keyword
        self.im_id = im_id
    
    def save_to_db(self):
        db.session.add(self)
        db.session.commit()

    def delete_from_db(self):
        db.session.delete(self)
        db.session.commit()

    @classmethod
    def get_all_from_db(cls):
        return cls.query.order_by(cls.keyword).all()

    @classmethod
    def find_by_id(cls, keyword_id):
        return cls.query.filter_by(keyword_id=keyword_id).first()
Exemple #2
0
class Deal_group(Base):
    __tablename__ = "deal_group"

    group_id = db.Column(db.Integer, primary_key=True)
    group_name = db.Column(db.String(128), nullable=False)

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

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

    def delete_from_db(self):
        db.session.delete(self)
        db.session.commit()

    @classmethod
    def get_all_from_db(cls):
        return cls.query.order_by(cls.group_name).all()

    @classmethod
    def find_by_id(cls, _id):
        return cls.query.filter_by(group_id=_id).first()

    @classmethod
    def find_by_group_name(cls, _name):
        return cls.query.filter_by(group_name=_name).first()
class Asso_deal_to_im(Base):
    __tablename__ = "asso_deal_to_im"
    asso_id = db.Column(db.Integer, primary_key=True)
    deal_id = db.Column(db.Integer, db.ForeignKey('deal.deal_id'))
    im_id = db.Column(db.Integer, db.ForeignKey('investmentManager.im_id'))
    im_role = db.Column(db.String(32))  # {'main', 'support'}
    deal = db.relationship('Deal', back_populates='investmentManager')
    investmentManager = db.relationship('InvestmentManager',
                                        back_populates='deal')

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

    @classmethod
    def get_all_from_db(cls):
        return cls.query.all()

    def delete_from_db(self):
        db.session.delete(self)
        db.session.commit()

    @classmethod
    def find_by_id(cls, deal_id):
        return cls.query.filter_by(deal_id=deal_id).first()

    @classmethod
    def find_main_im(cls):
        return cls.query.filter_by(im_role='main').all()
Exemple #4
0
class Project_update(Base):
    __tablename__ = "project_update"

    update_id = db.Column(db.Integer, primary_key=True)
    deal_id = db.Column(db.Integer, db.ForeignKey('deal.deal_id'))
    deal = db.relationship("Deal")
    update_content = db.Column(db.String(2048), nullable=False)
    isSent = db.Column(db.String(1))

    def __init__(self, deal_id, update_content, isSent):
        self.deal_id = deal_id
        self.update_content = update_content
        self.isSent = isSent

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

    def delete_from_db(self):
        db.session.delete(self)
        db.session.commit()

    @classmethod
    def get_all_from_db(cls):
        return cls.query.all()

    @classmethod
    def find_by_id(cls, _id):
        return cls.query.filter_by(update_id=_id).first()

    @classmethod
    def find_by_deal_id(cls, _id):
        return cls.query.filter_by(deal_id=_id).first()
Exemple #5
0
class Deal(Base):
    __tablename__ = "deal"

    deal_id = db.Column(db.Integer, primary_key=True)
    group_id = db.Column(db.Integer, db.ForeignKey('deal_group.group_id'))
    deal_group = db.relationship("Deal_group")
    investmentManager = db.relationship("Asso_deal_to_im",
                                        back_populates='deal')
    name = db.Column(db.String(128), nullable=False)
    description = db.Column(db.String(256))
    dealSize = db.Column(db.Float)
    status = db.Column(db.String(32), nullable=False)
    startDate = db.Column(db.DateTime)
    exitDate = db.Column(db.DateTime)

    def __init__(self, group_id, name, description, dealSize, status,
                 startDate, exitDate):
        self.group_id = group_id
        self.name = name
        self.description = description
        self.dealSize = dealSize
        self.status = status
        self.startDate = startDate
        self.exitDate = exitDate

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

    def delete_from_db(self):
        db.session.delete(self)
        db.session.commit()

    @classmethod
    def get_all_from_db(cls):
        return cls.query.all()

    @classmethod
    def find_by_id(cls, deal_id):
        return cls.query.filter_by(deal_id=deal_id).first()
class Base(db.Model):
    __abstract__ = True
    date_created = db.Column(db.DateTime,  default=db.func.current_timestamp())
    date_modified = db.Column(db.DateTime,  default=db.func.current_timestamp(), onupdate=db.func.current_timestamp())
class InvestmentManager(Base):
    __tablename__ = "investmentManager"

    im_id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(128), nullable=False)
    display_name = db.Column(db.String(256))
    dn = db.Column(db.String(128))
    email = db.Column(db.String(128))
    member_of = db.Column(db.String(512))
    isActive = db.Column(db.Boolean, default=True)
    authenticated = db.Column(db.Boolean, default=False)
    deal = db.relationship('Asso_deal_to_im',
                           back_populates='investmentManager')

    def __init__(self, name, dn):
        self.name = name
        self.dn = dn

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

    def delete_from_db(self):
        db.session.delete(self)
        db.session.commit()

    def is_active(self):
        """True, as all users are active."""
        return True

    def get_id(self):
        """Return the email address to satisfy Flask-Login's requirements."""
        return self.dn

    def is_authenticated(self):
        """Return True if the user is authenticated."""
        return self.authenticated

    def is_anonymous(self):
        """False, as anonymous users aren't supported."""
        return False

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

    def delete_from_db(self):
        db.session.delete(self)
        db.session.commit()

    @classmethod
    def get_all_from_db(cls):
        return cls.query.order_by(cls.name).all()

    @classmethod
    def get_all_active(cls):
        return cls.query.filter_by(isActive=True).order_by(cls.name).all()

    @classmethod
    def find_by_id(cls, _id):
        return cls.query.filter_by(im_id=_id).first()

    @classmethod
    def find_by_dn(cls, _dn):
        return cls.query.filter_by(dn=_dn).first()