mirror of
https://github.com/Ladebeze66/odoo_toolkit.git
synced 2025-12-13 12:36:52 +01:00
66 lines
2.6 KiB
Python
66 lines
2.6 KiB
Python
def handle_list_models():
|
|
"""Gère l'affichage de la liste des modèles"""
|
|
ticket_manager.list_models()
|
|
|
|
|
|
|
|
def handle_list_model_fields():
|
|
"""Gère l'affichage des champs d'un modèle"""
|
|
model_name = input("\nEntrez le nom du modèle: ")
|
|
if not model_name:
|
|
print("Aucun nom de modèle fourni.")
|
|
return
|
|
ticket_manager.list_model_fields(model_name)
|
|
|
|
|
|
def handle_export_model_fields_to_json():
|
|
"""Gère l'exportation des informations des champs d'un modèle en JSON"""
|
|
model_name = input("\nEntrez le nom du modèle: ")
|
|
if not model_name:
|
|
print("Aucun nom de modèle fourni.")
|
|
return
|
|
filename = input("Entrez le nom du fichier pour l'exportation: ")
|
|
if not filename:
|
|
print("Aucun nom de fichier fourni.")
|
|
return
|
|
ticket_manager.export_model_fields_to_json(model_name, filename)
|
|
|
|
///partie ticket_manager.py
|
|
def list_models(self):
|
|
"""Affiche la liste des modèles disponibles dans Odoo"""
|
|
models = self._safe_execute('ir.model', 'search_read', [], ['model', 'name'])
|
|
if not models:
|
|
print_error("Aucun modèle disponible.")
|
|
return []
|
|
|
|
print("\nListe des modèles disponibles:")
|
|
for model in models:
|
|
print(f"Modèle: {model['name']} (ID: {model['model']})")
|
|
return models
|
|
|
|
def list_model_fields(self, model_name):
|
|
"""Affiche les champs d'un modèle donné"""
|
|
fields_info = self._safe_execute(model_name, 'fields_get')
|
|
if not fields_info:
|
|
print_error(f"Aucun champ trouvé pour le modèle {model_name}.")
|
|
return []
|
|
|
|
print(f"\nChamps du modèle {model_name}:")
|
|
for field_name, field_data in fields_info.items():
|
|
print(f"Champ: {field_name} - Type: {field_data['type']}")
|
|
return fields_info
|
|
|
|
def export_model_fields_to_json(self, model_name, filename):
|
|
"""Exporte les champs d'un modèle dans un fichier JSON"""
|
|
fields_info = self._safe_execute(model_name, 'fields_get')
|
|
if not fields_info:
|
|
print_error(f"Aucun champ trouvé pour le modèle {model_name}.")
|
|
return
|
|
|
|
data = {field_name: field_data['type'] for field_name, field_data in fields_info.items()}
|
|
filepath = os.path.join(EXPORT_DIR, filename)
|
|
|
|
if save_json(filepath, data):
|
|
print(f"Champs du modèle {model_name} exportés dans {filepath}")
|
|
else:
|
|
print_error(f"Erreur lors de l'exportation des champs du modèle {model_name} dans {filepath}") |