Browse Source

Liste des pintes

pull/4/head
Yoann Piétri 7 years ago
parent
commit
8d26381f6d
  1. 4
      gestion/templates/gestion/products_index.html
  2. 4
      gestion/urls.py
  3. 25
      gestion/views.py

4
gestion/templates/gestion/products_index.html

@ -66,13 +66,13 @@
Actions possibles :
<ul>
{% if perms.gestion.add_pinte %}
<li><a href="{% url 'gestion:createPintes' %}">Créer une ou plusieurs pintes</a></li>
<li><a href="{% url 'gestion:addPintes' %}">Créer une ou plusieurs pintes</a></li>
{% endif %}
{% if perms.gestion.change_pinte %}
<li><a href="{% url 'gestion:releasePintes' %}">Libérer des pintes</a></li>
{% endif %}
{% if perms.gestion.view_pinte %}
<li><a href="{% url 'gestion:menusList' %}">Lister les pintes</a></li>
<li><a href="{% url 'gestion:pintesList' %}">Lister les pintes</a></li>
{% endif %}
</ul>
</section>

4
gestion/urls.py

@ -33,8 +33,10 @@ urlpatterns = [
path('cancelConsumption/<int:pk>', views.cancel_consumption, name="cancelConsumption"),
path('cancelMenu/<int:pk>', views.cancel_menu, name="cancelMenu"),
path('productProfile/<int:pk>', views.productProfile, name="productProfile"),
path('createPintes', views.create_pintes, name="createPintes"),
path('addPintes', views.add_pintes, name="addPintes"),
path('releasePintes', views.release_pintes, name="releasePintes"),
path('pintesList', views.pintes_list, name="pintesList"),
path('release/<int:pinte_pk>', views.release, name="release"),
path('products-autocomplete', views.ProductsAutocomplete.as_view(), name="products-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"),

25
gestion/views.py

@ -914,10 +914,23 @@ def allocate(pinte_pk, user):
except Pinte.DoesNotExist:
return False
@active_required
@login_required
@permission_required('gestion.change_pinte')
def release(request, pinte_pk):
"""
View to release a pinte
"""
if allocate(pinte_pk, None):
messages.success(request, "La pinte a bien été libérée")
else:
messages.error(request, "Impossible de libérer la pinte")
return redirect(reverse('gestion:pintesList'))
@active_required
@login_required
@permission_required('gestion.add_pinte')
def create_pintes(request):
def add_pintes(request):
form = PinteForm(request.POST or None)
if form.is_valid():
ids = form.cleaned_data['ids']
@ -952,4 +965,12 @@ def release_pintes(request):
i += 1
messages.success(request, str(i) + " pinte(s) a(ont) été libérée(s)")
return redirect(reverse('gestion:productsIndex'))
return render(request, "form.html", {"form": form, "form_title": "Libérer des pintes", "form_button": "Libérer"})
return render(request, "form.html", {"form": form, "form_title": "Libérer des pintes", "form_button": "Libérer"})
@active_required
@login_required
@permission_required('gestion.view_pinte')
def pintes_list(request):
free_pintes = Pinte.objects.filter(current_owner=None)
taken_pintes = Pinte.objects.exclude(current_owner=None)
return render(request, "gestion/pintes_list.html", {"free_pintes": free_pintes, "taken_pintes": taken_pintes})
Loading…
Cancel
Save