Djael Posted September 20, 2012 Share Posted September 20, 2012 (edited) Bonjour, Problème rencontré : Nous ajoutons nos clients nous même via le Back-Office, la page d'enregistrement est désactivée. Ceci étant, nous souhaiterions automatiser lors de la création de ces derniers, un envoi de mail leur donnant le fameux lien permettant de réinitialiser leur mot de passe.. Des idées ? Merci d'avance Edited September 20, 2012 by Djael (see edit history) Link to comment Share on other sites More sharing options...
J. Danse Posted September 20, 2012 Share Posted September 20, 2012 Quelle est la version de PrestaShop ? Sur une 1.5, j'ai votre solution... Link to comment Share on other sites More sharing options...
coeos.pro Posted September 20, 2012 Share Posted September 20, 2012 pour les mots de passe oubliés (ou pour les régénérer) c'est sur ta_boutique/password.php pour modifier un mot de passe quand on le connait et que l'on est connecté, c'est ta_boutique/identity.php sur 1.4 c'est comme ça Link to comment Share on other sites More sharing options...
J. Danse Posted September 20, 2012 Share Posted September 20, 2012 Sauf que ça ne répond pas à la question, là... Ou alors, je n'ai pas compris ce que voulais Djael, ... ! Link to comment Share on other sites More sharing options...
coeos.pro Posted September 20, 2012 Share Posted September 20, 2012 ce que j'ai compris: les inscriptions sont interdites par les client directement, donc Djael créer des comptes client et donc leur impose un mot de passe. Pour des raisons de sécurité et de confiance il souhaite envoyer un mail au client qu'il viens d'inscrire un lien vers une page permettant au client de changer ce mot de passe. Link to comment Share on other sites More sharing options...
J. Danse Posted September 20, 2012 Share Posted September 20, 2012 Oui, là, on comprend la même chose. Mais je rajouterais surtout qu'il veut automatiser ça (même si, et on sera surement d'accord), le client peut toujours aller réinitialiser le mot de passe. Mais je ne pense pas que la création du client via le back office envoi un mail de création de compte, en fait. Link to comment Share on other sites More sharing options...
Djael Posted September 20, 2012 Author Share Posted September 20, 2012 Vous avez bien résumé la chose ! Lors de la création dans le back-office, aucun mail n'est envoyé au client, et c'est ce que nous souhaiterions. Un mail avec un lien pour réinitialiser son mot de passe. Ca doit pas être bien compliqué, mais ici on rame.. Link to comment Share on other sites More sharing options...
J. Danse Posted September 20, 2012 Share Posted September 20, 2012 Je ré-itère, quelle est la version de PrestaShop utilisée ? Link to comment Share on other sites More sharing options...
Djael Posted September 20, 2012 Author Share Posted September 20, 2012 Oups Nous sommes sur une 1.4. Link to comment Share on other sites More sharing options...
hitomiie Posted January 22, 2013 Share Posted January 22, 2013 Je suis aussi intéressée par une réponse Link to comment Share on other sites More sharing options...
klezeus Posted April 10, 2013 Share Posted April 10, 2013 Ce topic m'intéresse, surtout pour une solution sur 1.5 ! Link to comment Share on other sites More sharing options...
Guillaume Orsal Posted October 12, 2013 Share Posted October 12, 2013 Hello, Sur 1.5.5.0, je crée le compte avec un mot de passe bidon, puis je démarre la procédure de récupération du mot de passe avec l'adresse du compte client que je viens de créer. Ainsi le client reçoit l'email de réinitialisation. Comment faire pour qu'à la création d'un compte client, il n'y ait pas besoin de saisir un mot de passe, et qu'il soit généré automatiquement et envoyé automatiquement au client ? Guillaume Link to comment Share on other sites More sharing options...
atcha_ Posted November 14, 2013 Share Posted November 14, 2013 Aucune nouvelles concernant ce topic ? Une réponse pour la 1.5 m'intéresse fortement. Merci d'avance . Atcha Link to comment Share on other sites More sharing options...
J. Danse Posted November 14, 2013 Share Posted November 14, 2013 Je dirais bien avoir une réponse mais il s'agit d'un nouveau module que j'ai réalisé et que je vends à 29.90€. Pas sur que ce soit donc une réponse souhaitée, ;-) Link to comment Share on other sites More sharing options...
atcha_ Posted November 14, 2013 Share Posted November 14, 2013 (edited) En fait je viens de trouver une solution toute simple utilisant les mails de base (désolé pour le module ). Il suffit de faire un override du controler admin customer, nom exact : "AdminCustomersController.php" qui se trouve dans /controllers/admin Il vous suffit de mettre ça : class AdminCustomersController extends AdminCustomersControllerCore { public function processAdd() { if (Tools::getValue('submitFormAjax')) $this->redirect_after = false; // Check that the new email is not already in use $customer_email = strval(Tools::getValue('email')); $customer = new Customer(); if (Validate::isEmail($customer_email)) $customer->getByEmail($customer_email); if ($customer->id) { $this->errors[] = Tools::displayError('An account already exists for this email address:').' '.$customer_email; $this->display = 'edit'; return $customer; } elseif ($customer = parent::processAdd()) { $this->context->smarty->assign('new_customer', $customer); $this->sendConfirmationMail($customer); return $customer; } return false; } /** * sendConfirmationMail * @param Customer $customer * @return bool */ protected function sendConfirmationMail(Customer $customer) { if (!Configuration::get('PS_CUSTOMER_CREATION_EMAIL')) return true; return Mail::Send( $this->context->language->id, 'account', Mail::l('Welcome!'), array( '{firstname}' => $customer->firstname, '{lastname}' => $customer->lastname, '{email}' => $customer->email, '{passwd}' => Tools::getValue('passwd')), $customer->email, $customer->firstname.' '.$customer->lastname ); } } ce fichier sera nommé pareil mais vous irez le placer dans /override/controllers/admin Sur ce je vous souhaite une bonne fin de journée . Je précise, je suis en version 1.5.6 Edited November 14, 2013 by atcha_ (see edit history) Link to comment Share on other sites More sharing options...
Guillaume Orsal Posted November 14, 2013 Share Posted November 14, 2013 Super ! Merci pour la réponse, et tant pis pour les vendeurs de module qui gardent leurs secrets ;-) Link to comment Share on other sites More sharing options...
atcha_ Posted November 14, 2013 Share Posted November 14, 2013 Là tu as l'utilisation du mail account classique. Après tout est modifiable en fonction des paramètres que tu passes à la fonction Mail::Send Link to comment Share on other sites More sharing options...
coeos.pro Posted November 14, 2013 Share Posted November 14, 2013 plus simple encore, pour ton override met juste : <?php class AdminCustomersController extends AdminCustomersControllerCore { public function processAdd() { $customer = parent::processAdd(); if($customer AND empty($this->errors)) Mail::Send( Context::getContext()->employee->id_lang, 'account', Mail::l('Welcome!'), array( '{firstname}' => $customer->firstname, '{lastname}' => $customer->lastname, '{email}' => $customer->email, '{passwd}' => Tools::getValue('passwd')), $customer->email, $customer->firstname.' '.$customer->lastname ); return $customer; } } j'ai testé en local sur 1.5.6 et j'ai bien reçu le mail 1 Link to comment Share on other sites More sharing options...
atcha_ Posted November 14, 2013 Share Posted November 14, 2013 Oui effectivement. C'est que je préférais avoir une fonction à part pour l'envoie d'e-mail. Link to comment Share on other sites More sharing options...
J. Danse Posted January 29, 2014 Share Posted January 29, 2014 Je dirais bien avoir une réponse mais il s'agit d'un nouveau module que j'ai réalisé et que je vends à 29.90€. Pas sur que ce soit donc une réponse souhaitée, ;-) Pour l'info, le module est publié. Et il permet de générer des mots de passe clients et employés, et de pouvoir les envoyer (ou non !) par mail. ;-) Link to comment Share on other sites More sharing options...
coeos.pro Posted January 29, 2014 Share Posted January 29, 2014 plus simple encore, pour ton override met juste : <?php class AdminCustomersController extends AdminCustomersControllerCore { public function processAdd() { $customer = parent::processAdd(); if($customer AND empty($this->errors)) Mail::Send( Context::getContext()->employee->id_lang, 'account', Mail::l('Welcome!'), array( '{firstname}' => $customer->firstname, '{lastname}' => $customer->lastname, '{email}' => $customer->email, '{passwd}' => Tools::getValue('passwd')), $customer->email, $customer->firstname.' '.$customer->lastname ); return $customer; } } j'ai testé en local sur 1.5.6 et j'ai bien reçu le mail sinon ça c'est gratuit, merci la communauté Link to comment Share on other sites More sharing options...
J. Danse Posted January 29, 2014 Share Posted January 29, 2014 Certaines choses ne peuvent être mises gratuitement, à tout va... Le module dont je parle, par exemple, ne requiert aucun override (ce qui est donc un plus ! ;-)). Mais oui, sinon. Link to comment Share on other sites More sharing options...
coeos.pro Posted January 29, 2014 Share Posted January 29, 2014 je crois que tu n'a rien compris au principe d'entraide, mais bon. pas d'override ? super !!! ça mérite bien 30€ Link to comment Share on other sites More sharing options...
J. Danse Posted January 29, 2014 Share Posted January 29, 2014 Le premier qui ose me dire que je n'ai pas compris ce principe est né: il s'agit de coeos.pro Je te laisse retracer mon historique passé et présent, à ce sujet. Tu reviendras me voir quand tu en sauras plus. Le fait de proposer un override (et ce gratuitement) ne m'empêche pas de réaliser un module payant. Je ne force personne à l'acheter et je ne cherche nullement à cacher les entraides gratuites qui, en effet, pour une fois ne sont pas de moi et il m'arrive bien souvent de les référencer. En cas. 1 Link to comment Share on other sites More sharing options...
LIKEAROBOT Posted January 29, 2014 Share Posted January 29, 2014 Ha ceux qui confondent l'open source et la gratuité... Tout un monde!!!Débourser 30€ pour un module fonctionnel plutôt qu'une bidouille à l'arrache.com. Il me semble que l'exagération est minime!À bon entendeur... Link to comment Share on other sites More sharing options...
coeos.pro Posted January 29, 2014 Share Posted January 29, 2014 Le premier qui ose me dire que je n'ai pas compris ce principe est né: il s'agit de coeos.pro Je te laisse retracer mon historique passé et présent, à ce sujet. Tu reviendras me voir quand tu en sauras plus. MDR, tu fais référence au module achat groupé GRATUIT que tu "reprends" pour en faire une version payante ? Le fait de proposer un override (et ce gratuitement) ne m'empêche pas de réaliser un module payant. Euh NON, atcha_ a donné un override gratuitement et j'ai apporté une petite optimisation gratuite de cet override, mais toi tu n'a RIEN proposé, hormis une solution payante : Je dirais bien avoir une réponse mais il s'agit d'un nouveau module que j'ai réalisé et que je vends à 29.90€. Pas sur que ce soit donc une réponse souhaitée, ;-) en tout cas, si tu veux vendre tes modules, je t'invite cordialement à le faire dans la bonne section, inutile de déterrer des post pour ça Débourser 30€ pour un module fonctionnel plutôt qu'une bidouille à l'arrache.com. une bidouille qui fonctionne, et 30€ pour un copié collé de 10 lignes... Link to comment Share on other sites More sharing options...
LIKEAROBOT Posted January 29, 2014 Share Posted January 29, 2014 Allez encore un post qui va virer au "fight" et déborder sur du nimp... Perso mon cher Coeos.pro je préfère en arrêter là quand je vois ta réponse faite à PrestaEdit... Mais je serais super curieux de décortiquer l'un de tes modules car ta prétention me paraît bien haute Link to comment Share on other sites More sharing options...
coeos.pro Posted January 29, 2014 Share Posted January 29, 2014 donc lui affirme apporter une solution gratuite (alors qu'il ne fait qu'apporter que des solutions payantes), je lui fait remarquer que et du coup je suis le vilain méchant, tu es gentil mais avec tes 173 messages en plus de 4 ans... Link to comment Share on other sites More sharing options...
LIKEAROBOT Posted January 29, 2014 Share Posted January 29, 2014 J'ai largement contribuer (via un autre pseudo) à ce forum... Je déterre celui-ci pour répondre à cela et c'est bien dommage... En quoi j'ai dit que tu étais le vilain méchant? Link to comment Share on other sites More sharing options...
J. Danse Posted January 29, 2014 Share Posted January 29, 2014 Bon, j'aime pas jouer aux citations de citations. Je te fais donc une rapide réponse et après, basta. L'idée n'est pas que ce sujet soit ton terrain de jeu. Au pire, tu passes en MP ou via ma boite mail, pas de soucis. Concernant le module d'achats groupés, en effet je le reprends pour en proposer une version payante. Du moins, je reprends le principe. Ce module est proposé pour les versions 1.3 et 1.4 et est en désuétude. Il n'est absolument pas fonctionnel sur une 1.5 et donc encore moins sur une 1.6, en effet. Mon travail consiste à proposer une solution sur base de celle existante, niveau fonctionnalités, et ce améliorée. Grandement. Ceci dit, je ne vois pas ce qu'il vient faire dans ce sujet. Je ne l'ai pas proposé, en effet. Mais, où ai-je mentionné l'avoir fait ? Si tu veux, je refais ma phrase: "Le fait que vous proposiez des overrides (et ce gratuitement), [...]". Mais, en fait, je crois que tout le monde avait compris, tu sais. Je ne répondrais rien au sujet du déterrage ou du module payant. Ce n'est ni à toi ni à moi de le faire. Et ce serait idiot de ma part de réagir à cela. Pour informations, le code du module est repris dans plusieurs hooks et comporte principalement du JavaScript. Je confirme, il y a également un appel à la méthode Send() de la classe Mail. Mais, jusque là, ça me semble tout à fait cohérent. Donc, il ne s'agit nullement d'un simple copier/coller. Vraiment. Mais je ne t'encourage pas à acheter le module pour le vérifier par toi-même. Je sais que tu ne le feras pas. ;-) Au plaisir donc de lire tes interventions d'entraides communautaires, plutôt que ces accusations sans queues ni têtes. ;-) 1 Link to comment Share on other sites More sharing options...
atcha_ Posted January 29, 2014 Share Posted January 29, 2014 Bonsoir messieurs.Je reçois beaucoup de mail en très peu de temps ^^. Personnellement je ne vois pas l'intérêt d'une telle discussion. Une personne pose un problème, il y a plusieurs façons de le résoudre. Le business model de Prestashop réside dans la vente de module, principalement. Je ne vois donc pas en quoi faire de la promotion pour un module (qui par ailleurs ne coûte pas bien cher) serait interdit ici. Nous donnons une solution pour des personnes voulant se mettre un peu dans le code (ce qui peut-être gênant si ils ne s'y connaissent pas et que plus tard ils doivent modifier leur override ou mettre à jour etc), mais d'autres préféreront la facilité d'une simple installation en BO. Je pense qu'avoir eu des réponses différentes est plutôt bon pour la communauté et pas l'inverse . Bref tout ça pour dire, stop flood ma boite mail ><. 2 Link to comment Share on other sites More sharing options...
lordbdp Posted February 13, 2014 Share Posted February 13, 2014 (edited) Concernant l'envoi du mot de passe par email lors de la création d'un compte, ce n'est pas par défaut sous PS 1.5... ??? Edited February 13, 2014 by lordbdp (see edit history) Link to comment Share on other sites More sharing options...
J. Danse Posted February 13, 2014 Share Posted February 13, 2014 Lors de la création d'un compte via le Front-Office, oui. D'ailleurs, à ce moment là, le mot de passe est connu de l'utilisateur. Il s'agit, ici, de la création d'un compte via l'administrateur dans le Back Office. Link to comment Share on other sites More sharing options...
atcha_ Posted February 13, 2014 Share Posted February 13, 2014 Non cette fonctionnalité n'est actuellement pas présente lors d'une création de compte via backoffice.Elle n'est d'ailleurs pas présente non plus en natif sur la version 1.6.0.2. Link to comment Share on other sites More sharing options...
pauline75 Posted March 21, 2014 Share Posted March 21, 2014 Bonjour, j'ai suivi la méthode de ATCHA en collant son code dans : override/controllers/admin dans le fichier : AdminCustomersController.php (il n'y a dedans que le code d'Atcha posté le 14 Nov 2013 à 03:16 PM). La seule modif que j'ai faite, c'est d'avoir remplacé "account" par "accountBO" car je veux utiliser un template mail spécifique dans le cas où c'est un de mes commerciaux qui créent le compte client ds le BO. Donc dans Mail > fr > j'ai créé accountBO.html + accountBO.txt Et cela ne marche pas. Je viens de créer un compte client client dans mon BO et je re reçois aucun mail. Qu'est-ce que j'ai oublié de faire pour que cela marche ? Merci d'avance pour votre aide & réponse, je ne pense pas être loin du but mais ... Pauline. Link to comment Share on other sites More sharing options...
atcha_ Posted May 5, 2014 Share Posted May 5, 2014 Serait-il possible de passer ce post en résolu afin que les personnes intéressées par les différentes solutions puissent les trouver plus facilement ?Merci d'avance à toi Djael ou à un admin du forum . Link to comment Share on other sites More sharing options...
desbonsprix Posted September 7, 2014 Share Posted September 7, 2014 Désolé de revenir sur cette manip, je ne comprend pas ce qu'il faut faire ... c'est quoi un overide ? Remplacer le fichier par ce que vous avez écrit , rajouter ce que vous avez écrit ou remplacer qu'une partie du fichier ? Merci d'avance Link to comment Share on other sites More sharing options...
coeos.pro Posted September 7, 2014 Share Posted September 7, 2014 regarde si tu as un fichier AdminCustomersController.php dans le dossier override/controllers/admin/Tu n'as pas ce fichier :créé un fichier avec notepad (bloc note de windows) ou notepad++ et copie colle le code que j'ai mis ici : http://www.prestashop.com/forums/topic/189158-envoi-de-mot-de-passe-par-mail-lors-de-la-creation-de-client/?do=findComment&comment=1456812Tu as un fichier AdminCustomersController.php :ouvre le et vérifie qu'il n'y a pas de fonction processAdd. Pas de fonction processAdd : copie colle le code dans le fichier, dans la classe AdminCustomersControllerTu as un fichier AdminCustomersController.php et il contient la fonction processAdd, alors il faut modifier cette fonction pour y rajouter à la fin de la fonction : if($customer AND empty($this->errors)) Mail::Send( Context::getContext()->employee->id_lang, 'account', Mail::l('Welcome!'), array( '{firstname}' => $customer->firstname, '{lastname}' => $customer->lastname, '{email}' => $customer->email, '{passwd}' => Tools::getValue('passwd')), $customer->email, $customer->firstname.' '.$customer->lastname ); return $customer; si jamais il y a un return $customer; juste à la fin alors il faut le supprimer. Link to comment Share on other sites More sharing options...
desbonsprix Posted September 7, 2014 Share Posted September 7, 2014 (edited) Merci pour ta réponse rapide !!! je n'avais pas le fichier AdminCustomersController.php, j'avais juste un fichier AdminOrdersController. Alors j'ai créer un fichier AdminCustomersController.php, j'ai mit le code : <?phpclass AdminCustomersController extends AdminCustomersControllerCore{ public function processAdd() { $customer = parent::processAdd(); if($customer AND empty($this->errors)) Mail::Send( Context::getContext()->employee->id_lang, 'account', Mail::l('Welcome!'), array( '{firstname}' => $customer->firstname, '{lastname}' => $customer->lastname, '{email}' => $customer->email, '{passwd}' => Tools::getValue('passwd')), $customer->email, $customer->firstname.' '.$customer->lastname ); return $customer; }} je l'ai déposé dans override/controllers/admin/ A la création d'un compte client depuis le BO, le client ne reçoit toujours pas de mail ... SNIFFFF Edited September 7, 2014 by desbonsprix (see edit history) Link to comment Share on other sites More sharing options...
desbonsprix Posted September 7, 2014 Share Posted September 7, 2014 Bon je viens de réessayer et toujours rien, j'ai refait ETAPE par ETAPE la manip création du fichier AdminCustomersController.php avec ton code > mettre dans override/controllers/admin/ et toujours rien !!! Lorsque je créer un client, j'ai bien la notification de nouveau client en haut du BO mais aucuns mail est envoyé sur l'adresse mail du client ?? Doije faire une autre manip ? ou vérification ? Greg Link to comment Share on other sites More sharing options...
coeos.pro Posted September 7, 2014 Share Posted September 7, 2014 renomme le fichier classes/class_index.php en classes/_class_index.php et reteste. Link to comment Share on other sites More sharing options...
desbonsprix Posted September 7, 2014 Share Posted September 7, 2014 Je viens de renommer le fichier class_index.php en _class_index.php du dossier override/classes et idem pas de mail lors de la création du compte client. Bizarre non ? Pourtant ça devrait fonctionner ... Greg Link to comment Share on other sites More sharing options...
desbonsprix Posted September 8, 2014 Share Posted September 8, 2014 (edited) salut coeos.pro Voici un code que j'ai trouvé et que j'ai mis en dur dans le fichier AdminCustomersControlle.php et ça fonctionne à merveille !! public function processAdd() { if (Tools::getValue('submitFormAjax')) $this->redirect_after = false; // Check that the new email is not already in use $customer_email = strval(Tools::getValue('email')); $customer = new Customer(); if (Validate::isEmail($customer_email)) $customer->getByEmail($customer_email); if ($customer->id) { $this->errors[] = Tools::displayError('An account already exists for this email address:').' '.$customer_email; $this->display = 'edit'; return $customer; } elseif ($customer = parent::processAdd()) { $this->context->smarty->assign('new_customer', $customer); Mail::Send( $this->context->language->id, 'account', Mail::l('Welcome!'), array( '{firstname}' => $customer->firstname, '{lastname}' => $customer->lastname, '{email}' => $customer->email, '{passwd}' => Tools::getValue('passwd')), $customer->email, $customer->firstname.' '.$customer->lastname ); return $customer; } return false; } source :http://www.prestashop.com/forums/topic/174072-recherche-envoie-de-mail-a-creation-nouveau-compte-client/ J'ai même créer un mail account2 pour différencier le mail d'origine qui n'est pas adapté ... Merci pour ce coup de pouce car tu m'as mis sur la voie !! Greg Edited September 8, 2014 by desbonsprix (see edit history) Link to comment Share on other sites More sharing options...
coeos.pro Posted September 8, 2014 Share Posted September 8, 2014 les comptes clients que tu as créé hier, c'était depuis le bo ou le fo ? Link to comment Share on other sites More sharing options...
nico5969 Posted September 9, 2014 Share Posted September 9, 2014 (edited) hello a tous, je suis sur une version 1.6.0.9 Je viens de reprendre le code "court" de la première page, fourni par coeos.pro j ai copié le controleur dans l'override puis remplacé le code présent par celui fourni et ...Cela fonctionne !!!!!!! en revanche ca ne fonctionne pas lors de la modification du mdp dans l'admin, seulement sur une création de compte. Merci beaucoup pour ce bout de code bien utile. Edited September 9, 2014 by nico5969 (see edit history) Link to comment Share on other sites More sharing options...
Recommended Posts