Example #1
0
  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))
Example #2
0
  def view(self):
    lmodel = self.model.__name__.lower()

    if self.request.get('order'):
      self.order = self.request.get('order')
    if self.request.get('limit'):
      self.limit = int(self.request.get('limit'))
    if self.request.get('offset'):
      self.offset = int(self.request.get('offset'))

    items_query = self.model.all()
    items_query.filter('owner =', users.get_current_user()).order('name')
    total = items_query.count()
    if self.order is not None:
      items_query.order(self.order)
    items = items_query.fetch(self.limit, self.offset)
    for ac in items:
      ac.amount = self.getTotalAmount(ac)
      ac.amountPositive = ac.amount > 0

    banks = Bank.all().order('name')

    template_values = {
      'banks': banks,
      'limit': self.limit,
      'offset': self.offset,
      'order': self.order,
      'total': total,
      'max_item': min(self.offset + self.limit, total),
      'items': items,
      'iso_4217': ISO_4217,
      }
    addCommonTemplateValues(template_values, self)

    if self.offset > 0:
      prev = self.offset - self.limit
      if prev < 0:
        prev = 0
        template_values['prev_url'] = (
          self.url + '?offset=%s' % prev)

    if self.offset + self.limit < total:
      next = self.offset + self.limit
      template_values['next_url'] = (
        self.url + '?offset=%s' % next)

    path = os.path.join(os.path.dirname(__file__),
                        '%s.html' % lmodel)
    self.response.out.write(template.render(path, template_values))
    return True
Example #3
0
    def view(self):
        lmodel = self.model.__name__.lower()

        if self.request.get('order'):
            self.order = self.request.get('order')
        if self.request.get('limit'):
            self.limit = int(self.request.get('limit'))
        if self.request.get('offset'):
            self.offset = int(self.request.get('offset'))

        items_query = self.model.all()
        total = items_query.count()
        if self.order is not None:
            items_query.order(self.order)
        items = items_query.fetch(self.limit, self.offset)

        template_values = {
            'limit': self.limit,
            'offset': self.offset,
            'order': self.order,
            'total': total,
            'max_item': min(self.offset + self.limit, total),
            'items': items,
            }
        addCommonTemplateValues(template_values, self)

        if self.offset > 0:
            prev = self.offset - self.limit
            if prev < 0:
                prev = 0
            template_values['prev_url'] = (
                self.url + '?offset=%s' % prev)

        if self.offset + self.limit < total:
            next = self.offset + self.limit
            template_values['next_url'] = (
                self.url + '?offset=%s' % next)

        path = os.path.join(os.path.dirname(__file__),
                            '%s.html' % lmodel)
        self.response.out.write(template.render(path, template_values))
        return True
Example #4
0
 def get(self):
   template_values = {}
   addCommonTemplateValues(template_values, self)
   path = os.path.join(os.path.dirname(__file__), 'main.html')
   self.response.out.write(template.render(path, template_values))