This commit is contained in:
Ladebeze66 2025-03-18 17:23:58 +01:00
parent a9924020ef
commit c0aa4cfa42
5 changed files with 13 additions and 11 deletions

View File

@ -1,3 +0,0 @@
[
10908
]

View File

@ -11,7 +11,7 @@ def display_main_menu():
print("2. Rechercher un ticket par ID")
print("3. Rechercher un ticket par Code")
print("4. Quitter")
return input("\nChoisissez une option (1-5): ")
return input("\nChoisissez une option (1-4): ")
def run_menu():

View File

@ -70,16 +70,20 @@ class TicketManager:
def get_ticket_by_id(self, ticket_id):
"""Récupère les détails d'un ticket par son ID et exclut dynamiquement les champs invalides"""
fields_to_read = self.get_model_fields(self.model_name) # Récupère tous les champs disponibles
fields_to_read = self.get_model_fields(self.model_name) # Récupère tous les champs
excluded_fields = set() # Liste des champs à exclure
while True:
try:
# Mise à jour de fields_to_read en supprimant les champs exclus
fields_to_read = [field for field in fields_to_read if field not in excluded_fields]
# Mise à jour de fields_to_read en supprimant les champs invalides
valid_fields = [field for field in fields_to_read if field not in excluded_fields]
if not valid_fields:
print_error("Aucun champ valide disponible pour la requête.")
return None
# Récupérer les données du ticket avec les champs filtrés
ticket_data = self._safe_execute(self.model_name, 'read', [ticket_id], fields_to_read)
ticket_data = self._safe_execute(self.model_name, 'read', [ticket_id], valid_fields)
if not ticket_data:
print_error(f"Aucun ticket trouvé avec l'ID {ticket_id}")
@ -98,12 +102,13 @@ class TicketManager:
if invalid_field:
print(f"Exclusion du champ invalide : {invalid_field}")
excluded_fields.add(invalid_field)
continue
# Relancer la boucle immédiatement avec le champ exclu
continue
else:
print_error("Impossible d'identifier le champ problématique.")
return None
def get_ticket_by_code(self, ticket_code):
"""Récupérer un ticket via son code"""
domain = [('code', '=', ticket_code)]