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)
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,
@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)
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