def products_change(request, product_id): data = get_user(request) name = request.POST.get('name', '').strip() billname = request.POST.get('billname', '').strip() prize = request.POST.get('prize', '').strip() product = get_object_or_404(Produit, pk=product_id) if prize != str(product.prix): # new prize, so we have to create a new product to keep statistics # and historics logging.info("[%s] new prize for [%s]: [%s] > [%s]" % (data['user'].username, product.nom, product.prix, prize)) old = product product = Produit() product.actif = old.actif old.actif = False old.save() product.prix = prize product.nom = old.nom product.nom_facture = old.nom_facture product.choix_cuisson = old.choix_cuisson product.choix_accompagnement = old.choix_accompagnement product.choix_sauce = old.choix_sauce product.categorie = old.categorie try: product.save() for c in old.categories_ok.distinct(): product.categories_ok.add(c) for p in old.produits_ok.distinct(): product.produits_ok.add(p) messages.add_message( request, messages.INFO, "Le prix d'un produit ne peut être modifié, en conséquence un nouveau produit a été créé et l'ancien a été désactivé." ) except: messages.add_message( request, messages.ERROR, "Les modifications n'ont pu être enregistrées.") logging.warning("[%s] save failed for product [%s]" % (data['user'].username, product.nom)) return HttpResponseRedirect('/carte/products/cat/%s/' % product.categorie.id) if name != product.nom: logging.info("[%s] new product name: [%s] > [%s]" % (data['user'].username, product.nom, name)) product.nom = name if billname != product.nom_facture: logging.info("[%s] new product bill name [%s]: [%s] > [%s]" % (data['user'].username, product.nom, product.nom_facture, billname)) product.nom_facture = billname try: product.save() except: messages.add_message(request, messages.ERROR, "Les modifications n'ont pu être enregistrées.") logging.warning("[%s] save failed for product [%s]" % (data['user'].username, product.nom)) return HttpResponseRedirect('/carte/products/cat/%s/' % product.categorie.id)
def products_new(request, cat_id): data = get_user(request) cat = get_object_or_404(Categorie, pk=cat_id) name = request.POST.get('name', '').strip() billname = request.POST.get('billname', '').strip() prize = request.POST.get('prize', '').strip() if name: if billname: if prize: product = Produit() product.categorie = cat product.nom = name product.nom_facture = billname product.prix = prize try: product.save() logging.info("[%s] new product [%s]" % (data['user'].username, name)) except: logging.warning("[%s] new product failed: [%s]" % (data['user'].username, name)) messages.add_message(request, messages.ERROR, "Le nouveau produit n'a pu être créé.") else: messages.add_message(request, messages.ERROR, "Vous devez définir un prix pour le nouveau produit.") else: messages.add_message(request, messages.ERROR, "Vous devez choisir un nom qui s'affichera sur la facture pour le nouveau produit.") else: messages.add_message(request, messages.ERROR, "Vous devez choisir un nom pour le nouveau produit.") return HttpResponseRedirect('/carte/products/cat/%s/' % cat_id)
def products_change(request, product_id): data = get_user(request) name = request.POST.get('name', '').strip() billname = request.POST.get('billname', '').strip() prize = request.POST.get('prize', '').strip() product = get_object_or_404(Produit, pk=product_id) if prize != str(product.prix): # new prize, so we have to create a new product to keep statistics # and historics logging.info("[%s] new prize for [%s]: [%s] > [%s]" % (data['user'].username, product.nom, product.prix, prize)) old = product product = Produit() product.actif = old.actif old.actif = False old.save() product.prix = prize product.nom = old.nom product.nom_facture = old.nom_facture product.choix_cuisson = old.choix_cuisson product.choix_accompagnement = old.choix_accompagnement product.choix_sauce = old.choix_sauce product.categorie = old.categorie try: product.save() for c in old.categories_ok.distinct(): product.categories_ok.add(c) for p in old.produits_ok.distinct(): product.produits_ok.add(p) messages.add_message(request, messages.INFO, "Le prix d'un produit ne peut être modifié, en conséquence un nouveau produit a été créé et l'ancien a été désactivé.") except: messages.add_message(request, messages.ERROR, "Les modifications n'ont pu être enregistrées.") logging.warning("[%s] save failed for product [%s]" % (data['user'].username, product.nom)) return HttpResponseRedirect('/carte/products/cat/%s/' % product.categorie.id) if name != product.nom: logging.info("[%s] new product name: [%s] > [%s]" % (data['user'].username, product.nom, name)) product.nom = name if billname != product.nom_facture: logging.info("[%s] new product bill name [%s]: [%s] > [%s]" % (data['user'].username, product.nom, product.nom_facture, billname)) product.nom_facture = billname try: product.save() except: messages.add_message(request, messages.ERROR, "Les modifications n'ont pu être enregistrées.") logging.warning("[%s] save failed for product [%s]" % (data['user'].username, product.nom)) return HttpResponseRedirect('/carte/products/cat/%s/' % product.categorie.id)
def products_new(request, cat_id): data = get_user(request) cat = get_object_or_404(Categorie, pk=cat_id) name = request.POST.get('name', '').strip() billname = request.POST.get('billname', '').strip() prize = request.POST.get('prize', '').strip() if name: if billname: if prize: product = Produit() product.categorie = cat product.nom = name product.nom_facture = billname product.prix = prize try: product.save() logging.info("[%s] new product [%s]" % (data['user'].username, name)) except: logging.warning("[%s] new product failed: [%s]" % (data['user'].username, name)) messages.add_message( request, messages.ERROR, "Le nouveau produit n'a pu être créé.") else: messages.add_message( request, messages.ERROR, "Vous devez définir un prix pour le nouveau produit.") else: messages.add_message( request, messages.ERROR, "Vous devez choisir un nom qui s'affichera sur la facture pour le nouveau produit." ) else: messages.add_message( request, messages.ERROR, "Vous devez choisir un nom pour le nouveau produit.") return HttpResponseRedirect('/carte/products/cat/%s/' % cat_id)