Example #1
0
    def __init__(self, user, proposal):
        self.user = user
        self.proposal = proposal
        self.state = 'new'

    def set_state(self, state):
        state = state.lower()
        if state not in VOTE_STATES:
            raise CfpStateException('"%s" is not a valid state' % state)

        if state not in VOTE_STATES[self.state]:
            raise CfpStateException('"%s->%s" is not a valid transition' %
                                    (self.state, state))

        self.state = state


class Venue(db.Model):
    __tablename__ = 'venue'
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String, nullable=False)
    type = db.Column(db.String, nullable=True)
    __table_args__ = (UniqueConstraint('name', name='_venue_name_uniq'), )


# TODO: change the relationships on User and Proposal to 1-to-1
db.Index('ix_cfp_vote_user_id_proposal_id',
         CFPVote.user_id,
         CFPVote.proposal_id,
         unique=True)
Example #2
0
    sort_code = db.Column(db.String, nullable=False)
    acct_id = db.Column(db.String, nullable=False)
    currency = db.Column(db.String, nullable=False)

    def __init__(self, sort_code, acct_id, currency='GBP'):
        self.sort_code = sort_code
        self.acct_id = acct_id
        self.currency = currency

    @classmethod
    def get(cls, sort_code, acct_id):
        return cls.query.filter_by(acct_id=acct_id, sort_code=sort_code).one()


db.Index('ix_bank_account_sort_code_acct_id',
         BankAccount.sort_code,
         BankAccount.acct_id,
         unique=True)


class BankTransaction(db.Model):
    __tablename__ = 'bank_transaction'
    __export_data__ = False

    id = db.Column(db.Integer, primary_key=True)
    account_id = db.Column(db.Integer,
                           db.ForeignKey(BankAccount.id),
                           nullable=False)
    posted = db.Column(db.DateTime, nullable=False)
    type = db.Column(db.String, nullable=False)
    amount_int = db.Column(db.Integer, nullable=False)
    fit_id = db.Column(db.String,
Example #3
0
    @staticmethod
    def get_by_organization(organization):
        links = ShortLink.query \
            .filter(ShortLink.organization == organization) \
            .all()

        return [set_namespace_prop(l) for l in links]

    def put(self):
        super().put()

        self.key = _get_link_key(self.organization, self.namespace,
                                 self.shortpath)

        self._ns = self.namespace if self.namespace != 'go' else None

        db.session.add(self)
        db.session.commit()

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

    @staticmethod
    def _get_all():
        return ShortLink.query.all()


db.Index('org_ns_prefix', ShortLink.organization, ShortLink._ns,
         ShortLink.shortpath_prefix)
Example #4
0
        self.acct_id = acct_id
        self.currency = currency
        self.active = active
        self.institution = institution
        self.address = address
        self.swift = swift
        self.iban = iban

    @classmethod
    def get(cls, sort_code, acct_id):
        return cls.query.filter_by(acct_id=acct_id, sort_code=sort_code).one()


db.Index(
    "ix_bank_account_sort_code_acct_id",
    BankAccount.sort_code,
    BankAccount.acct_id,
    unique=True,
)

db.Index(
    "ix_bank_account_currency_active",
    BankAccount.currency,
    BankAccount.active,
    unique=True,
)


class BankTransaction(db.Model):
    __tablename__ = "bank_transaction"
    __export_data__ = False