Jump to content
Sign in to follow this  
stalion

Divers beug avec le module mailalerts

Recommended Posts

Bonjour à tous,

J'utilise la version 1.2.1.0 de Prestashop et j'ai repéré 2 beug avec le module mailalerts (dont 1 que j'ai corrigé).

Le 1er (corrigé) :
dans le fichier myalerts.php, en bas de page dans la fonction DELETEALERT, remplacer
AND `customer_email` = '.strval($customer_email).'
par :
AND `customer_email` = \''.strval($customer_email).'\'
sinon votre base de données ne sera pas mise à jour à chaque envoi d'alerte, seul 1 email sera envoyé (alors qu'il aurait dû y en avoir plusieurs pour un même produit s'il y a plusieurs inscriptions), et lors de la mise à jour de votre stock dans votre fiche produit vous aurez un message d'erreur de syntaxe.

Le 2ème beug (j'arrive pas à le corriger) :
Si un client va dans son compte et décide de supprimer des alertes (rubrique Mes alertes), il doit cliquer sur la croix rouge mais là rien ne se passe. Aucune mise à jour de la base de données, aucune alerte de supprimer. Si quelqu'un trouve la solution pour régler ce problème ça aidera beaucoup de monde...

Share this post


Link to post
Share on other sites

Finalement il y aura un 3ème beug :
Tourjours dans la page Mes alertes d'un compte client, le pied de page est en anglais au lieu d'être en français :
Back to Your Account Home

Comment modifier cela ?

Share this post


Link to post
Share on other sites

Si exactement le même problème... impossible de supprimer une alerte dans la liste...
Je ne reçois pas non plus de mail quand le stock est rétabli côté client... Bizarre ce module ne m'a pas l'air super stable....
Tu as trouvé une solution ??
Merci de ta réponse.

Share this post


Link to post
Share on other sites

Alors petite solution que j'ai trouvé pour supprimer les alertes dans la liste avec la croix rouge....
Il y a une erreur dans la fonction :
Dans le fichier /modules/mailalerts/mailalerts.php

static public function deleteAlert($id_customer, $customer_email, $id_product, $id_product_attribute)
   {
       $query = 'DELETE FROM `'._DB_PREFIX_.'mailalert_customer_oos` 
       WHERE `id_customer` = '.intval($id_customer).'
       AND `customer_email` = '.strval($customer_email).'
       AND `id_product` = '.intval($id_product).'
       AND `id_product_attribute` = '.intval($id_product_attribute).';';
       return Db::getInstance()->Execute($query);
   }


j'ai fait un echo de cette requète et je me suis rendue compte que id_product = 0 il y avait donc une inversion dans les paramètres d'entrée de la fonction...
J'ai donc remplacé par :

static public function deleteAlert($id_customer, $id_product, $customer_email, $id_product_attribute)
   {
       $query = 'DELETE FROM `'._DB_PREFIX_.'mailalert_customer_oos` 
       WHERE `id_customer` = '.intval($id_customer).'
       AND `customer_email` = '.strval($customer_email).'
       AND `id_product` = '.intval($id_product).'
       AND `id_product_attribute` = '.intval($id_product_attribute).';';
       return Db::getInstance()->Execute($query);
   }


Et là ça marche bien :)
J'espère avoir pu aidé... et faire avancer l'instabilité de ce module...

Share this post


Link to post
Share on other sites

Ne faudrait-il pas poster tout cela dans le bug tracker ?

Share this post


Link to post
Share on other sites

Merci aux modérateurs d'avoir déplacé mon post dans le bug Tracker ^^
Chui une débutante dans ce forum...
J'ai pas encore tous les réflexes...
@ bientôt :)

Share this post


Link to post
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
Sign in to follow this  

×
×
  • Create New...

Important Information

Cookies ensure the smooth running of our services. Using these, you accept the use of cookies. Learn More