def HandleGet(self): budget = budget_util.GetBudget(self.profile, self.request.get('date')) transactions = lookup.GetTransactionsForBudget(self.profile, budget) unplanned_income, unplanned_expenses = ( budget_util.CalculateUnplannedExpensesAndIncome( budget, transactions)) budget_view_items = [] for item in budget.items: if item.category_id is not None: budget_view_items.append({ 'name': self.profile.categories[item.category_id].name, 'amount': item.planned_amount }) template_values = { 'budget': budget, 'budget_items': budget_util.GetBudgetViewItems(self.profile, budget), 'budget_items_json': [ndb_json.encode(i) for i in budget.items], 'unplanned_income': unplanned_income, 'unplanned_expenses': unplanned_expenses } self.WriteToTemplate('templates/planning/edit_budget.html', template_values)
def HandleGet(self): """ This page allows to view filtered transactions. Possible filters: - for a budget month - for a category - for an account """ category_id = parse.ParseInt(self.request.get('category_id')) account_id = parse.ParseInt(self.request.get('account_id')) budget_date = self.request.get('budget_date') budget = None account = None category = None if category_id is not None or account_id is not None: if category_id is not None: category = self.profile.categories[category_id] if account_id is not None: account = self.profile.accounts[account_id] transactions = lookup.GetTransactions( self.profile, category_id=category_id, account_id=account_id) else: budget = budget_util.GetBudget(self.profile, budget_date) transactions = lookup.GetTransactionsForBudget(self.profile, budget) for transaction in transactions: if transaction.category_id is not None: transaction.category = self.profile.categories[transaction.category_id] if transaction.account_id is not None: transaction.account = self.profile.accounts[transaction.account_id] template_values = { 'budget': budget, 'next_month': budget.GetNextBudgetDate() if budget else None, 'previous_month': budget.GetPreviousBudgetDate() if budget else None, 'category': category, 'account': account, 'transactions': transactions, 'transactions_json': [ndb_json.encode(t) for t in transactions] } self.WriteToTemplate('templates/transactions/transaction_report.html', template_values)
def HandleGet(self): imported_file_id = int(self.request.get('id')) imported_file = lookup.GetImportedFileById(self.profile, imported_file_id) template_values = { 'imported_file': imported_file, 'imported_transactions_json': [ ndb_json.encode(t) for t in imported_file.parsed_transactions], 'account': lookup.GetAccountById(self.profile, imported_file.account_id) } if imported_file.source_file: source_file_lines = imported_file.source_file.splitlines() if imported_file.schema: source_file_lines = [imported_file.schema] + source_file_lines template_values['formatted_parsed_lines'] = parse_csv.ParseCsvToPreview( source_file_lines)[:13] self.WriteToTemplate('templates/import_from_file/edit_imported_file.html', template_values)