[Communication] Vérifier l'auteur d'un message avant delete #46
Labels
No Label
bug
duplicate
enhancement
help wanted
invalid
question
wontfix
No Milestone
No Assignees
2 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: Sulley/khana#46
Loading…
Reference in New Issue
No description provided.
Delete Branch "%!s(<nil>)"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Tu ne vérifies pas non plus si le message appartient à l'utilisateur qui l'a écrit ;-)
Yop,
la seconde partie de la condition pour la fonction is_read n'est peutetre pas utile, dans la lesure ou cela signifierait que l'on aurait lu un message dans le futur?
A toi de voir ;-)
Tu t'es pas trompé de ticket pour ton commentaire ?
si... :-(
Avec la dernière version de ton code, dans le fichiers
communication/views.py
, tu as ceci:Si tu veux vérifier qu'un message ne peut être supprimé que par son propriétaire, il suffit de modifier le try/except avec ceci:
Hummmm… Ok, j'ai pas mal réfléchis grâce à tes différentes questions/propositions. Si on reste sur le principe (pour le moment) qu'il ne peut y avoir qu'un seul destinataire, un message lie donc deux personnes : celui qui l'écrit et celui qui va le lire.
Effacer (au sens : supprimer de la DB) ne peut être réellement fait que si les deux choisissent de l'effacer.
Si l'un des deux choisit de l'effacer, alors il faudrait le rendre invisible pour lui mais le garder en DB pour l'autre pour continuer de l'afficher dans les "messages envoyés". Dans ce contexte, il faudrait rajouter un champ ou deux pour savoir lequel des deux peut encore voir le message.
Je me rends également compte que c'est une messagerie très (trop) simpliste que j'ai mises en place. Si je veux pouvoir mettre en place une bonne messagerie il faudrait refléchir à un autre modèle, d'autres tables sans doute, … etc.
Mais procédons par étape :
1) rajouter un champ pour savoir si je peu effacer un email ou si je dois le rendre invisible pour quelqu'un
2) revoir le modèle pour envoyer à pluseurs utilisateurs à la fois, supprimer un mail d'un côté mais pas de l'autre, …
Je crée donc un jalon
Communication 2.0
qui reprendra la fonctionnalité évoluées/étendues mais qui nécessiteront un refactoring complet du modèle et des vues.