spip-contrib-extensions/prix | 14 commits
Par Cerdic, le 29 avril 2025 à 17h15min :
tests: tests séparés pour prix_calcul_appliquer_quantite_coefficient et prix_calcul_appliquer_quantite_reduction, qui donnent des résultats différents en cas d’arrondis intermédiaires
Ajouté
tests/PrixCalculLigneCoefficientTest.php
tests/PrixCalculLigneReductionTest.php
==============================
Par Cerdic, le 29 avril 2025 à 16h55min :
feat: il est possible de passer reduction et quantite en options pour surcharger les valeurs passees en argument
Modifié
inc/prix_calcul.php
==============================
Par Cerdic, le 29 avril 2025 à 16h55min :
feat: il est possible de passer coefficient et quantite en options pour surcharger les valeurs passees en argument
Modifié
inc/prix_calcul.php
==============================
Par Cerdic, le 29 avril 2025 à 16h55min :
refactor: proposer 2 fonctions séparées pour appliquer coefficient+quantité d’une part et reduction+quantite d’autre part, les 2 notions étant un peu différentes, et le calcul d’une reduction etant un cas particulier
Refs: #16
Modifié
inc/prix_calcul.php
==============================
Par Cerdic, le 29 avril 2025 à 16h55min :
fix: pas de cas bool ici, c’est une erreur de copie-colle
Modifié
inc/prix_calcul.php
==============================
Par Cerdic, le 29 avril 2025 à 16h55min :
tests: un second jeu de tests pour verifier les calculs de somme avec les 2 configurations « Arrondi à la ligne » et « Arrondi au total »
Ajouté
tests/PrixCalculSommeTest.php
==============================
Par Cerdic, le 29 avril 2025 à 16h55min :
tests: un premier jeu de tests pour comparer calcul precis vs calcul arrondis sur une ligne (prix_ht, quantite, reduction, taxe)
Ajouté
tests/PrixCalculLigneTest.php
==============================
Par Cerdic, le 29 avril 2025 à 16h55min :
feat: fonction de calcul surchargeable pour la somme des prix pour un prix total, qui peut faire des arrondis à chaque ligne ou pas selon l’option passee (ou la configuration choisie par defaut dans le plugin prix)
Modifié
inc/prix_calcul.php
==============================
Par Cerdic, le 29 avril 2025 à 16h55min :
fix: utiliser les fonctions de inc/prix_calcul pour les calculs, celles-ci se chargent de gérer les arrondis intermédiaires si besoin
Modifié
inc/prix.php
inc/taxes.php
==============================
Par Cerdic, le 29 avril 2025 à 16h55min :
feat: fournir des fonctions de calcul surchargeables pour les cas usuels utilisés pour calculer les prix ttc ou les lignes d’une commande/panier, pour centraliser et normaliser les calculs. Les fonctions étant surchargeables on peut affiner la méthode de calcul si besoin pour coller à ses process métiers/comptables usuels
Ajouté
inc/prix_calcul.php
==============================
Par bricebou, le 29 avril 2025 à 16h55min :
feat: permettre de choisir si l’on souhaite travailler avec un arrondi de TVA à la ligne ou sur le total (par défaut, comportement historique)
Refs: #14
Ajouté
formulaires/configurer_prix.html
formulaires/configurer_prix.php
prive/squelettes/contenu/configurer_prix.html
Modifié
Changelog.md
inc/prix.php
inc/taxes.php
lang/prix_en.php
lang/prix_fr.php
==============================
Par Cerdic, le 29 avril 2025 à 16h23min :
refactor: un peut utiliser pour #PRIX et #PRIX_HT une syntaxe courte avec un seul tableau option en argument si on est dans un contexte de boucle où #OBJET et #ID_OBJET sont implicites : #PRIX{#ARRAY{arrondi,-1}}
Il n’y a pas d’ambiguité car la syntaxe historique n’acceptait que 0, 2 ou 3 arguments, ici on ajoute donc le cas 1 argument.
- une fonction support
calculer_balise_prix()commune a#PRIXet#PRIX_HTqui genèrent le meme code sauf pour le nom de la fonction appelee, cela simplifie la maintenance
Modifié
prix_fonctions.php
==============================
Par Cerdic, le 29 avril 2025 à 15h08min :
docs: PHPDoc plus complet et correct sur les 2 fonctions balise_PRIX_dist() et balise_PRIX_HT_dist()
Modifié
prix_fonctions.php
==============================
Par Cerdic, le 29 avril 2025 à 15h06min :
refactor: modernisation des fonctions prix_objet() et prix_ht_objet() qui appellent les fonctions de inc/prix sans 4eme argument
On garde la possibilite de passer serveur en 4eme argument sur ces deux fonctions car cela simplifie grandement la génération du code pour les balises #PRIX et #PRIX_HT
Au passage cela corrige aussi l’utilisation de cet argument serveur qui était de fait ignoré sur les 2 fonctions
Modifié
prix_fonctions.php