diff --git a/webpizza/applipizza/templates/applipizza/formulaireCreationIngredient.html b/webpizza/applipizza/templates/applipizza/formulaireCreationIngredient.html index bafed8c795d689efc47becabac45072424d3a3f2..a9d877b9e98f680ef899dc14ec7c1520ba4995a2 100644 --- a/webpizza/applipizza/templates/applipizza/formulaireCreationIngredient.html +++ b/webpizza/applipizza/templates/applipizza/formulaireCreationIngredient.html @@ -8,10 +8,24 @@ {% block content %} <div class="container"> + {% if status %} + {% if status == 'success' %} + <div class="alert-message success" data-alert> + <a class="close" href="#">×</a> + <p><strong>Enregistré !</strong> L'ingrédient {{ nomIngredient }} a bien été ajouté.</p> + </div> + {% endif %} + {% if status == 'error' %} + <div class="alert-message error" data-alert> + <a class="close" href="#">×</a> + <p><strong>Erreur !</strong> L'ingrédient n'a pas pu être ajouté.</p> + </div> + {% endif %} + {% endif %} <h2>Ajouter un ingrédient</h2> <p>Renseigner le nom de l'ingrédient à ajouter.</p> - <form action="" method="post" class="form-stacked"> + <form action="/ingredients/add/post" method="post" class="form-stacked"> {% csrf_token %} {% for field in form %} {% if field.errors %} @@ -42,6 +56,7 @@ </div> {% endblock %} {% block javascripts %} + <script type="text/javascript" src="{% static 'applipizza/js/bootstrap-alerts.js' %}"></script> <script type="text/javascript"> var form = $('form'); var formRequiredFields = form.find('input[required]'); diff --git a/webpizza/applipizza/views.py b/webpizza/applipizza/views.py index 5aacd2ee72d41063f1afb28195b846cbd6a6a453..c5ff076f9126338a2bdc984a3559dba6fca82e8b 100644 --- a/webpizza/applipizza/views.py +++ b/webpizza/applipizza/views.py @@ -35,3 +35,24 @@ def formulaireCreationIngredient(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"} + ) \ No newline at end of file diff --git a/webpizza/webpizza/urls.py b/webpizza/webpizza/urls.py index 2464b72a921e76d631aff15b9742d2c812f9552a..8f3c16efb5a89fcd00fb305d214bf4ef5a9e2e0f 100644 --- a/webpizza/webpizza/urls.py +++ b/webpizza/webpizza/urls.py @@ -22,5 +22,6 @@ urlpatterns = [ path('admin/', admin.site.urls), path('pizzas/', views.pizzas), path('pizza/<int:id>', views.pizza), - path('ingredients/add', views.formulaireCreationIngredient) + path('ingredients/add', views.formulaireCreationIngredient), + path('ingredients/add/post', views.creerIngredient), ]