예제 #1
0
파일: views.py 프로젝트: tlam/spendalot
def descriptions(request):
    keyword = request.GET.get('term', '')
    if keyword:
        expenses = Expense.cached().filter(description__icontains=keyword).order_by('description').distinct('description')
        data = [expense.description for expense in expenses]
    else:
        data = []

    return HttpResponse(json.dumps(data), content_type='application/javascript')
예제 #2
0
파일: views.py 프로젝트: tlam/spendalot
def category(request):
    description = request.GET.get('description', '')
    data = {
        'category_id': 0,
    }
    if description:
        expenses = Expense.cached().filter(description=description)
        if expenses:
            data['category_id'] = expenses[0].category.id

    return HttpResponse(json.dumps(data), content_type='application/javascript')
예제 #3
0
파일: views.py 프로젝트: tlam/spendalot
def category(request):
    description = request.GET.get('description', '')
    data = {
        'category_id': 0,
    }
    if description:
        expenses = Expense.cached().filter(description=description)
        if expenses:
            data['category_id'] = expenses[0].category.id

    return HttpResponse(json.dumps(data),
                        content_type='application/javascript')
예제 #4
0
파일: views.py 프로젝트: tlam/spendalot
def descriptions(request):
    keyword = request.GET.get('term', '')
    if keyword:
        expenses = Expense.cached().filter(
            description__icontains=keyword).order_by('description').distinct(
                'description')
        data = [expense.description for expense in expenses]
    else:
        data = []

    return HttpResponse(json.dumps(data),
                        content_type='application/javascript')
예제 #5
0
파일: views.py 프로젝트: tlam/spendalot
def trends(request):
    context = {'expenses': []}
    if request.method == 'POST':
        form = TrendsForm(request.POST)
        if form.is_valid():
            description = form.cleaned_data['description']
            expenses = Expense.cached().filter(description__icontains=description).order_by('-date')
            context['sum'] = expenses.aggregate(expenses_sum=Sum('amount')).get('expenses_sum', Decimal(0))
            context['expenses'] = expenses
    else:
        form = TrendsForm()

    context['form'] = form

    return render(
        request,
        'expenses/trends.html',
        context,
    )
예제 #6
0
파일: views.py 프로젝트: tlam/spendalot
def trends(request):
    context = {'expenses': []}
    if request.method == 'POST':
        form = TrendsForm(request.POST)
        if form.is_valid():
            description = form.cleaned_data['description']
            expenses = Expense.cached().filter(
                description__icontains=description).order_by('-date')
            context['sum'] = expenses.aggregate(
                expenses_sum=Sum('amount')).get('expenses_sum', Decimal(0))
            context['expenses'] = expenses
    else:
        form = TrendsForm()

    context['form'] = form

    return render(
        request,
        'expenses/trends.html',
        context,
    )
예제 #7
0
파일: tests.py 프로젝트: tlam/spendalot
 def test_cached(self):
     self.assertEqual(Expense.cached().count(), 1)
예제 #8
0
파일: tests.py 프로젝트: tlam/spendalot
 def test_cached(self):
     self.assertEqual(Expense.cached().count(), 1)