Jump to content

añadir confirmar contraseña al registrarse. (PS 1.4)


realseik

Recommended Posts

Buenas tardes a todos, estoy intentando desarrollar esta caracteristica por mi mismo, pero estoy teniendo problemas, os explico:

he cambiado el fichero authenticacion.tpl poniendo:

            

{l s='Confirm password'}
               <input type="password" class="text" name="passwd2" id="passwd2" />
*





asi tenemos el campo confirmar contraseña. Tambien es obligatorio ponerlo como fieldRequired.

[code]     protected     $fieldsRequired = array('lastname', 'passwd', 'firstname', 'email', 'dni', 'passwd2');
Link to comment
Share on other sites

Tengo buenas y malas noticias XD

he conseguido que valide correctamente ! me falta esto en custumers.php

protected $fieldsRequired = array('lastname', 'passwd', 'firstname', 'email', 'dni', 'passwd2');
protected $fieldsSize = array('lastname' => 32, 'passwd' => 32, 'firstname' => 32, 'email' => 128, 'dni' => 16, 'passwd2' => 32);
protected $fieldsValidate = array('secure_key' => 'isMd5', 'lastname' => 'isName', 'firstname' => 'isName', 'email' => 'isEmail', 'passwd' => 'isPasswd',
'id_gender' => 'isUnsignedId', 'birthday' => 'isBirthDate', 'newsletter' => 'isBool', 'optin' => 'isBool', 'active' => 'isBool', 'dni' => 'isDni', 'passwd2' => 'isPasswd');


todo bien, he comprado y estoy dentro, pero ahora hay otro problema gordo, y es que si sales y vuelves a entrar, al poner tu correo y contraseña te salta un
"confirm password is required" que no se de donde narices viene O_o

ayuda :)



Tampoco me deja cambiar la contraseña desde el back office siendo admin. Me da que no he hecho algo bien...
Link to comment
Share on other sites

Yo sigo a lo mio. He conseguido arreglar un poco el tema pero sigue mal. Me explico.

He modificado el authentication.php porque creo que estaba mal.

En concreto he añadido la informacion de passwd2 en if (Tools::isSubmit('submitAccount')) linea 46 y no en if (Tools::isSubmit('SubmitLogin')) (ahora 139) como estaba antes.

En concreto el codigo nuevo es:

if (Tools::isSubmit('submitAccount'))
{
   $create_account = 1;
   $smarty->assign('email_create', 1);
   $validateDni = Validate::isDni(Tools::getValue('dni'));

   if (!Validate::isEmail($email = Tools::getValue('email')))
       $errors[] = Tools::displayError('e-mail not valid');
   if (!Validate::isPasswd(Tools::getValue('passwd')))
       $errors[] = Tools::displayError('invalid password');
   if (!Validate::isPasswd(Tools::getValue('passwd2')))
       $errors[] = Tools::displayError('confirm password failed');
   if (!((Tools::getValue('passwd'))==(Tools::getValue('passwd2'))))
       $errors[] = Tools::displayError('Error al confirmar la contraseña');
   if (Customer::customerExists($email))
       $errors[] = Tools::displayError('someone has already registered with this e-mail address');
   if (Tools::getValue('dni') != NULL AND $validateDni != 1)



Tras estos cambios todo va mas o menos bien. Los fallos si pones las cosas mal no son muy elegantes, pero eso ahora es lo de menos. El ususario se registra correctamente y si sale y vuelve a loggearse, puede hacerlo sin problemas.

El problema es que el admin no puede cambiarle la contraseña porque le pone que el passwd2 es obligatorio. sigo investigando.

Si el cliente intenta mirar sus datos personales sigue saltando el error fatal de Fatal error (Customer -> passwd2 is empty)

Link to comment
Share on other sites

solucionado. Al final googleando he encontrado
http://alvinjiang.blogspot.com/2010/10/prestashop-tips-how-to-enable-password.html

y siguiendo sus pasos me he dado cuenta que tengo todo exactamente igual pero me sobran unas lineas que hacen que passwd2 sea campo obligatorio y que parece que afecta a mas cosas de las que pensaba.

Admito mi derrota, pero al menos ya esta creado y si alguien quiere usarlo por aqui esta.

Link to comment
Share on other sites

  • 3 weeks later...
  • 4 weeks later...
Guest
This topic is now closed to further replies.
×
×
  • Create New...