mirror of
https://gitlab2.federez.net/re2o/re2o
synced 2024-11-22 11:23:10 +00:00
Autorise le paiement de cotisation directement en ligne (sans passer par le solde)
This commit is contained in:
parent
77839fa448
commit
6e416eacfd
2 changed files with 24 additions and 2 deletions
|
@ -25,13 +25,24 @@ def accept_payment(request, factureid):
|
||||||
"""
|
"""
|
||||||
The view called when an online payment has been accepted.
|
The view called when an online payment has been accepted.
|
||||||
"""
|
"""
|
||||||
facture = get_object_or_404(Facture, id=factureid)
|
invoice = get_object_or_404(Facture, id=factureid)
|
||||||
messages.success(
|
messages.success(
|
||||||
request,
|
request,
|
||||||
_("The payment of %(amount)s € has been accepted.") % {
|
_("The payment of %(amount)s € has been accepted.") % {
|
||||||
'amount': facture.prix()
|
'amount': invoice.prix()
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
# In case a cotisation was bought, inform the user, the
|
||||||
|
# cotisation time has been extended too
|
||||||
|
if any(purchase.type_cotisation for purchase in invoice.vente_set.all()):
|
||||||
|
messages.success(
|
||||||
|
request,
|
||||||
|
_("The cotisation of %(member_name)s has been \
|
||||||
|
extended to %(end_date)s.") % {
|
||||||
|
'member_name': request.user.pseudo,
|
||||||
|
'end_date': request.user.end_adhesion()
|
||||||
|
}
|
||||||
|
)
|
||||||
return redirect(reverse(
|
return redirect(reverse(
|
||||||
'users:profil',
|
'users:profil',
|
||||||
kwargs={'userid': request.user.id}
|
kwargs={'userid': request.user.id}
|
||||||
|
|
|
@ -141,9 +141,14 @@ def new_facture(request, user, userid):
|
||||||
'users:profil',
|
'users:profil',
|
||||||
kwargs={'userid': userid}
|
kwargs={'userid': userid}
|
||||||
))
|
))
|
||||||
|
is_online_payment = new_invoice_instance.paiement == (
|
||||||
|
Paiement.objects.get_or_create(
|
||||||
|
moyen='Rechargement en ligne')[0])
|
||||||
|
new_invoice_instance.valid = is_online_payment
|
||||||
# Saving the invoice
|
# Saving the invoice
|
||||||
new_invoice_instance.save()
|
new_invoice_instance.save()
|
||||||
|
|
||||||
|
|
||||||
# Building a purchase for each article sold
|
# Building a purchase for each article sold
|
||||||
for art_item in articles:
|
for art_item in articles:
|
||||||
if art_item.cleaned_data:
|
if art_item.cleaned_data:
|
||||||
|
@ -159,6 +164,12 @@ def new_facture(request, user, userid):
|
||||||
)
|
)
|
||||||
new_purchase.save()
|
new_purchase.save()
|
||||||
|
|
||||||
|
if is_online_payment:
|
||||||
|
content = online_payment.PAYMENT_SYSTEM[
|
||||||
|
AssoOption.get_cached_value('payment')
|
||||||
|
](invoice, request)
|
||||||
|
return render(request, 'cotisations/payment.html', content)
|
||||||
|
|
||||||
# In case a cotisation was bought, inform the user, the
|
# In case a cotisation was bought, inform the user, the
|
||||||
# cotisation time has been extended too
|
# cotisation time has been extended too
|
||||||
if any(art_item.cleaned_data['article'].type_cotisation
|
if any(art_item.cleaned_data['article'].type_cotisation
|
||||||
|
|
Loading…
Reference in a new issue