3
0
Fork 0
mirror of https://github.com/nanoy42/coope synced 2024-12-23 15:33:45 +00:00

Annulation de rechargement

This commit is contained in:
Yoann Pétri 2018-12-24 01:30:00 +01:00
parent db2c82cfe7
commit b0d3084d4b
4 changed files with 36 additions and 4 deletions

View file

@ -43,4 +43,5 @@ urlpatterns = [
path('kegs-positive-autocomplete', views.KegPositiveAutocomplete.as_view(), name="kegs-positive-autocomplete"),
path('kegs-active-autocomplete', views.KegActiveAutocomplete.as_view(), name="kegs-active-autocomplete"),
path('menus-autcomplete', views.MenusAutocomplete.as_view(), name="menus-autocomplete"),
path('cancelReload/<int:pk>', views.cancel_reload, name="cancelReload"),
]

View file

@ -6,6 +6,7 @@ from django.contrib.auth.models import User
from django.views.decorators.csrf import csrf_exempt
from django.contrib.auth.decorators import login_required, permission_required
from django.utils import timezone
from django.http import HttpResponseRedirect
from coopeV3.acl import active_required, acl_or
@ -14,7 +15,7 @@ from dal import autocomplete
from decimal import *
from .forms import ReloadForm, RefundForm, ProductForm, KegForm, MenuForm, GestionForm, SearchMenuForm, SearchProductForm, SelectPositiveKegForm, SelectActiveKegForm, PinteForm
from .models import Product, Menu, Keg, ConsumptionHistory, KegHistory, Consumption, MenuHistory, Pinte
from .models import Product, Menu, Keg, ConsumptionHistory, KegHistory, Consumption, MenuHistory, Pinte, Reload
from preferences.models import PaymentMethod, GeneralPreferences
@active_required
@ -205,6 +206,24 @@ def reload(request):
messages.error(request, "Le rechargement a échoué")
return redirect(reverse('gestion:manage'))
@active_required
@login_required
@permission_required('gestion.delete_reload')
def cancel_reload(request, pk):
"""
Cancel a reload
"""
reload_entry = get_object_or_404(Reload, pk=pk)
if reload_entry.customer.profile.balance >= reload_entry.amount:
reload_entry.customer.profile.credit -= reload_entry.amount
reload_entry.customer.save()
reload_entry.delete()
messages.success(request, "Le rechargement a bien été annulé.")
else:
messages.error(request, "Impossible d'annuler le rechargement. Le solde deviendrait négatif.")
return HttpResponseRedirect(request.META.get('HTTP_REFERER', '/'))
@active_required
@login_required
@permission_required('gestion.add_refund')

View file

@ -20,14 +20,20 @@
<th>Montant</th>
<th>Type de Rechargement</th>
<th>Date</th>
{% if perms.gestion.delete_reload %}
<th>Annuler</th>
{% endif %}
</tr>
</thead>
<tbody id="bodyRechargement">
{% for reload in reloads %}
<tr>
<th>{{reload.amount}}€</th>
<th>{{reload.PaymentMethod}}</th>
<th>{{reload.date}}</th>
<td>{{reload.amount}}€</td>
<td>{{reload.PaymentMethod}}</td>
<td>{{reload.date}}</td>
{% if perms.gestion.delete_reload %}
<td><a href="{% url 'gestion:cancelReload' reload.pk %}" class="button small">Annuler</a></td>
{% endif %}
</tr>
{% endfor %}
</tbody>

View file

@ -209,6 +209,9 @@
<th>Montant</th>
<th>Type de Rechargement</th>
<th>Date</th>
{% if perms.gestion.delete_reload %}
<th>Annuler</th>
{% endif %}
</tr>
</thead>
<tbody>
@ -217,6 +220,9 @@
<td>{{reload.amount}} €</td>
<td>{{reload.PaymentMethod}}</td>
<td>{{reload.date}}</td>
{% if perms.gestion.delete_reload %}
<th><a href="{% url 'gestion:cancelReload' reload.pk %}" class="button small">Annuler</a></th>
{% endif %}
</tr>
{% endfor %}
</tbody>