Import utilisateur : adresse email invalide

Bonjour,

Je teste la fonction d’import d’utilisateur mais il semble qu’il y ait un problĂšme. Que j’essaie d’importer en CSV ou excel, j’obtiens toujours le mĂȘme message d’erreur au format : " <valeur de ID> n’est pas une adresse email valide."

Pourtant, je mappe bien les champs et les colonnes au bon endroit (je n’ai pas mĂ©langĂ© ID avec email par exemple)

Mon test d’import n’est pas trĂšs compliquĂ© je n’ai pris que les champs nĂ©cessaires : ID, email et prĂ©nom.

voici un exemple de message d’erreur avec traceback:

Bonjour @gde,

Le champ ID sert à identifier une donnée déjà présente dans Dokos.
Lorsque vous crĂ©ez un nouveau document, celui-ci n’a pas encore d’identifiant, vous ne pouvez donc pas connaĂźtre son ID: il faut laisser ce champ vide et Dokos crĂ©era un identifiant (appelĂ© ensuite Nom)

Pour récapituler:

  1. Si vous créez de nouvelles données, laissez le champ ID vide pour que Dokos génÚre un identifiant en fonction de la rÚgle de nommage du document

  2. Si vous mettez Ă  jour des donnĂ©es, indiquez l’identifiant du document Ă  mettre Ă  jour

Si vous vous demandez pourquoi le champ ID est prĂ©sent dans le modĂšle que vous avez tĂ©lĂ©chargĂ©, c’est simplement parce que le modĂšle d’import est le mĂȘme qu’on crĂ©e de nouvelles donnĂ©es ou qu’on mette Ă  jour des donnĂ©es existantes.

Bonne journée

1 Like

Merci beaucoup pour cette réponse.

C’est effectivement marquĂ© comme tel dans la documentation et je n’ai pas fait attention ; et le template m’a induit en erreur effectivement :confused:

Mais malheureusement je n’ai pas rĂ©ussi non plus aprĂšs avoir vidĂ©e la colonne ID, cette fois-ci j’obtiens une erreur AttributeError: ‘NoneType’ object has no attribute ‘encode’

J’ai fait plusieurs essai : en mettant les valeur vide, en mettant des quote vide, en supprimant la colonne ID. Mais j’obtiens toujours ce message.

Mon fichier est bien encodé en UTF-8.

AprĂšs, j’ai bien rĂ©ussi Ă  importer pour faire une mise Ă  jour d’enregistrement existant
 c’est dĂ©jĂ  ça :stuck_out_tongue:

Traceback

Traceback (most recent call last):
File “apps/frappe/frappe/core/doctype/data_import/importer.py”, line 146, in import_data
doc = self.process_doc(doc)
File “apps/frappe/frappe/core/doctype/data_import/importer.py”, line 239, in process_doc
return self.insert_record(doc)
File “apps/frappe/frappe/core/doctype/data_import/importer.py”, line 258, in insert_record
new_doc.insert()
File “apps/frappe/frappe/model/document.py”, line 286, in insert
self.run_post_save_methods()
File “apps/frappe/frappe/model/document.py”, line 1131, in run_post_save_methods
self.run_method(“on_update”)
File “apps/frappe/frappe/model/document.py”, line 964, in run_method
out = Document.hook(fn)(self, *args, **kwargs)
File “apps/frappe/frappe/model/document.py”, line 1331, in composer
return composed(self, method, *args, **kwargs)
File “apps/frappe/frappe/model/document.py”, line 1313, in runner
add_to_return_value(self, fn(self, *args, **kwargs))
File “apps/frappe/frappe/model/document.py”, line 961, in fn
return method_object(*args, **kwargs)
File “apps/frappe/frappe/core/doctype/user/user.py”, line 134, in on_update
self.send_password_notification(self.__new_password)
File “apps/frappe/frappe/core/doctype/user/user.py”, line 291, in send_password_notification
self.send_welcome_mail_to_user()
File “apps/frappe/frappe/core/doctype/user/user.py”, line 367, in send_welcome_mail_to_user
self.send_login_mail(
File “apps/frappe/frappe/core/doctype/user/user.py”, line 411, in send_login_mail
frappe.sendmail(
File “apps/frappe/frappe/init.py”, line 701, in sendmail
builder.process(send_now=now)
File “apps/frappe/frappe/email/doctype/email_queue/email_queue.py”, line 661, in process
queue_data = self.as_dict(include_recipients=False)
File “apps/frappe/frappe/email/doctype/email_queue/email_queue.py”, line 702, in as_dict
mail = self.prepare_email_content()
File “apps/frappe/frappe/email/doctype/email_queue/email_queue.py”, line 628, in prepare_email_content
sender=self.sender,
File “apps/frappe/frappe/email/doctype/email_queue/email_queue.py”, line 524, in sender
return email_account.default_sender
File “apps/frappe/frappe/email/doctype/email_account/email_account.py”, line 281, in default_sender
return email.utils.formataddr((self.name, self.get(“email_id”)))
File “/usr/local/lib/python3.10/email/utils.py”, line 91, in formataddr
address.encode(‘ascii’)
AttributeError: ‘NoneType’ object has no attribute ‘encode’

Bonjour @gde,

J’ai l’impression que le problĂšme ne vient pas de l’import, mais de la tentative d’envoi d’email qui suit la crĂ©ation d’un nouvel utilisateur.
Essayez de faire votre import en mettant 0 dans la colonne Envoyer un Email de Bienvenue
Sinon vĂ©rifiez que vous avez bien un compte d’envoi d’email par dĂ©faut correctement configurĂ©.

Bonne journée

1 Like

Bonsoir,

J’ai rĂ©ussi a importer les utilisateurs aprĂšs avoir rajoutĂ© la colonne Envoyer un Email de Bienvenue dans mon fichier CSV et en mettant 0.

Merci pour l’aide !