Project

General

Profile

Bug #35800

import csv et champ date

Added by Frédéric Péters 12 days ago. Updated about 9 hours ago.

Status:
Solution déployée
Priority:
Normal
Assignee:
Category:
-
Target version:
-
Start date:
04 Sep 2019
Due date:
% Done:

0%

Patch proposed:
Yes
Planning:
No

Description

Traceback (most recent call last):
  File "/home/fred/src/eo/authentic/src/authentic2/manager/user_import.py", line 230, in thread_worker
    simulate=simulate)
  File "/home/fred/src/eo/authentic/src/authentic2/csv_import.py", line 310, in run
    action()
  File "/home/fred/src/eo/authentic/src/authentic2/csv_import.py", line 294, in do_import
    if not self.do_import_row(row, unique_map):
  File "/home/fred/src/eo/venv1.11/local/lib/python2.7/site-packages/django/utils/decorators.py", line 185, in inner
    return func(*args, **kwargs)
  File "/home/fred/src/eo/authentic/src/authentic2/csv_import.py", line 594, in do_import_row
    setattr(attributes, cell.header.name, cell.value)
  File "/home/fred/src/eo/authentic/src/authentic2/custom_user/models.py", line 69, in __setattr__
    self.values[name] = attribute.set_value(self.owner, value, verified=bool(self.verified))
  File "/home/fred/src/eo/authentic/src/authentic2/models.py", line 230, in set_value
    content = serialize(value)
  File "/home/fred/src/eo/authentic/src/authentic2/attribute_kinds.py", line 218, in <lambda>
    'serialize': lambda x: x.isoformat(),
AttributeError: 'unicode' object has no attribute 'isoformat'

0001-csv_import-import-validated-date-field-35800.patch View (3.28 KB) Nicolas Roche, 11 Sep 2019 05:55 PM


Related issues

Related to Authentic 2 - Development #10606: add support for date attributes Fermé 10 Apr 2016
Related to Authentic 2 - Development #32833: interface de création d'utilisateurs en masse via un CSV Solution déployée 06 May 2019

Associated revisions

Revision 6a3a1c3e (diff)
Added by Nicolas Roche 3 days ago

csv_import: import cleaned fields (#35800)

History

#2 Updated by Nicolas Roche 5 days ago

  • Assignee set to Nicolas Roche

#3 Updated by Nicolas Roche 4 days ago

#4 Updated by Nicolas Roche 4 days ago

  • Related to Development #32833: interface de création d'utilisateurs en masse via un CSV added

#5 Updated by Nicolas Roche 4 days ago

Aie, par fainéantise j'ai complété le test de Benjamin,
mais ce que je crains le plus c'est la réaction de mon DPO.

A l'import on plante sur (authentic2/attribute_kinds.py) :

DEFAULT_ATTRIBUTE_KINDS = [
  {
        'name': 'birthdate',
        ...
        'serialize': lambda x: x.isoformat(),
        ...
    },

parce qu'on a une string sous la main (à priori, on attend une variable de
type date).
Dans ce patch, j'ai utilisé les champs validés pour construire la cellule.

#6 Updated by Benjamin Dauvergne 4 days ago

  • Status changed from Solution proposée to Solution validée

Je ne sais plus pourquoi j'ai utilisé data plutôt que cleaned_data; je retrouverai peut-être un jour, tant que tu ajoutes des tests tu peux aussi ajouter phone number, french postcode et title, avec des cas non passant si possible, mais c'est pas une obligation je valide sans.

#7 Updated by Nicolas Roche 3 days ago

  • Status changed from Solution validée to Résolu (à déployer)
commit 6a3a1c3ebe33b67a5eec63c01771beb356a36b45
Author: Nicolas ROCHE <nroche@entrouvert.com>
Date:   Thu Sep 12 16:59:37 2019 +0200

    csv_import: import cleaned fields (#35800)

#8 Updated by Frédéric Péters about 9 hours ago

  • Status changed from Résolu (à déployer) to Solution déployée

Also available in: Atom PDF