Exemplo n.º 1
0
def new(request):
    form = ExpenseForm(request.POST or None , initial = { 'year' : date.today().year , 'month' : date.today().month })
    
    type_id = 0
    if( request.POST ):
        type_id = int( request.POST.get('type') or 0 )
    form.fields['subtype'].queryset = ExpenseType.objects.filter( father_expense_type = type_id )
    if(form.is_valid()):
        expense = form.save(commit=False)
        expense.user = UserUtil.get_current_user()
        expense.year = expense.date_expense.year
        expense.month = expense.date_expense.month
        expense.save()
        return HttpResponseRedirect( "{}?month={}&year={}".format( reverse("search_expenses"),  expense.month , expense.year ) )
    return render(request ,"expenses/form.html" , { "form" : form } ) 
Exemplo n.º 2
0
    def _handler(self, post=False):
        user = users.get_current_user()
        if user:
            if post:
                form = ExpenseForm(user, data=self.request.POST)
                if form.is_valid():
                    transaction = form.save(commit=False)
                    transaction.user = user
                    transaction.put()
                    self.redirect(self.request.uri)
            else:
                form = ExpenseForm(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

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

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

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

            prefetch_refprops(expenses, Transaction.account)

            path = os.path.join(os.path.dirname(__file__), 'templates/expenses.html')
            self.response.out.write(template.render(path, {
                'start': start,
                'end': end,
                'filter_form': filter_form,
                'expenses': expenses,
                'form': form,
                'user': user,
                'js_data': calc_expenses_js_data(expenses),
                'total': sum([expense.value for expense in expenses]),
                'logout_url': users.create_logout_url("/")
            }))
        else:
            self.redirect(users.create_login_url(self.request.uri))
Exemplo n.º 3
0
def edit(request , id):    
    user = UserUtil.get_current_user()
    obj = Expense.objects.get(pk=id, user = user )
    form = ExpenseForm(request.POST or None, instance = obj )
    
    type_id = obj.type.pk  
    if( request.POST ):
        type_id = int( request.POST.get('type') or 0 )
    
    form.fields['subtype'].queryset = ExpenseType.objects.filter( father_expense_type = type_id )
    if form.is_valid():
        expense = form.save(commit=False)
        expense.year = expense.date_expense.year
        expense.month = expense.date_expense.month
        form.save()
        return HttpResponseRedirect( "{}?month={}&year={}".format( reverse("search_expenses"),  expense.month , expense.year ) )
    return render(request ,"expenses/form.html" , { "form" : form } ) 
Exemplo n.º 4
0
def edit(request, id):
    user = UserUtil.get_current_user()
    obj = Expense.objects.get(pk=id, user=user)
    form = ExpenseForm(request.POST or None, instance=obj)

    type_id = obj.type.pk
    if (request.POST):
        type_id = int(request.POST.get('type') or 0)

    form.fields['subtype'].queryset = ExpenseType.objects.filter(
        father_expense_type=type_id)
    if form.is_valid():
        expense = form.save(commit=False)
        expense.year = expense.date_expense.year
        expense.month = expense.date_expense.month
        form.save()
        return HttpResponseRedirect("{}?month={}&year={}".format(
            reverse("search_expenses"), expense.month, expense.year))
    return render(request, "expenses/form.html", {"form": form})
Exemplo n.º 5
0
def new(request):
    form = ExpenseForm(request.POST or None,
                       initial={
                           'year': date.today().year,
                           'month': date.today().month
                       })

    type_id = 0
    if (request.POST):
        type_id = int(request.POST.get('type') or 0)
    form.fields['subtype'].queryset = ExpenseType.objects.filter(
        father_expense_type=type_id)
    if (form.is_valid()):
        expense = form.save(commit=False)
        expense.user = UserUtil.get_current_user()
        expense.year = expense.date_expense.year
        expense.month = expense.date_expense.month
        expense.save()
        return HttpResponseRedirect("{}?month={}&year={}".format(
            reverse("search_expenses"), expense.month, expense.year))
    return render(request, "expenses/form.html", {"form": form})
Exemplo n.º 6
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 = ExpenseForm(user, instance=instance, data=self.request.POST)
                if form.is_valid():
                    form.save()
                    self.redirect("/despesas/")

            form = ExpenseForm(user, instance=instance)
            path = os.path.join(os.path.dirname(__file__), 'templates/expense.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))