61 lines
2.0 KiB
Python
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)
|