From c1ec98c95656844712011ff30b84c397b78da311 Mon Sep 17 00:00:00 2001
From: Yassine Doghri <yassine@doghri.fr>
Date: Thu, 28 Dec 2023 13:58:19 +0000
Subject: [PATCH] fix(persons): delete person avatar when deleting a person

fixes #419
---
 modules/Admin/Controllers/PersonController.php | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/modules/Admin/Controllers/PersonController.php b/modules/Admin/Controllers/PersonController.php
index 17266de74c..278edd4a4f 100644
--- a/modules/Admin/Controllers/PersonController.php
+++ b/modules/Admin/Controllers/PersonController.php
@@ -14,6 +14,7 @@ use App\Entities\Person;
 use App\Models\PersonModel;
 use CodeIgniter\Exceptions\PageNotFoundException;
 use CodeIgniter\HTTP\RedirectResponse;
+use Modules\Media\Models\MediaModel;
 
 class PersonController extends BaseController
 {
@@ -151,6 +152,11 @@ class PersonController extends BaseController
 
     public function delete(): RedirectResponse
     {
+        if ($this->person->avatar_id !== null) {
+            // delete avatar to prevent collision if recreating person
+            (new MediaModel())->deleteMedia($this->person->avatar);
+        }
+
         (new PersonModel())->delete($this->person->id);
 
         return redirect()->route('person-list')
-- 
GitLab