Jump to content

Inscription : Validation manuelle


Recommended Posts

Bonjour à tous,

 

cela fait un petit moment que j'essaie de trouver cette solution mais là je sèche, c'est pour cela que je me permet de poser cette question sur le forum.
 

Je souhiaterais valider manuellement mes clients lorsqu'il s'inscrive sur ma boutique prestashop. Ce que j'ai fais, j'ai modifié le AuthController.php et mis le  customer->active = 0; comme indiqué dans une réponse sur le forum. Donc tout se passe bien, le client reçoit son email.

 

Après activation dans le backOffice, le client ne peut pas se connecter. Est ce normal ? Est ce que j'ai oublié de faire un truc ?

 

Merci.

 

je travaille sous prestashop 1.5.6.

Link to comment
Share on other sites

Ah une à moitié bonne nouvelle (Comme quoi quand on persévère, on trouve quelque solution.)

 

J'ai testé de me connecté avec Firefox et safari, et là bizarement ça marche. Cependant sur chrome, je n'arrive pas à me connecter avec mon compte client, est ce que vous savez pourquoi par hasard ?

 

Pensez vous que le thème installé (alysum pour ma part) peut jouer un rôle dans ce bug ?

Autre question (peut être un lien vers un ancien topic), lorsque la personne s'inscrit pour la première fois est ce qu'il y a moyen de le faire attérir sur une page spécifique (ou ajouter un attribut dans l'url)? si oui j'aimerai bien savoir comment on fait (où du moins, savoir où regarder).
 

En vous remerciant d'avoir pris le temps de lire ce que j'ai publié.

(quand une solution complète aura été mise au point, je vous ferai part de mon aventure et ma solution).

Link to comment
Share on other sites

  • 3 weeks later...

Up !
 

Comment puis-je faire pour, lors de l'inscription sur le site pour la première fois, faire apparaitre une popup en disant que c'est l'administrateur qui valide les accès? j'ai essayé en mettant des paramètre dans l'url mais je n'arrive pas a passé de paramètre dans l'url.

Dans le fichier AuthController.php, j'ai essa de mettre des &toto=true; lors de l'activation de notre client mais rien n'apparait dans l'url, avez vous une idée de comment faire ça ???

 

Merci

Link to comment
Share on other sites

Bonjour,

 

Je suis en plein dedans, échange de données multi-plateforme et double session de connexion, mais ce n'est pas le sujet :P

 

Je vais considérer que votre profil est "développeur", si ce n'est pas le cas, n'hésitez pas à demander plus d'informations.

.

C'est bien dans le AuthController qu'il faut taper (pas trop fort hein), et en gros ce qui nous intéresse se situe dans les méthodes "processSubmitAccount" et "processSubmitLogin"

 

Je prends pour exemple la création de compte, vous voulez faire une popin mais vous n'arrivez pas à passer de paramètres, c'est normal étant donné qu'il y a une redirection.

 

Dans la méthode AuthController après l'ensemble des contrôles, vous avez quelque chose comme ceci : 

 
 
if (!$this->ajax)
{
    if ($back = Tools::getValue('back'))
        Tools::redirect(html_entity_decode($back));
    Tools::redirect('index.php?controller='.(($this->authRedirection !== false) ? urlencode($this->authRedirection) : 'my-account'));
}
 

C'est précisément là ou il faut taper si vous voulez immédiatement afficher le message sans rebond supplémentaire, l'idée pour vous étant de couper ces redirections pour mettre votre script de popin ou de les adapter à votre convenance.

 

A noter que vous pouvez aussi utiliser le paramètre $back pour passer une url de votre choix sur laquelle pointer après la connexion.

 

Enfin, il y a ce même genre de redirection dans l'autre méthode (création de compte) ;)

Edited by Whoami (see edit history)
Link to comment
Share on other sites

Hey,

 

enfin une réponse à ce Topic ^^.

 

Oui c'est bien là dedans que j'ai tapé (un peu partout certes) j'ai fait quelque chose de ce type là

if (!$this->ajax)
{
    if ($back = Tools::getValue('back'))
        Tools::redirect(html_entity_decode($back));
    Tools::redirect('index.php?controller='.(($this->authRedirection !== false) ? urlencode($this->authRedirection)+"&newAccount=true" : 'my-account'));
}

mais mon newAccount ne s'affiche pas, est ce normal ?

 

En tout cas merci, je pensais que la logique prestashop avait eu raison de moi !

Edited by wamamadeus (see edit history)
Link to comment
Share on other sites

Essayez éventuellement : 

 

 


 

if (!$this->ajax)
{
    if ($back = Tools::getValue('back'))
        Tools::redirect(html_entity_decode($back));
    Tools::redirect('index.php?controller='.(($this->authRedirection !== false) ? urlencode($this->authRedirection).'&newAccount=true' : 'my-account'));
}

 

Link to comment
Share on other sites

Oula,

 

oui en effet c'est un "." à la place d'un + (désolé en ce moment je fais que du js donc j'ai pris un peu l'automatisme).

 

Normalement si mes souvenir son bon ça ne marche pas je réessaie cela au plus vite (ce soir ou demain) et je vous redis ça)

 

