Skip to content

#337 [RegistrationCertificateFr] fix: delete carte grise definitively (hard delete) - #435

Open
evarisk-kilyan wants to merge 1 commit into
Evarisk:developfrom
evarisk-kilyan:fix/337-registrationcertificatefr-harddelete
Open

#337 [RegistrationCertificateFr] fix: delete carte grise definitively (hard delete)#435
evarisk-kilyan wants to merge 1 commit into
Evarisk:developfrom
evarisk-kilyan:fix/337-registrationcertificatefr-harddelete

Conversation

@evarisk-kilyan

Copy link
Copy Markdown
Contributor

Contexte

Closes #337

La suppression d'une carte grise (RegistrationCertificateFr) passait par le comportement par défaut de SaturneObject::delete(), dont le 3ᵉ paramètre $softDelete vaut true. La ligne n'était donc pas réellement supprimée : elle restait en base avec le statut -1 (Deleted). C'est le cas notamment de la mass-action « Supprimer » de la liste, qui appelle $object->delete($user).

Correctif

Override de delete() dans class/registrationcertificatefr.class.php pour basculer la valeur par défaut de $softDelete à false et déléguer à parent::delete() → suppression définitive (hard delete) via deleteCommon().

  • Couvre tous les points d'entrée existants (mass-action de la liste) et tout futur bouton « Supprimer » sur la fiche.
  • Le paramètre $softDelete reste disponible pour les appelants qui souhaiteraient explicitement un soft delete.
  • Diff minimal, aucun changement de schéma. La constante STATUS_DELETED et son libellé sont conservés pour l'affichage d'éventuelles lignes déjà soft-deletées en base.

Test

  1. Créer une carte grise.
  2. La supprimer (mass-action « Supprimer » depuis la liste des cartes grises).
  3. Vérifier que la ligne n'apparaît plus et qu'elle est bien absente de la table llx_dolicar_registrationcertificatefr (plus de ligne en statut -1).

…itively (hard delete)

The list mass-action (and any delete action) called SaturneObject::delete()
with its default soft-delete behavior, leaving the row in database with a
status of -1 (Deleted) instead of removing it. Override delete() so a
registration certificate is removed definitively (hard delete) by default,
while keeping the $softDelete parameter for callers that still need it.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants