Jump to content

Recommended Posts

Bonjour à tous.

 

Je pense qu'il ya un bug sur le module referralprogram.

(je suis sur un Presta 1.5.3.1)

En fin de fichier referralprogram.php, dans la function hookUpdateOrderStatus, cette ligne pose un probème :

$discount_display = ReferralProgram::displayDiscount($cartRule->reduction_percent ? $cartRule->reduction_percent : $cartRule->reduction_amount, $cartRule->reduction_percent ? 1 : 2, $currency);

Dans le cas d'un montant fixe, et pas un pourcentage, $cartRule->reduction_percent est égal à 0.00 mais existe bien.

On se retrouve donc avec

$discount_display = ReferralProgram::displayDiscount(0.00, 1, $currency);

displayDiscount est appelé avec un $discountType=1 qui correspond à une réduction en pourcentage, ce qui est faux, et ne retourne rien dans ce cas, car $reduction_percent = 0.00

 

La conséquence est que le mail envoyé au parrain après passage de la commande du filleul est de cette forme :

 

Nous avons le plaisir de vous offrir un bon d'achat de (bon de réduction avec le code XXXRDR

Le montant n'apparait pas.

J' ai rectifié en remplaçant par

if (isset($cartRule->reduction_percent) && $cartRule->reduction_percent != 0) {
				$reduc_montant=$cartRule->reduction_percent;
				$reduc_type=1;
			}
			else {
				$reduc_montant=$cartRule->reduction_amount;
				$reduc_type=2;
			}
$discount_display = ReferralProgram::displayDiscount($reduc_montant, $reduc_type, $currency);

Ca fonctionne correctement maintenant, mais il y a surement moyen de faire plus propre ?

merci

Link to comment
Share on other sites

  • 2 months later...

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...