Thanks you "Qui ami" .

Link to comment
Share on other sites

  • 3 weeks later...

Re- bonjour,

 

rien n'y fait je ne comprends pas d'où cela vient!

 

j'ai modifié ces lignes là dans les méthodes processSubmitAccount et processSubmitLogin: 

Tools::redirect('index.php?controller='.(($this->authRedirection !== false) ? urlencode($this->authRedirection).'&nexAccount=true' : 'my-account'));

et j'obtiens comme url : 

 

www.monsite.com/fr/authentification?back=my-account

Donc en regardant l'url j'ai fait l'inverse : 

Tools::redirect('index.php?controller='.(($this->authRedirection !== false) ? urlencode($this->authRedirection) : 'my-account&nexAccount=true'));

toujours rien l'url ne change pas d'un pouce, avez vous des idées ?

 

Merci.

Link to comment
Share on other sites

Bonjour,

 

L'inverse de 

 

Tools::redirect('index.php?controller='.(($this->authRedirection !== false) ? urlencode($this->authRedirection).'&nexAccount=true' : 'my-account'));
 

est

 

Tools::redirect('index.php?controller='.(($this->authRedirection === false) ? urlencode($this->authRedirection).'&nexAccount=true' : 'my-account'));
Link to comment
Share on other sites

RE-coucou,

 

ça fait un moment que je n'ai pas reposter.

Bah écouter merci pour votre mais rien n'y fait il m'est impossible d'ajouter un paramètre à une URL, je ne comprends pas rien à prestashop.

 

Est ce que quelqu'un l'a déjà fait ? j'ai besoin de sortir le site rapidement et ça fait 2 jours que je suis dessus, je suis sur qu'il n'y a rien de plus simple à faire mais la logique prestashop m'échape.

 

Je vous donne les lignes que je change :

 

 

Dans la methode processSubmitAccount() de la classe AuthController :

						if ($back = Tools::getValue('back'))
							Tools::redirect(html_entity_decode($back));
						// redirection: if cart is not empty : redirection to the cart
						if (count($this->context->cart->getProducts(true)) > 0)
							Tools::redirect('index.php?controller=order&multi-shipping='.(int)Tools::getValue('multi-shipping'));
						// else : redirection to the account
						else
							Tools::redirect('index.php?controller='.(($this->authRedirection !== false) ? urlencode($this->authRedirection) : 'my-account'));
					}

ET

	// else : redirection to the account
							else
								Tools::redirect('index.php?controller='.(($this->authRedirection !== false) ? urlencode($this->authRedirection) : 'my-account'));
						}
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...