EsupPortail / Esup-Pod

plateforme de gestion de fichier vidéo
https://pod.esup-portail.org/
GNU Lesser General Public License v3.0
35 stars 75 forks source link

[DONE] Fix additional owner rights #1167

Closed Badatos closed 2 months ago

Badatos commented 2 months ago

Fix bug #1166

Add 2 funcs :

get_or_create_video_foldermust now be called every time a video Userfolder is created or accessed, and update_additional_owners_rights will be called on every video.save()

Badatos commented 2 months ago

En effectuants mes tests, je tombe sur d'autres bugs liés au traitement actuel des Userfolders videos, par exemple

  1. On crée une vidéo AAA
  2. On lui ajoute des documents complémentaires ==> Un Userfolder est créé avec le slug de la vidéo
  3. On renomme la vidéo
  4. On lui ajoute des documents complémentaires ==> Un nouveau Userfolder est créé avec le nouveau slug de la vidéo

==> la vidéo se retrouve avec 2 userfolders ! Je pense repasser cette PR en WIP et corriger également ce bug du coup. Je soupçonne qu'on va avoir un souci similaire en cas de vidéo qui change d'owner (meme si c'est plus rare), comme quand elle est archivée par exemple.

Badatos commented 2 months ago

Voila, j'ai intégré des tests pour éviter les Userfolders dupliqués.

Pour un nettoyage complet, je recommande de lancer au moins une fois

python manage.py clean_video_files --type=userfolder

(avec l'option --dry si vous voulez juste voir ce que ca fait avant de nettoyer réellement)

nb : avec type=all ça fonctionne aussi, si vous voulez au passage nettoyer des fichiers video non associés à un objet video