Copy the kpsul_checkout_data view from master

This commit is contained in:
Martin Pépin 2017-10-30 14:56:45 +01:00
parent 18dc063ae6
commit 30fcd1217a

View file

@ -864,30 +864,29 @@ def kpsul_checkout_data(request):
if not pk: if not pk:
pk = 0 pk = 0
checkout = get_object_or_404(Checkout, pk=pk) data = (
data = { Checkout.objects
'id': checkout.id, 'name': checkout.name, 'balance': checkout.balance, .annotate(
'valid_from': checkout.valid_from, 'valid_to': checkout.valid_to last_statement_by_first_name=F('statements__by__profile__user__first_name'),
} last_statement_by_last_name=F('statements__by__profile__user__last_name'),
last_statement_by_trigramme=F('statements__by__trigramme'),
try: last_statement_balance=F('statements__balance_new'),
last_statement = ( last_statement_at=F('statements__at'))
CheckoutStatement .select_related(
.objects 'statements'
.select_related('by', 'by__profile', 'by__profile__user') 'statements__by',
.filter(checkout=checkout) 'statements__by__profile__user')
.latest('at') .filter(pk=pk)
) .order_by('statements__at')
data['last_statement_balance'] = last_statement.balance_new .values(
data['last_statement_at'] = last_statement.at 'id', 'name', 'balance', 'valid_from', 'valid_to',
data['last_statement_by_trigramme'] = last_statement.by.trigramme 'last_statement_balance', 'last_statement_at',
data['last_statement_by_last_name'] = \ 'last_statement_by_trigramme', 'last_statement_by_last_name',
last_statement.by.profile.user.last_name 'last_statement_by_first_name')
data['last_statement_by_first_name'] = \ .last()
last_statement.by.profile.user.first_name )
except CheckoutStatement.DoesNotExist: if data is None:
pass raise Http404
return JsonResponse(data) return JsonResponse(data)