Overview
Comment:Correction faute d'inattention : ne pas compte_debit OR compte_credit (bug à la suppression de compte encore lié à des écritures)
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | dev
Files: files | file ages | folders
SHA1: 2ab615a5deccb4da3bdf7c72e4e8f94ddc01ca44
User & Date: bohwaz on 2018-10-27 20:03:06
Other Links: branch diff | manifest | tags
Context
2018-10-27
20:04
Autres occurrences de fautes sur la condition de suppression check-in: 25dbb07ee3 user: bohwaz tags: dev
20:03
Correction faute d'inattention : ne pas compte_debit OR compte_credit (bug à la suppression de compte encore lié à des écritures) check-in: 2ab615a5de user: bohwaz tags: dev
20:02
Intitulé option export ODS check-in: 459549dd47 user: bohwaz tags: dev
Changes

Modified src/include/lib/Garradin/Compta/Comptes.php from [413403054e] to [e84f27a354].

149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
    public function delete($id)
    {
        $db = DB::getInstance();

        $id = trim($id);

        // Ne pas supprimer un compte qui est utilisé !
        if ($db->firstColumn('SELECT 1 FROM compta_journal WHERE compte_debit = ? OR compte_debit = ? LIMIT 1;', $id, $id))
        {
            throw new UserException('Ce compte ne peut être supprimé car des opérations comptables y sont liées.');
        }

        if ($db->test('compta_comptes_bancaires', $db->where('id', $id)))
        {
            throw new UserException('Ce compte ne peut être supprimé car il est lié à un compte bancaire.');







|







149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
    public function delete($id)
    {
        $db = DB::getInstance();

        $id = trim($id);

        // Ne pas supprimer un compte qui est utilisé !
        if ($db->test('compta_journal', 'compte_debit = ? OR compte_credit = ?', $id, $id))
        {
            throw new UserException('Ce compte ne peut être supprimé car des opérations comptables y sont liées.');
        }

        if ($db->test('compta_comptes_bancaires', $db->where('id', $id)))
        {
            throw new UserException('Ce compte ne peut être supprimé car il est lié à un compte bancaire.');