odoo_toolkit/menu_handlers.py
2025-03-18 15:15:41 +01:00

61 lines
2.0 KiB
Python

from ticket_manager import TicketManager
from utils import get_user_choice, print_error
# Initialisation de l'objet
ticket_manager = TicketManager()
def handle_search_ticket_by_id():
"""Gère la recherche d'un ticket par ID"""
ticket_id_input = input("Entrez l'ID du ticket(ou 'q' pour quitter): ")
if ticket_id_input.lower() == 'q':
return
try:
ticket_id = int(ticket_id_input)
except ValueError:
print_error("L'ID du ticket doit être un n ombre entier.")
return
ticket = ticket_manager.get_ticket_by_id(ticket_id)
if ticket:
print("\n Ticket trouvé:")
print(ticket)
else:
print_error(f"Aucun ticket trouvé avec l'ID: {ticket_id}")
def handle_search_ticket_by_code():
"""Recherche un ticket via son code"""
ticket_code = input("\nEntrez le code du ticket à rechercher (ou 'q' pour quitter): ")
if ticket_code.lower() == 'q':
return
ticket = ticket_manager.get_ticket_by_code(ticket_code)
if ticket:
print("\n Ticket trouvé:")
print(ticket)
else:
print_error(f"Aucun ticket trouvé avec le code '{ticket_code}'.")
def handle_project_tickets_by_stage():
"""Gère l'exportation des tickets d'un projet par étape"""
# Récupérer la liste des projets disponibles
projects = ticket_manager.get_available_projects()
if not projects:
print("Aucun projet disponible. Impossible de continuer.")
return
# Demander à l'utilisateur de choisir un projet
project_id_input = input("\nEntrez l'ID du projet (ou 'q' pour quitter): ")
if project_id_input.lower() == 'q':
return
try:
project_id = int(project_id_input)
if project_id not in projects.keys():
print_error(f"Aucun projet trouvé avec l'ID: {project_id}")
return
except ValueError:
print("L'ID du projet doit être un nombre entier.")
return
#Exportet les tickets du projet
ticket_manager.export_tickets_by_project_and_stage(project_id)