Glop,

Il semble y avoir des lièvres un peu dodus qui se balladent dans la gestion des taxes.

Dans le formulaire d'édition d'un produit, il est dit à propos de celle-ci : « Valeur par défaut sur le site : N%. Ce champ peut être laissé vide. ». On devrait donc théoriquement pouvoir laisser le champ vide pour laisser appliquer la taxe par défaut, ou mettre une valeur de 0 si on ne veut pas de taxe pour ce produit : ce sont 2 cas de figure différents.

Mais dans la pratique, ça n'est pas pris en compte de façon consistante.

Déjà un détail dans le formulaire : la taxe globale est prise comme valeur par défaut. Ça fait qu'on doit vider le champ à chaque passage si on veut explicitement du vide : https://git.spip.net/plugin/produits/src/branch/master/formulaires/editer_produit.php#L72
Pénible.

Plus problématique : dans la fonction qui calcule le prix TTC avec le plugin prix, la taxe par défaut n'est *jamais* appliquée.
https://git.spip.net/plugin/produits/src/branch/master/prix/produit.php#L12
Un floatval() transforme les chaînes vides en '0', et donc pas de fallback dans ce cas.

Dans la fiche d'un produit, quand il a une taxe de 0, le label affiche la taxe par défaut du site au lieu de '0%' : https://git.spip.net/plugin/produits/src/branch/master/prive/squelettes/contenu/produit.html#L16

Je n'ai pas regardé le reste en détail, mais à vue de nez il semble y avoir d'autres endroits où la différence entre valeur vide et valeur '0' est mal prise en compte (dans le charger du formulaire d'édition par ex.).

Bon, je n'ose pas trop y toucher avant d'avoir des retours quand même.
Le plus gênant étant surtout la fonction qui calcule le prix ttc.

----
spip-zone@rezo.net - https://listes.rezo.net/mailman/listinfo/spip-zone

Répondre à