コード例 #1
0
  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))
コード例 #2
0
  def get(self):
    self.response.headers['Content-Type'] = 'text/plain' 
    if not users.get_current_user():
      self.redirect(users.create_login_url(self.request.uri))
    t_query = AccountTransaction.query()

    for t in t_query:
      self.response.out.write('Transaction: %s\n' % t.key)
      if not t.key.parent():
        self.response.out.write('No parent for this transaction, making a copy\n')
        t2 = AccountTransaction(parent=t.savings_account)
        t2.savings_account = t.savings_account
        t2.transaction_type = t.transaction_type
        t2.transaction_time = t.transaction_time
        t2.transaction_local_date = t.transaction_local_date
        t2.amount = t.amount
        t2.memo = t.memo
        t2.put()
        self.response.out.write('  New transaction key: %s\n' % t2.key)
        self.response.out.write('  Deleting %s\n' % t.key)
        t.key.delete()