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}")