Commit 1de735a9 authored by Amap's avatar Amap

Ajout de la possibilité pour les membres du bureau d'ajouter une

commande a un utilisateur pour toute livraison jusqu'a deux semaine
avant.
Modification de la redirection aprés la validation de récuperation d'un
panier. Retour sur la même page.
parent 4144377d
...@@ -4,13 +4,17 @@ from django.forms import ModelForm, Form ...@@ -4,13 +4,17 @@ from django.forms import ModelForm, Form
from django import forms from django import forms
from django.core.validators import MinValueValidator from django.core.validators import MinValueValidator
from .models import Panier, Paiement, Commande, Credit, Livraison from .models import Panier, Paiement, Commande, Credit, Livraison
from dateutil.relativedelta import relativedelta
from django.utils import timezone from django.utils import timezone
class NewCommandeForm(ModelForm): class NewCommandeForm(ModelForm):
def __init__(self,*args,**kwargs): def __init__(self,*args,**kwargs):
is_bureau=kwargs.pop('is_bureau')
super (NewCommandeForm,self ).__init__(*args,**kwargs) # populates the post super (NewCommandeForm,self ).__init__(*args,**kwargs) # populates the post
self.fields['date'].queryset = Livraison.objects.filter(date__gt=timezone.now()) if is_bureau:
self.fields['date'].queryset = Livraison.objects.filter(date__gt=(timezone.now()+relativedelta(weeks=-2)))
else:
self.fields['date'].queryset = Livraison.objects.filter(date__gt=timezone.now())
class Meta: class Meta:
model = Commande model = Commande
......
...@@ -47,7 +47,7 @@ def new_commande(request, userid): ...@@ -47,7 +47,7 @@ def new_commande(request, userid):
messages.error(request, "Vous ne pouvez pas commander pour quelqu'un d'autre !") messages.error(request, "Vous ne pouvez pas commander pour quelqu'un d'autre !")
return redirect("/users/profil/" + str(request.user.id)) return redirect("/users/profil/" + str(request.user.id))
commande = Commande(user=user) commande = Commande(user=user)
commande_form = NewCommandeForm(request.POST or None, instance=commande) commande_form = NewCommandeForm(request.POST or None, instance=commande, is_bureau=request.user.has_perms(('bureau',)))
article_form = SelectArticleForm(request.POST or None) article_form = SelectArticleForm(request.POST or None)
if commande_form.is_valid() and article_form.is_valid(): if commande_form.is_valid() and article_form.is_valid():
commande = commande_form.save(commit=False) commande = commande_form.save(commit=False)
...@@ -338,7 +338,7 @@ def control(request, livraisonid=False): ...@@ -338,7 +338,7 @@ def control(request, livraisonid=False):
reversion.set_user(request.user) reversion.set_user(request.user)
reversion.set_comment("Etat de livraison") reversion.set_comment("Etat de livraison")
messages.success(request, "Livraisons enregistrees") messages.success(request, "Livraisons enregistrees")
return redirect("/panier/") return redirect("/panier/control/")
livraison_commandes = len(Commande.objects.filter(date=Livraison.objects.filter(date=livraison_select.date))) 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))) 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}) return render(request, 'panier/control.html', {'controlform': controlform, 'livraison_commandes': livraison_commandes, 'livraison_paniers': livraison_paniers})
......
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