refactor: Partie "School"

This commit is contained in:
N3WT DE COMPET
2025-01-12 13:18:34 +01:00
parent 83f4d67a6f
commit 58fe509734
7 changed files with 139 additions and 182 deletions

View File

@ -1,5 +1,7 @@
import logging
from django.db.models import Q
from django.http import JsonResponse
from django.core.exceptions import ObjectDoesNotExist
from Subscriptions.models import RegistrationForm, Profile, Student
logger = logging.getLogger('N3wtSchool')
@ -86,3 +88,20 @@ def searchObjects(_objectName, _searchTerm=None, _excludeStates=None):
except _objectName.DoesNotExist:
logging.error(f"Aucun résultat n'a été trouvé - {_objectName.__name__} (recherche: {_searchTerm})")
return None
def delete_object(model_class, object_id, related_field=None):
try:
obj = model_class.objects.get(id=object_id)
if related_field and hasattr(obj, related_field):
related_obj = getattr(obj, related_field)
if related_obj:
related_obj.delete()
obj_name = str(obj) # Utiliser la méthode __str__
obj.delete()
return JsonResponse({'message': f'La suppression de l\'objet {obj_name} a été effectuée avec succès'}, safe=False)
except ObjectDoesNotExist:
return JsonResponse({'error': f'L\'objet {model_class.__name__} n\'existe pas avec cet ID'}, status=404, safe=False)
except Exception as e:
return JsonResponse({'error': f'Une erreur est survenue : {str(e)}'}, status=500, safe=False)