mirror of
https://github.com/Ladebeze66/projetcbaollm.git
synced 2025-12-16 22:47:49 +01:00
66 lines
2.3 KiB
Python
66 lines
2.3 KiB
Python
import odoorpc
|
|
from config import ODOO_HOST, ODOO_DB, ODOO_USER, ODOO_PASSWORD
|
|
|
|
class OdooConnection:
|
|
"""Gère la connexion à l'instance Odoo"""
|
|
|
|
def __init__(self):
|
|
self.odoo = None
|
|
self.connected = False
|
|
|
|
def connect(self):
|
|
"""Établit la connexion à Odoo"""
|
|
try:
|
|
self.odoo = odoorpc.ODOO(ODOO_HOST, port=443, protocol='jsonrpc+ssl')
|
|
print(f"Connexion réussie à {ODOO_HOST}")
|
|
|
|
print("Bases de données disponibles :", self.odoo.db.list())
|
|
|
|
self.odoo.login(ODOO_DB, ODOO_USER, ODOO_PASSWORD)
|
|
print(f"Authentifié en tant que {ODOO_USER}")
|
|
|
|
self.connected = True
|
|
return True
|
|
except odoorpc.error.RPCError as e:
|
|
print(f"Erreur RPC Odoo : {e}")
|
|
return False
|
|
except Exception as e:
|
|
print(f"Erreur inattendue : {e}")
|
|
return False
|
|
|
|
def get_odoo_instance(self):
|
|
"""Retourne l'instance Odoo connectée"""
|
|
if not self.connected:
|
|
self.connect()
|
|
return self.odoo
|
|
|
|
def clean_ticket_data(ticket_data):
|
|
"""Version simplifiée de la fonction de nettoyage."""
|
|
return ticket_data # À remplacer par votre fonction de nettoyage existante
|
|
|
|
def display_ticket_fields(ticket):
|
|
"""Affiche les champs d'un ticket et leurs valeurs."""
|
|
print("\n== DÉTAILS DU TICKET ==")
|
|
print(f"ID: {ticket['ID du Ticket']}")
|
|
print(f"Nom: {ticket['Nom']}")
|
|
print(f"Date Limite: {ticket['Date Limite']}")
|
|
|
|
print("\n== CHAMPS SIMPLES ==")
|
|
for field_name, value in ticket['Champs Simples'].items():
|
|
print(f"{field_name}: {value}")
|
|
|
|
print("\n== CHAMPS RELATIONNELS ==")
|
|
for field_name, value in ticket['Champs Relationnels'].items():
|
|
print(f"{field_name}: {value}")
|
|
|
|
print("\n== DISCUSSIONS ==")
|
|
if ticket['Discussions']:
|
|
for i, msg in enumerate(ticket['Discussions'], 1):
|
|
print(f"Message {i}:")
|
|
print(f" Auteur: {msg['Auteur']}")
|
|
print(f" Date: {msg['Date']}")
|
|
print(f" Sujet: {msg['Sujet']}")
|
|
print(f" Contenu: {msg['Contenu'][:100]}..." if len(msg['Contenu']) > 100 else f" Contenu: {msg['Contenu']}")
|
|
print()
|
|
else:
|
|
print("Aucune discussion trouvée.") |