transactions
index
/mnt/disk2/workspace/fruitybanking/transactions.py

 
Modules
       
accounts
datetime
db
html
locale
time

 
Classes
       
Transaction
Transactions

 
class Transaction
    Transaction DTO. It's quite different from the
data structure (which uses source/dest/amount)
to match the UI, which has accountid (which you're in
now), otheraccountid (other side of the transaction) and
whether this is a deposit or a withdrawal (and the balance
to date).
 
The data is transformed from this to the source/dest/amount
structure in the database by the get/update routines.
 
  Data and other attributes defined here:
accountid = 0
balance = 0
date = datetime.date(2009, 1, 6)
deposit = 0
description = ''
id = 0
otheraccountcode = ''
otheraccountid = 0
reconciled = 0
withdrawal = 0

 
class Transactions
    UI class for transaction functionality
 
  Methods defined here:
delete(self, id, accountid)
Deletes a transaction
edit(self, id, accountid)
Screen to edit a transaction.
index(self, accountid, numToDisplay=20)
new(self, date, reconciled=0, description='', account=0, otheraccount=0, deposit=0, withdrawal=0, numtodisplay=20)
Called when a new transaction is submitted by the UI
reconcile(self, id, accountid, numtodisplay)
Marks a transaction as reconciled
showtrx(self, number, accountid)
UI page to change the number of transactions currently being
viewed.
update(self, id, date, description, accountid, otheraccountid, deposit, withdrawal, reconciled)
Fired when the user updates an existing transaction

 
Functions
       
createTransaction(transactionObj)
Creates a transaction record from a supplied 
Transaction object (ID is ignored and regenerated on the object)
deleteTransaction(transactionid)
Marks a Transaction as deleted
displayToPythonDate(d)
Converts a display date to a Python date
getCutOffDateForRows(accountid, num)
Goes back num rows for the accountid and works out the cut off date to
use as numrowsago.Date - 1 whole day. Returns zero if there are no
transactions for the account given.
getNumberOfTrxToShow()
    Returns the number of transactions to show as set in 
the user's session. If the value is not set, a default
is returned.
getReconciledAsHTML(selected=0)
Returns HTML options representing whether a transaction is
reconciled.
getToday()
Return today's date, formatted for the user.
getTransactionById(transactionid, accountid)
Return the Transaction object for a given id
requires the accountid as well as the transactionid
so that the transaction object can have the correct
other account.
getTransactions(accountid, num)
Return all the Transaction objects where accountid is the
source or dest account. The Transaction amount is converted
to a deposit or withdrawal amount depending on whether
the account is the source account or not (if it's the source,
then it's a withdrawal, dest is a deposit).
 
Balances are also generated by this routine on the returned
data as each DTO is created/populated.
 
The num parameter specifies how many results we are actually
interested (most recent). This is used to select a date
cutoff. We calculate the balance to this date using the
database (which is fast) and restrict rows to everything
after this date so we don't waste time marshalling data into
objects we aren't going to use. This is necessary since a few
months worths of data can get large.
markAllTransactionsReconciled(accountid)
Marks all transactions upto today as reconciled
for the given account id.
markTransactionReconciled(transactionid)
    Marks a given transaction as reconciled against
a bank statement.
number_format(num, places=2)
pythonToDisplayDate(d)
Converts a Python date to a display date
setNumberOfTrxToShow(number)
    Sets the number of transactions to show in 
the user's session.
toPythonDate(d)
Converts a UNIX date to a Python date
toUnixDate(d)
Converts a Python date to a UNIX date
updateTransaction(transactionObj)
Updates a Transaction objects database record.