Jump to content

Quitar DNI obligatorio en Back Office (SOLUCIONADO)


moraira

Recommended Posts

bueno tras mucho buscar por ahí no encuentro nada al respecto, no creo que sea el único que le pasa esto en PS 1.6.0.9.

 

El problema es que cuando entramos en backoffice en una dirección de envío para corregir cualquier cosa, si el campo identificación esta en blanco nos aparece un mensaje que dice algo como: 

 

"El número de identificación es incorrecto o ya ha sido utilizado"

 

Seguramente es porque depende de como tengamos la configuracion del DNI en el país, pero muchos tenemos hecha la modificación para que sea opcional, es decir que se vea y el cliente lo introduzca si quiere,

 

Creo recordar que si quitamos la opción ¿Necesita el número de identificación fiscal? del pais nos desaparece de la ficha del cliente.

 

Bueno pues independientemente de lo que tengamos en el país, si queremos que a nosotros no nos lo pida en el backoffice, tenemos que editar el fichero: /controllers/admin/AdminAddressesController.php y mas o menos por la linea 345:

if (Country::isNeedDniByCountryId(Tools::getValue('id_country')) && !Tools::getValue('dni'))
   $this->errors[] = Tools::displayError('The identification number is incorrect or has already been used.');

simplemente comentamos esa validacion

/*
if (Country::isNeedDniByCountryId(Tools::getValue('id_country')) && !Tools::getValue('dni'))
   $this->errors[] = Tools::displayError('The identification number is incorrect or has already been used.');
*/

y ya podemos modificar direcciones independientemente de como lo tengamos en el front office.

 

Ya para hacerlo bien, modificamos el fichero y lo copiamos en el override

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

  • 3 weeks later...

Hola, estaba buscando algo como esto porque tengo un problema al crear una dirección.

 

Acabo de instalar un prestshop 1.6.0.9 y estoy probando a crear una cuenta como usuario, cuando voy a meter una dirección me da ese error todo el rato.

 

Ya he comentado esas líneas de código pero me sigue saliendo el problema, ya que no estoy seguro de que sea por un tema del dni, ya que en la dirección no hay un campo para ponerlo.

 

Adjunto captura.

 

Seguiré buscando información mientras.
 

Gracias!

post-885162-0-03919200-1417879163_thumb.png

Link to comment
Share on other sites

  • 4 weeks later...

Finalmente resolví mi problema. Lo pongo aquí por si alguien le pasa como a mi:

 

Dentro de la carpeta del tema, buscamos el archivo address.tpl y en las líneas 159 a 165 viene el tema del DNI

 

{if !$dniExist}
<div class="required dni form-group unvisible">
<label for="dni">{l s='Identification number'} <sup>*</sup></label>
<input class="is_required form-control" data-validate="{$address_validation.dni.validate}" type="text" name="dni" id="dni" value="{if isset($smarty.post.dni)}{$smarty.post.dni}{else}{if isset($address->dni)}{$address->dni|escape:'html'}{/if}{/if}" />
<span class="form_info">{l s='DNI / NIF / NIE'}</span>
</div>
{/if}

 

 

Lo que hay que hacer es cambiarle la clase, quitamos "required dni form-group unvisible" y ponemos sólo "form-group", de esta manera ya me funciona.

Otra cosa, en el panel de administración->clientes->direcciones no tengo marcado como obligatorio el DNI, porque si está marcado no funciona.

 

Ahora me estoy peleando con otros tantos problemas y demás, pero bueno, poco a poco.

Saludos.

Link to comment
Share on other sites

  • 4 months later...

Si os ocurre esto, no es necesario manipular el código fuente; simplemente, entras en la sección del backoffice CLIENTES-DIRECCIONES y pulsas sobre el botón "Establezca los campos obligatorios para esta sección" y desactivas el campo DNI que estará como obligatorio.

 

Ahora ya te dejará crear los proveedores que necesites. Cuando termines, simplemente, vuelves a activar el campo DNI como obligatorio en la sección anterior.

 

Saludos.

Link to comment
Share on other sites

  • nadie locked this topic
Guest
This topic is now closed to further replies.
×
×
  • Create New...