Jump to content

Autoriser chiffres nom client


Recommended Posts

Bonjour,

Je vais reformuler ma question afin que vous puissiez comprendre la raison de ma demande.

Mon Prestashop est réservé au pro et il est en synchro avec Dolibarr pour la gestion des commandes et facturation, pour une société le lastname correspond au nom de société et peu avoir des chiffres comme par "shop 2 rue"
Mais Prestashop ne permet pas les chiffres dans le nom donc quand je fais un import client ça me retourne des erreurs...

Est ce que la raison de ma demande est plus clair?

Merci pour votre aide.

Cordialement,

Link to comment
Share on other sites

Merci pour ta réponse,

après avoir modifier la classe Customer.php comme indiqué:

public static $definition = array(
        'table' => 'customer',
        'primary' => 'id_customer',
        'fields' => array(
            'secure_key' => array('type' => self::TYPE_STRING, 'validate' => 'isMd5', 'copy_post' => false),
            'lastname' => array('type' => self::TYPE_STRING, 'validate' => 'isGenericName', 'required' => true, 'size' => 255),
            'firstname' => array('type' => self::TYPE_STRING, 'validate' => 'isGenericName', 'required' => true, 'size' => 255),
            'email' => array('type' => self::TYPE_STRING, 'validate' => 'isEmail', 'required' => true, 'size' => 255),

quand je rentre un nouveau client manuellement ça me retourne un message d'erreur:

La propriété PrestaShopLogger->object_type n'est pas valide.

Merci pour ton aide

Link to comment
Share on other sites

il y a 13 minutes, Papillon a dit :

pour une société le lastname correspond au nom de société

Donc c'est que la synchronisation en se fait pas comme il faut puisque le lastname devrait pointer sur company dans PrestaShop.

 

il y a 5 minutes, Papillon a dit :

La propriété PrestaShopLogger->object_type n'est pas valide. 

L'erreur est en rapport avec quoi ?

Car là cela semble aborder un soucis avec l'enregistrement dans Log dans PrestaShop.

Travaillez vous en mode debug ?

avez vous effacé le var/cache/prod/class_index.php après la modification de la classe ?

Link to comment
Share on other sites

Je pense que le plus simple serai de passer par la classe Validate.php pour autoriser les chiffres au niveau de la fonction isName, mais je ne sais pas comment faire pour que les chiffres soit accepté:

     * @return bool Validity is ok or not
     */
    public static function isName($name)
    {
        return preg_match(Tools::cleanNonUnicodeSupport('/^[^0-9!<>,;?=+()@#"°{}_$%:¤|*$/u'), stripslashes($name));
    }

Merci pour le retour

Link to comment
Share on other sites

Je viens d'effacer var/cache/prod/class_index.php , mais toujours même erreur.

11 minutes ago, Mediacom87 said:

Donc c'est que la synchronisation en se fait pas comme il faut puisque le lastname devrait pointer sur company dans PrestaShop.

la synchro se fait dans l'autre sens "Prestashop > Dolibarr et si je ne mets pas le nom de société en lastname c'est compliqué pour si retrouver dans dolibarr avec le nom du contact de la société...

J'en profite en même temps est ce qu'il est possible que le firstname ne soit pas obligatoire ?

Link to comment
Share on other sites

16 minutes ago, Mediacom87 said:

L'erreur est en rapport avec quoi ?

Quand je rentre un client manuellement dans Prestashop  (nom, prenom, adresse mail et mot de passe) à la validation j'ai ce message d'erreur...

Link to comment
Share on other sites

il y a 6 minutes, Papillon a dit :

la synchro se fait dans l'autre sens "Prestashop > Dolibarr et si je ne mets pas le nom de société en lastname c'est compliqué pour si retrouver dans dolibarr avec le nom du contact de la société...

Donc je persiste, c’est que la synchronisation en se fait pas comme il faut.

Company existe dans PrestaShop donc il faut utiliser les bons champs pour les bonnes données.

Link to comment
Share on other sites

  • 1 year later...
  • 4 months later...

Bonjour, je me permets de déterrer ce sujet.

Nous rencontrons le même souci d'importation d'email pour les clients car certains mails comportent des chiffres à l'intérieur.

Nous pensons que c'est bien lié au fichier validate.php mais rien n'y fait même en autorisant les chiffres, avez-vous une autre piste ?

Merci d'avance et très bonne journée.

Link to comment
Share on other sites

  • 5 months later...
  • 1 year later...

Je déterre car je suis arrivé sur ce post mais sans réponse. Autant que ça serve au prochain:

Sur PS 1.7.8.7, fichier src\Core\ConstraintValidator\CustomerNameValidator.php

remplacer:
 

public const PATTERN_NAME = '/^(?!\s*$)(?:[^0-9!<>,;?=+()\/\\\\@#"°*`{}_^$%:¤\[\]|\.。]|[。\.](?:\s|$))*$/u';

par:
 

public const PATTERN_NAME = '/^(?!\s*$)(?:[^!<>,;?=+()\\\\@#"°*`{}_^$%:¤\[\]|\.。]|[。\.](?:\s|$))*$/u'; //accepts numbers and /(c/o) in name

Suis débutant sur PS donc à prendre avec des pincettes. Donc sans aucune garantie ni aucune responsabilité, à utiliser à vos propres risques. Je vais modifier pendant l'import et ensuite je vais remettre l'ancien code.

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

  • 6 months later...
  • 3 weeks later...
On 3/22/2023 at 2:22 PM, super-pingouin said:

Bonjour,

Je reviens sur ce topic car j'ai le même souci, j'ai besoin de pouvoir ajouter des chiffres dans le champs nom, pour la même raison que Papillon.

Avez-vous trouvez une solution?

Cordialement,

As-tu essayé la solution proposée ? elle ne fonctionne pas ?

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...