sucresware / 4sucres

Parce qu'à 2 on était pas assez.
https://4sucres.org
9 stars 4 forks source link

Enrichir le système de suppression et de modération #60

Open innocenzi opened 5 years ago

innocenzi commented 5 years ago

Actuellement, lorsque l'on édite un message, le corps de ce dernier est totalement remplacé.

https://github.com/4sucres/board/blob/99ace55c6d7df35b3c6cf19be0b743c34769646e/app/Http/Controllers/DiscussionPostController.php#L61-L62

Le but serait de créer une table qui contiendrait un historique de modification, et dont les informations contenues seraient :

Ces informations pourraient être utiles dans un cadre de modération.

mgkprod commented 5 years ago

J'ai une idée qui peut être assez élégante avec spatie/laravel-activitylog (déjà utilisé dans le projet)

Si il est correctement utilisé, on peut récupérer les changements effectués sur un modèle avec ->changes() :

Calling $activity->changes() will return this array:

[
'attributes' => [
'name' => 'updated name',
'text' => 'Lorum',
],
'old' => [
'name' => 'original name',
'text' => 'Lorum',
],
];

Et afficher un diff (parce qu'on est ultra-modernes), un peu comme ça :

image

(le screen vient d'un site avec une classe un peu vieilotte, mais suis persuadé qu'il existe un package qui peut faire ça, genre qazd/text-diff)

Refs :