Commit a51149f8 authored by Amap's avatar Amap

Remanie le menu control

parent 3064b6f9
......@@ -51,7 +51,7 @@ class SelectLivraisonForm(ModelForm):
model = Livraison
class SelectOneLivraisonForm(ModelForm):
date = forms.ModelChoiceField(queryset=Livraison.objects.all(), label="Date de livraison")
date = forms.ModelChoiceField(queryset=Livraison.objects.all().order_by('date').reverse(), label="Date de livraison")
class Meta:
exclude = ['date', 'date_modif']
......
......@@ -7,10 +7,26 @@
{% block content %}
<form class="form" method="post">
<h2>Date de livraison concernée</h2>
{% csrf_token %}
{% if livraisonform %}
<h2>Date de livraison concernée</h2>
{% bootstrap_form livraisonform %}
{% else %}
<h2>Résumé</h2>
<table class="table table-striped">
<tr>
<th>Commandes pour la livraison</th>
<td>{{ livraison_commandes }}</td>
<th>Paniers pour la livraison</th>
<td>{{ livraison_paniers }}</td>
</tr>
</table>
<h2>Etat des livraisons</h2>
{{ controlform.management_form }}
<table class="table table-striped">
......@@ -45,7 +61,10 @@
</tr>
{% endfor %}
</table>
{% bootstrap_button "Modifier" button_type="submit" icon="star" %}
{% endif %}
{% bootstrap_button "Valider" button_type="submit" icon="star" %}
</form>
{% endblock %}
......@@ -23,6 +23,7 @@ urlpatterns = [
url(r'^add_sac/(?P<userid>[0-9]+)$', views.add_sac, name='add-sac'),
url(r'^del_sac/(?P<userid>[0-9]+)$', views.del_sac, name='del-sac'),
url(r'^control/$', views.control, name='control'),
url(r'^control/(?P<livraisonid>[0-9]+)$', views.control, name='control'),
url(r'^index_article/$', views.index_article, name='index-article'),
url(r'^history/(?P<object>paiement)/(?P<id>[0-9]+)$', views.history, name='history'),
url(r'^history/(?P<object>livraison)/(?P<id>[0-9]+)$', views.history, name='history'),
......
......@@ -319,19 +319,24 @@ def del_article(request):
@login_required
@permission_required('bureau')
def control(request):
livraison_select = Livraison.objects.order_by('date')[0]
livraison = SelectOneLivraisonForm(request.POST or None, initial = {'date': Livraison.objects.order_by('date')[0]})
def control(request, livraisonid=False):
if not livraisonid:
livraison = SelectOneLivraisonForm(request.POST or None)
if livraison.is_valid():
livraison_select = livraison.cleaned_data['date']
commande_list = Commande.objects.filter(date=livraison_select).order_by('date').reverse()
return redirect("/panier/control/" + str(livraison.cleaned_data['date'].id))
return render(request, 'panier/control.html', {'livraisonform': livraison})
else:
livraison_select = Livraison.objects.get(id=livraisonid)
commande_list = Commande.objects.filter(date=livraison_select).order_by('date')
controlform_set = modelformset_factory(Commande, fields=('livre',), extra=0)
controlform = controlform_set(request.POST or None, queryset=commande_list)
if controlform.is_valid():
controlform.save()
messages.success(request, "Livraisons enregistrees")
return redirect("/panier/")
return render(request, 'panier/control.html', {'livraisonform': livraison, 'controlform': controlform})
livraison_commandes = len(Commande.objects.filter(date=Livraison.objects.filter(date=livraison_select.date)))
livraison_paniers = sum(pan.coefficient_panier*pan.quantite for pan in Commande.objects.filter(date=Livraison.objects.filter(date=livraison_select.date)))
return render(request, 'panier/control.html', {'controlform': controlform, 'livraison_commandes': livraison_commandes, 'livraison_paniers': livraison_paniers})
@login_required
@permission_required('bureau')
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment