# Gestionnaire de Tickets Odoo

Cet outil permet d'extraire des tickets de support depuis Odoo et de les sauvegarder localement.

## Prérequis

- Python 3.6+
- Accès à une instance Odoo
- Fichier de configuration avec les identifiants

## Installation

Aucune installation particulière n'est requise. Clonez simplement ce dépôt et assurez-vous que les dépendances Python sont installées :

```bash
pip install requests
```

## Configuration

Le fichier `config.json` à la racine du projet doit contenir les informations de connexion Odoo :

```json
{
  "odoo": {
    "url": "https://votre-instance-odoo.com",
    "db": "nom_de_la_base",
    "username": "utilisateur@example.com",
    "api_key": "votre_clé_api_ou_mot_de_passe"
  },
  "output_dir": "output"
}
```

## Utilisation

### Extraire un ticket

Pour extraire un ticket en utilisant son code, utilisez la commande :

```bash
./retrieve_ticket.py T0123
```

Où `T0123` est le code du ticket à extraire.

Options disponibles :

- `--config` : Spécifier un fichier de configuration alternatif (par défaut: `config.json`)
- `--output-dir` : Spécifier un répertoire de sortie (par défaut: `output/ticket_CODE`)
- `--verbose` ou `-v` : Afficher plus d'informations pendant l'exécution
- `--keep-html` : Conserver le contenu HTML original dans les messages (désactivé par défaut)
- `--no-original` : Ne pas conserver le corps de message HTML original (désactivé par défaut)
- `--keep-all` : Conserver tous les messages, y compris ceux d'OdooBot et les messages vides (désactivé par défaut)

### Exemples

Extraire un ticket avec affichage détaillé :
```bash
./retrieve_ticket.py T0167 --verbose
```

Extraire un ticket en conservant le contenu HTML :
```bash
./retrieve_ticket.py T0167 --keep-html
```

Extraire un ticket avec nettoyage des balises HTML sans conserver l'original :
```bash
./retrieve_ticket.py T0167 --no-original
```

Extraire un ticket en conservant tous les messages (y compris OdooBot) :
```bash
./retrieve_ticket.py T0167 --keep-all
```

## Structure des données extraites

Pour chaque ticket extrait, le script crée un dossier contenant :

- `ticket_info.json` : Informations générales sur le ticket
- `messages.json` : Messages associés au ticket
  - Par défaut, le contenu HTML est nettoyé, les messages d'OdooBot sont supprimés et le texte original est conservé dans `body_original`
  - Avec `--keep-html`, le contenu HTML est conservé tel quel
  - Avec `--no-original`, seule la version nettoyée est conservée
  - Avec `--keep-all`, tous les messages sont conservés (y compris OdooBot et messages vides)
- `attachments_info.json` : Métadonnées des pièces jointes
- `attachments/` : Dossier contenant les fichiers des pièces jointes 