Jump to content

Besoin D'une Explication Dans Cart.php


Recommended Posts

bonjour,

 

est ce qu'un développeur de Prestashop peut m'expliquer les lignes suivantes :

 

if ($checkCartDiscount

AND (

$this->getDiscountsCustomer($discountObj->id) >= $discountObj->quantity_per_user

OR (Order::getDiscountsCustomer((int)($cookie->id_customer), $discountObj->id) + $this->getDiscountsCustomer($discountObj->id) >= $discountObj->quantity_per_user) >= $discountObj->quantity_per_user

)

)

return Tools::displayError('You cannot use this voucher anymore (usage limit attained).');

 

surtout

OR (Order::getDiscountsCustomer((int)($cookie->id_customer), $discountObj->id) + $this->getDiscountsCustomer($discountObj->id) >= $discountObj->quantity_per_user) >= $discountObj->quantity_per_user

 

Order::getDiscountsCustomer((int)($cookie->id_customer), $discountObj->id) récupère le nombre de commande passé et qui utilise le bon de réduction

$this->getDiscountsCustomer($discountObj->id) donne le nombre de fois que le bon de réduction utilisé dans le panier

 

Dans order j'ai déjà eu le bon utilisé une fois

Order::getDiscountsCustomer((int)($cookie->id_customer), $discountObj->id) renvoie 1

dans le panier le bon a aussi été ajouté

$this->getDiscountsCustomer($discountObj->id) renvoie 1

 

Order::getDiscountsCustomer((int)($cookie->id_customer), $discountObj->id) + $this->getDiscountsCustomer($discountObj->id)

= 2

 

et la on test si ce nombre est supérieur à la quantité du bon utilisable par utilisateur

>= $discountObj->quantity_per_user

la oui donc

(Order::getDiscountsCustomer((int)($cookie->id_customer), $discountObj->id) + $this->getDiscountsCustomer($discountObj->id) >= $discountObj->quantity_per_user) renvoie true !!!

convertir en entier = 1

 

et il est refait un test avec le dernier >= $discountObj->quantity_per_user

 

1 >= $discountObj->quantity_per_user

 

résultat le client peut utilisé deux fois le bon de réduction qui est pourtant limité à une utilisable.

 

Il y a peut être une subtilité ? ou est ce un bug ?

Link to comment
Share on other sites

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...