Bonjour,
Il faut ne pas tout confondre et ne pas crier au "ça ne marche pas".
Le système d'ajout de points comportait un potentiel bug, que j'ai corrigé en ajoutant par la même occasion une nouvelle option de configuration.
Cette option de configuration permet de choisir les statuts pour lesquels on accepte de donner des points à l'utilisateur.
Ainsi, lorsqu'une commande passe d'un statut qui ne fait pas parti de la liste à un statut qui fait parti de la liste, on lui fournis des points.
Ce processus sur déroule uniquement lors d'une mise à jour de commande.
Le système prends aussi en compte la suppression de points (pour le changement inverse, si l'option adéquate est activée).
Maintenant il faut bien comprendre une chose, ce que le plugin ne fait pas : l'ajout de points lors de la création de la commande.
Comme je l'ai dit juste au dessus, les points sont ajoutés durant l'évènement de mise à jour de commande et non pas à la création de la commande. Le processus qui est bel est bien automatique ne peut pas se déclencher à un endroit ou il n'a pas été prévu pour.
Lorsque vous modifiez manuellement un statut de commande, le système ajoute automatiquement les points. Ce n'est pas à vous d'aller ajouter manuellement les points. La configuration de votre site n'est pas en adéquation avec le principe de fonctionnement de plugin.
D'un point de vue général, le fait de donner des points à la création d'une commande permet à un utilisateur de gagner une grande quantité de points en créant des commandes qu'il ne validera pas ensuite.
En plus de cela, des plugins de paiement comme "collect on delivery" permet de définir une statut pour la commande après "paiement". Ce plugin fait une mise à jour de la commande afin de changer le statut et déclenche donc l'évènement d'ajout de points. Le plugin "bank transfert" fait de même.
Alors maintenant, vu que j'ai l'impression que la discussion tourne déjà grandement en ronds j'ai passé je ne sais combien de temps à faire les modifications dans le plugin pour ajouter cette nouvelle fonctionnalité qui pour ma part peut se résoudre par de la configuration.
Résultat, il a fallut refaire une partie des fonction de calcul de points afin de poser des optimisations pour que le loadFullOrder ne soit pas appelé à chaque fois qu'une commande était créé, car malheureusement cet évènement ne peux pas forcement accéder à toutes les informations nécessaires par le plugin pour faire le traitement des données et des calculs de points, nécessitant ainsi le chargement de la commande de la base de données et allongeant ainsi le temps de traitement.
Il y a eu aussi une grande quantité de tests, même des tests sans utiliser de méthode de paiement afin de gérer presque tous les cas inimaginables.
Le plugin est commit et dans les tuyaux pour la 1.5.8