ComptaInde/compta/views.py

61 lines
2.0 KiB
Python

from django.shortcuts import render
from django.template import RequestContext
from .models import Transaction, DescriptionType, TvaType
# Create your views here.
def transaction_listing(request, year):
tmp = Transaction.objects.filter(date__year = year)
sumHTvap = 0
sumHTvam = 0
sumTvap = 0
sumTvam = 0
sumDeductible = 0
nb_transaction = tmp.count()
for line in tmp:
if line.amountHTva > 0:
sumHTvap += line.amountHTva
else:
sumHTvam += line.amountHTva
if line.amountTva > 0:
sumTvap += line.amountTva
else:
sumTvam += line.amountTva
sumDeductible += line.amountDeductible
benefit = sumHTvap + sumDeductible
context = { 'year': year, 'sumHTvap' : sumHTvap, 'sumHTvam' : sumHTvam, 'sumTvap' : sumTvap,
'sumTvam' : sumTvam, 'sumDeductible' : sumDeductible, 'benefit' : benefit,
'nb_transaction': nb_transaction,
'Transactions': Transaction.objects.filter(date__year = year).order_by('date') }
# 3) Faire le calcul ici en "static" ou en jquery dans ma vue, en "dynamique" (suivant les cases cochées ou pas, ...)
return render(request, 'compta/transaction/listing.html', context)
def transaction_detail(request, transactionid):
"""
Renvoie les détails d'une transaction dont l'ID est passé en paramètre.
"""
transaction = Transaction.objects.get(pk=transactionid)
context = {'transaction': transaction}
return render(request, 'compta/transaction/detail.html', context)
def year_listing(request):
"""
Liste les années de comptabilité présentes.
"""
year_list = DescriptionType.objects.values('year').distinct()
year_count = []
for year in year_list:
year_count.append((year, Transaction.objects.filter(date__year = year['year']).count()))
context = { 'objects_year': year_count }
return render(request, 'year_listing.html', context)