3
0
Fork 0
mirror of https://github.com/nanoy42/coope synced 2024-11-22 11:23:11 +00:00

Merge branch 'cancel_reload' into dev

Close #23
This commit is contained in:
Yoann Pétri 2018-12-24 01:32:22 +01:00
commit 5683f86996
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-positive-autocomplete', views.KegPositiveAutocomplete.as_view(), name="kegs-positive-autocomplete"),
path('kegs-active-autocomplete', views.KegActiveAutocomplete.as_view(), name="kegs-active-autocomplete"), path('kegs-active-autocomplete', views.KegActiveAutocomplete.as_view(), name="kegs-active-autocomplete"),
path('menus-autcomplete', views.MenusAutocomplete.as_view(), name="menus-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.views.decorators.csrf import csrf_exempt
from django.contrib.auth.decorators import login_required, permission_required from django.contrib.auth.decorators import login_required, permission_required
from django.utils import timezone from django.utils import timezone
from django.http import HttpResponseRedirect
from coopeV3.acl import active_required, acl_or from coopeV3.acl import active_required, acl_or
@ -14,7 +15,7 @@ from dal import autocomplete
from decimal import * from decimal import *
from .forms import ReloadForm, RefundForm, ProductForm, KegForm, MenuForm, GestionForm, SearchMenuForm, SearchProductForm, SelectPositiveKegForm, SelectActiveKegForm, PinteForm 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 from preferences.models import PaymentMethod, GeneralPreferences
@active_required @active_required
@ -205,6 +206,24 @@ def reload(request):
messages.error(request, "Le rechargement a échoué") messages.error(request, "Le rechargement a échoué")
return redirect(reverse('gestion:manage')) 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 @active_required
@login_required @login_required
@permission_required('gestion.add_refund') @permission_required('gestion.add_refund')

View file

@ -20,14 +20,20 @@
<th>Montant</th> <th>Montant</th>
<th>Type de Rechargement</th> <th>Type de Rechargement</th>
<th>Date</th> <th>Date</th>
{% if perms.gestion.delete_reload %}
<th>Annuler</th>
{% endif %}
</tr> </tr>
</thead> </thead>
<tbody id="bodyRechargement"> <tbody id="bodyRechargement">
{% for reload in reloads %} {% for reload in reloads %}
<tr> <tr>
<th>{{reload.amount}}€</th> <td>{{reload.amount}}€</td>
<th>{{reload.PaymentMethod}}</th> <td>{{reload.PaymentMethod}}</td>
<th>{{reload.date}}</th> <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> </tr>
{% endfor %} {% endfor %}
</tbody> </tbody>

View file

@ -209,6 +209,9 @@
<th>Montant</th> <th>Montant</th>
<th>Type de Rechargement</th> <th>Type de Rechargement</th>
<th>Date</th> <th>Date</th>
{% if perms.gestion.delete_reload %}
<th>Annuler</th>
{% endif %}
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
@ -217,6 +220,9 @@
<td>{{reload.amount}} €</td> <td>{{reload.amount}} €</td>
<td>{{reload.PaymentMethod}}</td> <td>{{reload.PaymentMethod}}</td>
<td>{{reload.date}}</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> </tr>
{% endfor %} {% endfor %}
</tbody> </tbody>