예제 #1
0
    def _handler(self, expense_key, post=False):
        user = users.get_current_user()

        if user:
            instance = Transaction.get(expense_key)
            if instance.user != user:
                self.redirect(users.create_login_url(self.request.uri))

            if post:
                form = IncomeForm(user, instance=instance, data=self.request.POST)
                if form.is_valid():
                    transaction = form.save(commit=False)
                    transaction.account = transaction.customer.account
                    transaction.put()
                    self.redirect("/receitas/")

            form = IncomeForm(user, instance=instance)
            path = os.path.join(os.path.dirname(__file__), 'templates/income.html')
            self.response.out.write(template.render(path, {
                'form': form,
                'user': user,
                'logout_url': users.create_logout_url("/")
            }))
        else:
            self.redirect(users.create_login_url(self.request.uri))
예제 #2
0
    def _handler(self, post=False):
        user = users.get_current_user()
        if user:
            if post:
                form = IncomeForm(user, data=self.request.POST)
                if form.is_valid():
                    transaction = form.save(commit=False)
                    transaction.account = transaction.customer.account
                    transaction.user = user
                    transaction.income = True
                    transaction.put()
                    self.redirect(self.request.uri)
            else:
                form = IncomeForm(user)

            start, end = get_start_end_range(self.request)
            account_key = self.request.get('account', None)
            filter_form = FilterForm(user)
            filter_form.fields['start'].initial = start
            filter_form.fields['end'].initial = end
            filter_form.fields['account'].initial = account_key

            incomes = Transaction.all()\
                .filter('user ='******'income =', True)\
                .filter('date >=', start)\
                .filter('date <=', end)

            if account_key:
                incomes = incomes.filter('account =', Account.get(account_key))

            incomes = incomes.order('-date').fetch(1000)

            prefetch_refprops(incomes, Transaction.account, Transaction.customer)

            path = os.path.join(os.path.dirname(__file__), 'templates/incomes.html')
            self.response.out.write(template.render(path, {
                'start': start,
                'end': end,
                'filter_form': filter_form,
                'incomes': incomes,
                'form': form,
                'user': user,
                'js_data': calc_expenses_js_data(incomes),
                'total': sum([income.value for income in incomes]),
                'logout_url': users.create_logout_url("/")
            }))
        else:
            self.redirect(users.create_login_url(self.request.uri))