mirror of
https://github.com/Ladebeze66/odoo_toolkit.git
synced 2025-12-16 01:47:50 +01:00
J5-7
This commit is contained in:
parent
a9924020ef
commit
c0aa4cfa42
Binary file not shown.
Binary file not shown.
@ -1,3 +0,0 @@
|
||||
[
|
||||
10908
|
||||
]
|
||||
@ -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():
|
||||
|
||||
@ -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)
|
||||
|
||||
# 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)]
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user