Overview
Artifact ID: | a3af1c41ad364deb126cf2d928ce35d6cd67b5da |
---|---|
Ticket: | 9c3ea0c6aa8c18405e90b72b8eaf16b253a44612
Création d'écritures dans des comptes vides/inexistants lors d'import |
User & Date: | zou on 2019-05-08 23:02:58 |
Changes
- foundin changed to: "0.9.2"
- icomment:
Lors d'un import CSV, il est possible de créer des opérations avec une écriture au débit ou au crédit qui ne corresponde pas à un compte existant (càd un compte vide, ex.: « compte_credit = "" »), en ayant un des deux champs vides dans le fichier CSV.<br><br> Les lignes suivante me laissent penser que ça aurait pu être volontaire, mais je n'arrive vraiment pas à voir dans quelle circonstance une telle situation devrait être possible. Même avec la compta simplifiée, toutes les catégories affectent un compte en débit et un autre en crédit.<br><br> Fichier: include/lib/Garradin/Compta/Import.php, l.162-169 :<br> <pre><code>if (trim($debit) == '' && trim($credit) != '') { $debit = null; } elseif (trim($debit) != '' && trim($credit) == '') { $credit = null; } </pre></code><br> Ça pourrait être corrigé en ayant ceci à la place des affections à null : <pre><code>throw new UserException('Erreur sur la ligne ' . $line . ' : champs « Compte de débit - numéro » vide.');</code></pre> Ou dans Journal.php, dans _checkFields, l.280, en ajoutant ce test aux conditions : <pre><code>... || is_null($data['compte_debit']) || ...</code></pre> <br> (j'aurais sûrement pu le corriger moi-même mais je sais pas encore me servir de Fossil trop et j'ai peur de faire des bêtises, mais peut-être je m'y pencherais après, quand j'aurais fini mes bidouilles avec mes scripts perso de migrations)<br> (pardon encore si jamais c'est un truc qui parait évident à côté duquel je passe)
- login: "zou"
- mimetype: "text/html"
- private_contact changed to: "11e0f0ca47bf61d029580bf77a718673efd9d27a"
- severity changed to: "Critical"
- status changed to: "Open"
- title changed to:
Création d'écritures dans des comptes vides/inexistants lors d'import
- type changed to: "Code_Defect"