from django.shortcuts import render
from applipizza.models import Pizza, Ingredient, Composition
from applipizza.forms import IngredientForm, CompositionForm

# Create your views here.
def pizzas(request):
    pizzas = Pizza.objects.all()
    return render(
        request,
        'applipizza/pizzas.html',
        {'pizzas': pizzas}
    )


def pizza(request, id):
    formulaire = CompositionForm()

    pizza = Pizza.objects.get(id=id)
    composition = Composition.objects.filter(pizza_id=id)
    compositionArray = []
    for c in composition:
        compositionArray.append([Ingredient.objects.get(id=c.ingredient_id).nom, c.quantite])
    pizza.composition = compositionArray

    return render(
        request,
        'applipizza/pizza.html',
        {'pizza': pizza, 'form': formulaire}
    )


def formulaireCreationIngredient(request):
    formulaire = IngredientForm()

    return render(
        request,
        'applipizza/formulaireCreationIngredient.html',
        {"form": formulaire}
    )

def creerIngredient(request):
    form = IngredientForm(request.POST)
    if form.is_valid():
        nomIngredient = form.cleaned_data['nom']
        ingredient = Ingredient(nom=nomIngredient)
        ingredient.save()

        formulaire = IngredientForm()

        return render(
            request,
            'applipizza/formulaireCreationIngredient.html',
            {"form": IngredientForm(), "status": "success", "nomIngredient": nomIngredient}
        )
    else:
        return render(
            request,
            'applipizza/formulaireCreationIngredient.html',
            {"form": form, "status": "error"}
        )

def ajouterIngredientDansPizza(request, id):
    pizza = Pizza.objects.get(id=id)
    composition = Composition.objects.filter(pizza_id=id)
    compositionArray = []
    for c in composition:
        compositionArray.append([Ingredient.objects.get(id=c.ingredient_id).nom, c.quantite])
    pizza.composition = compositionArray

    form = CompositionForm(request.POST)
    if form.is_valid():
        ingredient = form.cleaned_data['ingredient']
        quantite = form.cleaned_data['quantite']
        composition = Composition(ingredient=ingredient, quantite=quantite, pizza=pizza)
        composition.save()

        return render(
            request,
            'applipizza/pizza.html',
            {"pizza": pizza, "status": "success"}
        )