[BUG] Impossible de supprimer plusieurs objets

Bonjour !

Je suis face à un bug que je n’arrive pas à résoudre. J’ai créé un objet via le module builder et je n’arrive pas à supprimer plusieurs entrées via la view list de l’objet.
Lorsque je sélectionne mes entrées et que je valide le formulaire pour les supprimer, les entrées disparaissent du tableau. J’ai bien un message « Entrée supprimée » mais elle n’est pas supprimée.

J’ai fait une vidéo au cas où je ne serais pas assez clair : bug dolibarr

Tout m’a l’air bon au niveau du code, je l’ai comparé avec mes autres objets qui eux fonctionnent et je ne vois aucune différence…

Merci pour votre aide !

Edit :

J’ai oublié d’apporter quelques précisions sur mon environnement :

  • Dolibarr v12.0.5
  • PHP 7.4.12 (mamp)
  • macOS Catalina
  • Google Chrome

J’ai eu ce bug quand je peux je vous met la solution

1 « J'aime »

Je retrouve pas dans mon code

Je n’ai pas compris, tu n’as pas réussi à reproduire le bug ?

Il existait les canvas mais je ne sais pas si c’est encore d’actualité.

Doc: Développement Canvas - Dolibarr ERP CRM Wiki

Salut,

Non ce n’est plus d’actualité!

Me suis trompé de sujet je crois

Si j’ai eu le bug, j’ai résolu, mais je n’est pas fait de commentaire dans mon code. Du coup je retrouve pas ma correction.

Mais du coup tu peux me dire quel était le problème et où je pourrais le corriger ?

Regarde du côté de cette ligne dans le fichier myobject_liste.php

 if (strpos($object->fields[$key]['type'], 'integer:') == 0) {
 if (strpos($object->fields[$key]['type'], 'integer:') === 0) {

Effectivement ça vient bien de là. Sur mes autres page view_list.php mes requêtes SQL se terminent par un :

WHERE 1 = 1 ORDER BY t.rowid ASC

Alors que sur la page buguée elle se termine par :

WHERE 1 = 1 AND (type = -1) ORDER BY t.rowid ASC

Donnant une réponse SQL vide.
En commentant cette ligne tout refonctionne :

if ($search[$key] != ‹  ›) $sql .= natural_search($key, $search[$key], (($key == ‹ status ›) ? 2 : $mode_search));

Mais j’ai toujours pas compris d’où vient le problème. Merci pour ton aide en tout cas @BB2A !

1 « J'aime »