Bienvenido a los foros %s

Foro comunidad hispana Dolibarr

Identificarse Registrarse

Campo obligatorios al crear tercero

Cuestiones sobre cómo utilizar Dolibarr, ayudas sobre las funcionalidades o cualquier cuestión que no está relacionada con un error.
gimbawe
Novato
Mensajes: 1
Registrado: Mié, 21/01/2015, 21:14

Campo obligatorios al crear tercero

Mensaje por gimbawe »

Hola

Estoy intentando que al crear nuevo tercero campos como el telefono, email etc sean obligatorios para el registro.

Estoy modificando el archivo societe/soc.php pero no lo logro que sea obligatorio

Alguien sabe como hacerlo? estoy utilizando la version 3.6.1 de dolibarr.

Gracias por su ayuda

Avatar de Usuario
ferran
Jedi
Mensajes: 547
Registrado: Vie, 18/01/2013, 16:31
Ubicación: Gandia, Valencia

Mensaje por ferran »

Buenos días,

lo más fácil sería incluir una comprobación que verifique que los campos citados tengan algún valor. En caso de estar vacíos, que devuelva error. Puedes tomar como ejemplo como está implementado para el resto de campos obligatorios.

Un saludo.
2byte.es Preferred Partner de Dolibarr.
¿Quieres soporte profesional? Contacta con nosotros

shadowwolfone
Novato
Mensajes: 1
Registrado: Mar, 02/06/2015, 17:32

Mensaje por shadowwolfone »

Hola a todos como estan.

Soy completamente nuevo en esto de dolibarr, y tambien estoy buscando la forma de que otros campos para crear el cliente sean obligatorios.

Intente copiar el mismo codigo de la parte de nombre de cliente en la de direccion pero no funciono.

Código: Seleccionar todo

        print '<tr><td valign="top"><span class="fieldrequired">'.$langs->trans('Address').' </span></td><td'.(empty($conf->global->SOCIETE_USEPREFIX)?' colspan="3"':'').'><textarea name="address" value="'.$objet->address.'" cols="40" rows="3" wrap="soft">';
            if (! empty($conf->global->SOCIETE_USEPREFIX))
            {
               print '<td>'.$langs->trans('Prefix').'</td><td><input type="text" size="5" maxlength="5" name="prefix_comm" value="'.$object->prefix_comm.'"></td>'; 
            }
Alguien sabe que mas se deberia modificar y en donde.

Por favor alguien que sepa.

Graciaas. :D :D

Avatar de Usuario
Pou42
Jedi
Mensajes: 597
Registrado: Lun, 26/03/2012, 13:13
Ubicación: Malgrat de Mar/Sant Hilari Sacalm

Mensaje por Pou42 »

gimbawe escribió:Hola

Estoy intentando que al crear nuevo tercero campos como el telefono, email etc sean obligatorios para el registro.

Estoy modificando el archivo societe/soc.php pero no lo logro que sea obligatorio

Alguien sabe como hacerlo? estoy utilizando la version 3.6.1 de dolibarr.

Gracias por su ayuda
Buenas.
Al final lo has conseguido??
shadowwolfone escribió:Hola a todos como estan.

Soy completamente nuevo en esto de dolibarr, y tambien estoy buscando la forma de que otros campos para crear el cliente sean obligatorios.

Intente copiar el mismo codigo de la parte de nombre de cliente en la de direccion pero no funciono.

Código: Seleccionar todo

        print '<tr><td valign="top"><span class="fieldrequired">'.$langs->trans('Address').' </span></td><td'.(empty($conf->global->SOCIETE_USEPREFIX)?' colspan="3"':'').'><textarea name="address" value="'.$objet->address.'" cols="40" rows="3" wrap="soft">';
            if (! empty($conf->global->SOCIETE_USEPREFIX))
            {
               print '<td>'.$langs->trans('Prefix').'</td><td><input type="text" size="5" maxlength="5" name="prefix_comm" value="'.$object->prefix_comm.'"></td>'; 
            }
Alguien sabe que mas se deberia modificar y en donde.

Por favor alguien que sepa.

Graciaas. :D :D
Con que version trabajas y que archivo es el del codigo?? Es que lo e buscado en "societe/soc.php" pero no lo encuentra :?
Salu2

Mi Flickr

Avatar de Usuario
loky
Novato
Mensajes: 14
Registrado: Lun, 20/04/2015, 19:20

Mensaje por loky »

Hola Pou42, solo busca el archivo /soc.php , que es el script que gestiona la creación de terceros,
busca el equivalente en tu versión a la parte donde coge los parámetros del formulario y por cada uno de los parámetros que quieras validar haz lo siguiente:

Código: Seleccionar todo

if (!empty($object->miCampo) && strlen($object->miCampo)==0) {
                $langs->load("errors");
                $error++;
                $errors[] = $langs->trans("ErrormiCampo", $object->miCampo);
             {   $action = ($action == 'add' ? 'create' : 'edit');
            }
¡ como decía Condorito exijo una explicación !

$object->miCampo : es el campo que tu quieres validar
$langs->load("errors"); : hace que se carguen los errores
$error++; : incrementamos los errores
$errors[] = $langs->trans("ErrormiCampo", $object->miCampo); : cargamos el vector de errores con el error si campo vació
ErrormiCampo : es una etiqueta nombre : valor que se encuentra ubicado en el archivo errors.lang
ejemplo:
ErrormiCampo=ErrormiCampo %s no puede ser vació.

recuerda que si quieres la traducción en tu idioma puedes sobre escribirlo en la carpeta correspondiente a tu idioma

saludos :lol: :lol: :)
loky from Perú
La solución mas simple tiende a ser la mejor