def add(self): if GenericViewer.add(self): return False payeeCategory = PayeeCategory( name = self.request.get('name'), ) if (not users.is_current_user_admin() or self.request.get('owner') != ''): payeeCategory.owner = users.get_current_user() payeeCategory.put() self.messages.append('Payee category successfully added.') self.redirect() return True
def view(self): if not self.request.get('account'): self.redirect('/') return account = db.get (self.request.get('account')) if not account or account.owner != users.get_current_user(): self.redirect('/') return order = self.request.get('order') if order is '': order = 'date' operations_query = Operation.all() operations_query.filter('account =', db.get(self.request.get('account'))) operations_query.order(order) operations = operations_query.fetch(10) currentAmount=Decimal() currentCredit=Decimal() currentDebit=Decimal() for op in operations: amount = Decimal(op.amount) if amount < 0: op.debit = op.amount currentDebit += amount else: op.credit = op.amount currentCredit += amount currentAmount += amount categories_query = PayeeCategory.all().order('name') categories=[] for category in categories_query: part = category.name.partition('/') if part[1] == '': category.root = '' else: category.root = part[0] category.name = part[2] categories.append(category) template_values = { 'currency': account.currency, 'operations': operations, 'currentAccount': account, 'amountPositive': currentAmount >= 0, 'currentCredit': currentCredit, 'currentDebit': currentDebit, 'currentAmount': currentAmount, 'categories': categories, 'chartExpense': self.categoryChart(account), 'chartTakings': self.categoryChart(account, showExpense=False) } addCommonTemplateValues(template_values, self) path = os.path.join(os.path.dirname(__file__), 'operation.html') self.response.out.write(template.render(path, template_values))