def get(self): if not users.get_current_user(): self.redirect(users.create_login_url(self.request.uri)) account_key = ndb.Key(urlsafe=self.request.get('account')) account = account_key.get() transactions_query = AccountTransaction.query(ancestor=account_key) transactions_query = transactions_query.order(AccountTransaction.transaction_time) transactions = transactions_query.fetch(1000) balance = account.opening_balance # Start off with the opening balance as a transaction. processed_transactions = [{ 'date': account.getFormattedOpenDate(), 'type': 'Opening Balance', 'memo': '', 'amount': '%.2f' % (account.opening_balance / 1000000.0), 'balance': '%.2f' % (balance / 1000000.0), }] for transaction in transactions: if transaction.transaction_type == 'withdrawal': balance -= transaction.amount else: balance += transaction.amount memo = transaction.memo if memo == None: memo = '' processed_transactions.append({ 'date': util.formatShortDate(transaction.transaction_local_date), 'type': transaction.transaction_type, 'memo': memo, 'amount': '%.2f' % (transaction.amount / 1000000.0), 'balance': '%.2f' % (balance / 1000000.0), }) processed_transactions.reverse() template_values = { 'current_user': users.get_current_user(), 'account': account, 'transactions': processed_transactions, 'url': users.create_logout_url('/'), 'url_linktext': 'Logout', } self.response.out.write(template.render( getTemplatePath('transaction_list.html'), template_values))
def getAllowanceStartDate(self): return util.formatShortDate(self.allowance_start_date)
def getFormattedOpenDate(self): return util.formatShortDate(self.getOpenDatetime())