From e65da1d991d28a656ca635fa9d08c9a10b3aa905 Mon Sep 17 00:00:00 2001 From: Sofiane Lasri <alasri250@gmail.com> Date: Wed, 31 May 2023 11:52:54 +0200 Subject: [PATCH] =?UTF-8?q?TP9=20termin=C3=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- webpizza/applipizza/models.py | 3 +++ webpizza/applipizza/templates/applipizza/pizza.html | 13 ++++++++----- webpizza/applipizza/views.py | 9 +++++++-- webpizza/webpizza/urls.py | 3 ++- 4 files changed, 20 insertions(+), 8 deletions(-) diff --git a/webpizza/applipizza/models.py b/webpizza/applipizza/models.py index 7fe83fb..90aad32 100644 --- a/webpizza/applipizza/models.py +++ b/webpizza/applipizza/models.py @@ -8,6 +8,9 @@ class Ingredient(models.Model): id = models.AutoField(primary_key=True) nom = models.CharField(max_length=50, verbose_name="Nom de l'ingrédient") + def __str__(self): + return self.nom + def __str__(self) -> str: return self.nom diff --git a/webpizza/applipizza/templates/applipizza/pizza.html b/webpizza/applipizza/templates/applipizza/pizza.html index 34f68d9..d315aef 100644 --- a/webpizza/applipizza/templates/applipizza/pizza.html +++ b/webpizza/applipizza/templates/applipizza/pizza.html @@ -31,14 +31,16 @@ <tr> <th>Ingredient</th> <th>Quantité</th> + <th>Action</th> </tr> </thead> <tbody> {% for composition in pizza.composition %} <tr> - {% for field in composition %} - <td>{{ field }}</td> - {% endfor %} + <td>{{ composition.1 }}</td> + <td>{{ composition.2 }}</td> + <td><a href="/pizza/{{ pizza.id }}/deleteIngredient/{{ composition.0 }}" class="btn danger">Supprimer + <i class="icon-trash"></i></a></td> </tr> {% endfor %} </tbody> @@ -71,8 +73,9 @@ <div class="actions"> <input type="submit" value="Ajouter" class="btn success"> <button type="reset" class="btn">Annuler</button> - <a href="/pizza/{{ pizza.id }}/update" class="btn info">Modifier la pizza</a> - <a href="/pizza/{{ pizza.id }}/delete" class="btn danger">Supprimer la pizza</a> + <a href="/pizza/{{ pizza.id }}/update" class="btn info"><i class="icon-pencil"></i> Modifier la + pizza</a> + <a href="/pizza/{{ pizza.id }}/delete" class="btn danger"><i class="icon-trash"></i> Supprimer la pizza</a> </div> </form> </div> diff --git a/webpizza/applipizza/views.py b/webpizza/applipizza/views.py index a1e15ff..05a35a4 100644 --- a/webpizza/applipizza/views.py +++ b/webpizza/applipizza/views.py @@ -105,7 +105,7 @@ def viewPizza(request, id, status=None): composition = Composition.objects.filter(pizza_id=id) compositionArray = [] for c in composition: - compositionArray.append([Ingredient.objects.get(id=c.ingredient_id).nom, c.quantite]) + compositionArray.append([c.id, Ingredient.objects.get(id=c.ingredient_id).nom, c.quantite]) pizza.composition = compositionArray if status==None: @@ -119,4 +119,9 @@ def viewPizza(request, id, status=None): request, 'applipizza/pizza.html', {"pizza": pizza, 'form': formulaire, 'status': status} - ) \ No newline at end of file + ) + +def supprimerIngredientDansPizza(request, pizzaId, compositionId): + composition = Composition.objects.get(id=compositionId) + composition.delete() + return viewPizza(request, pizzaId, 'success') \ No newline at end of file diff --git a/webpizza/webpizza/urls.py b/webpizza/webpizza/urls.py index 2c66790..7c7f5e4 100644 --- a/webpizza/webpizza/urls.py +++ b/webpizza/webpizza/urls.py @@ -26,6 +26,7 @@ urlpatterns = [ path('pizzas/', views.pizzas), path('pizza/<int:id>', views.pizza), path('pizza/<int:id>/addIngredient', views.ajouterIngredientDansPizza), + path('pizza/<int:pizzaId>/deleteIngredient/<int:compositionId>', views.supprimerIngredientDansPizza), path('pizza/<int:id>/update', views.modifierPizza), path('pizza/<int:id>/update/post', views.traitementFormulaireModificationPizza), path('pizza/<int:id>/delete', views.supprimerPizza), @@ -33,4 +34,4 @@ urlpatterns = [ path('ingredients/add/post', views.creerIngredient), ] -urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT) #new \ No newline at end of file +urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT) # new -- GitLab