zestedesavoir / zds-site

Cœur du projet technique de Zeste de Savoir
https://zestedesavoir.com
Other
268 stars 161 forks source link

Modifie DeleteImages (préparation pour Django 4) #6574

Closed Arnaud-D closed 10 months ago

Arnaud-D commented 10 months ago

Dans Django 4, DeleteView change de comportement. Notre manière d'utiliser cette vue générique était un peu exotique et ne correspond pas au cas d'usage prévu.

Je l'ai changé pour une vue normale en reprenant le comportement actuel.

On ne peut plus appeler la vue avec la méthode DELETE, mais ce n'a jamais été utilisé réellement. Le formulaire HTML utilise POST et l'ancien code redirigeait post() vers delete(). Le nouveau code est finalement plus direct.

Contrôle qualité

Vérifier que la suppression d'image dans la liste d'image de la galerie fonctionne bien.

Vérifier que la suppression d'images depuis la page d'une image donnée fonctionne bien.

coveralls commented 10 months ago

Coverage Status

coverage: 88.811%. remained the same when pulling af529e1892ca29a51a0a2a55495971353b85f838 on Arnaud-D:prepa_django4_deleteimages into 411bc8894eb063ec612c46b8cfd092ccd18f0964 on zestedesavoir:dev.

philippemilink commented 10 months ago

DeleteView est aussi utilisé ailleurs :

% git grep -n DeleteView zds/
zds/featured/tests/tests.py:243:class FeaturedResourceDeleteViewTest(TestCase):
zds/featured/tests/tests.py:271:class FeaturedResourceListDeleteViewTest(TestCase):
zds/featured/views.py:9:from django.views.generic import CreateView, RedirectView, UpdateView, FormView, DeleteView
zds/featured/views.py:192:class FeaturedResourceDeleteDetail(FeaturedViewMixin, DeleteView):
zds/featured/views.py:338:class FeaturedMessageDelete(FeaturedViewMixin, DeleteView):
zds/tutorialv2/views/containers_extracts.py:11:from django.views.generic import DeleteView, FormView
zds/tutorialv2/views/containers_extracts.py:228:class DeleteContainerOrExtract(LoggedWithReadWriteHability, SingleContentViewMixin, DeleteView):
zds/tutorialv2/views/contents.py:13:from django.views.generic import DeleteView
zds/tutorialv2/views/contents.py:280:class DeleteContent(LoginRequiredMixin, SingleContentViewMixin, DeleteView):

Il n'y a pas besoin de changer aussi à ces endroits-là ?

Arnaud-D commented 10 months ago

Oui, il faut aussi examiner ces cas-là. Je vais regarder au cas par cas, parce que la solution n'est pas toujours la même, et dans certains cas, ça devra peut-être être fait en même temps que la bascule sur la nouvelle version. Ça ne sera pas possible de le faire en amont.