Commit a36c10f9 authored by Amap's avatar Amap

Modif en context manager

parent a51149f8
...@@ -119,57 +119,6 @@ def del_commande(request, commandeid): ...@@ -119,57 +119,6 @@ def del_commande(request, commandeid):
return redirect("/panier/") return redirect("/panier/")
return form({'objet': commande, 'objet_name': 'commande'}, 'panier/delete.html', request) return form({'objet': commande, 'objet_name': 'commande'}, 'panier/delete.html', request)
@login_required
@permission_required('bureau')
def add_livraison(request):
livraison = LivraisonForm(request.POST or None)
if livraison.is_valid():
with transaction.atomic(), reversion.create_revision():
livraison.save()
reversion.set_user(request.user)
reversion.set_comment("Creation")
messages.success(request, "La date de livraison a ete ajoutee")
return redirect("/panier/index_livraison/")
return form({'panierform': livraison}, 'panier/panier.html', request)
@login_required
@permission_required('bureau')
def edit_livraison(request, livraisonid):
try:
livraison_instance = Livraison.objects.get(pk=livraisonid)
except Livraison.DoesNotExist:
messages.error(request, u"Entrée inexistante" )
return redirect("/panier/")
livraison = LivraisonForm(request.POST or None, instance=livraison_instance)
if livraison.is_valid():
with transaction.atomic(), reversion.create_revision():
livraison.save()
reversion.set_user(request.user)
reversion.set_comment("Champs modifié(s) : %s" % ', '.join(field for field in livraison.changed_data))
messages.success(request, "Date modifiee")
return redirect("/panier/index_livraison/")
return form({'panierform': livraison}, 'panier/panier.html', request)
@login_required
@permission_required('bureau')
def del_livraison(request):
livraison = SelectLivraisonForm(request.POST or None)
if livraison.is_valid():
livraison_dels = livraison.cleaned_data['date']
for livraison_del in livraison_dels:
try:
with transaction.atomic(), reversion.create_revision():
livraison_del.delete()
reversion.set_comment("Destruction")
messages.success(request, "La date de livraison a ete supprimee")
except ProtectedError:
messages.error(
request,
"La livraison est affectee a au moins une commande, \
vous ne pouvez pas le supprimer" % livraison_del)
return redirect("/panier/index_livraison/")
return form({'panierform': livraison}, 'panier/panier.html', request)
@login_required @login_required
@permission_required('bureau') @permission_required('bureau')
def add_paiement(request): def add_paiement(request):
...@@ -331,7 +280,10 @@ def control(request, livraisonid=False): ...@@ -331,7 +280,10 @@ def control(request, livraisonid=False):
controlform_set = modelformset_factory(Commande, fields=('livre',), extra=0) controlform_set = modelformset_factory(Commande, fields=('livre',), extra=0)
controlform = controlform_set(request.POST or None, queryset=commande_list) controlform = controlform_set(request.POST or None, queryset=commande_list)
if controlform.is_valid(): if controlform.is_valid():
controlform.save() with transaction.atomic(), reversion.create_revision():
controlform.save()
reversion.set_user(request.user)
reversion.set_comment("Etat de livraison")
messages.success(request, "Livraisons enregistrees") messages.success(request, "Livraisons enregistrees")
return redirect("/panier/") return redirect("/panier/")
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)))
...@@ -350,8 +302,11 @@ def add_sac(request, userid): ...@@ -350,8 +302,11 @@ def add_sac(request, userid):
except Panier.DoesNotExist: except Panier.DoesNotExist:
messages.error(request, u"Merci de créer une entrée Sac" ) messages.error(request, u"Merci de créer une entrée Sac" )
return HttpResponseRedirect(request.META.get('HTTP_REFERER')) return HttpResponseRedirect(request.META.get('HTTP_REFERER'))
user_instance.sac_consignes += 1 with transaction.atomic(), reversion.create_revision():
user_instance.save() user_instance.sac_consignes += 1
user_instance.save()
reversion.set_user(request.user)
reversion.set_comment("Ajout sac")
messages.success(request, u"Sac ajouté à %s (dispose actuellement de %s sacs)" % (user_instance.get_full_name(), user_instance.sac_consignes) ) messages.success(request, u"Sac ajouté à %s (dispose actuellement de %s sacs)" % (user_instance.get_full_name(), user_instance.sac_consignes) )
return HttpResponseRedirect(request.META.get('HTTP_REFERER')) return HttpResponseRedirect(request.META.get('HTTP_REFERER'))
...@@ -368,8 +323,11 @@ def del_sac(request, userid): ...@@ -368,8 +323,11 @@ def del_sac(request, userid):
messages.error(request, u"Merci de créer une entrée Sac" ) messages.error(request, u"Merci de créer une entrée Sac" )
return HttpResponseRedirect(request.META.get('HTTP_REFERER')) return HttpResponseRedirect(request.META.get('HTTP_REFERER'))
if user_instance.sac_consignes > 0: if user_instance.sac_consignes > 0:
user_instance.sac_consignes -= 1 with transaction.atomic(), reversion.create_revision():
user_instance.save() user_instance.sac_consignes -= 1
user_instance.save()
reversion.set_user(request.user)
reversion.set_comment("Retire sac")
messages.success(request, u"Sac retiré à %s (dispose actuellement de %s sacs)" % (user_instance.get_full_name(), user_instance.sac_consignes) ) messages.success(request, u"Sac retiré à %s (dispose actuellement de %s sacs)" % (user_instance.get_full_name(), user_instance.sac_consignes) )
else: else:
messages.error(request, u"Nombre de sac nul !" ) messages.error(request, u"Nombre de sac nul !" )
......
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