csv: link attribute object to relevant headers (#66053)
This commit is contained in:
parent
615dbcfe2a
commit
80d743f8d3
|
@ -193,7 +193,7 @@ class CsvHeader:
|
|||
column = attrib()
|
||||
name = attrib(default='')
|
||||
field = attrib(default=False, converter=bool)
|
||||
attribute = attrib(default=False, converter=bool)
|
||||
attribute = attrib(default=None)
|
||||
create = attrib(default=True, metadata={'flag': True})
|
||||
update = attrib(default=True, metadata={'flag': True})
|
||||
key = attrib(default=False, metadata={'flag': True})
|
||||
|
@ -502,8 +502,7 @@ class UserCsvImporter:
|
|||
pass
|
||||
if not header.field:
|
||||
try:
|
||||
Attribute.objects.get(name=header.name)
|
||||
header.attribute = True
|
||||
header.attribute = Attribute.objects.get(name=header.name)
|
||||
except Attribute.DoesNotExist:
|
||||
pass
|
||||
|
||||
|
|
|
@ -181,13 +181,14 @@ tnoel@entrouvert.com,Thomas,Noël,0123456789
|
|||
fpeters@entrouvert.com,Frédéric,Péters,+3281005678
|
||||
x,x,x,x'''
|
||||
importer = user_csv_importer_factory(content)
|
||||
phone = Attribute.objects.get(name='phone')
|
||||
|
||||
importer.run()
|
||||
assert importer.headers == [
|
||||
CsvHeader(1, 'email', field=True, key=True, verified=True),
|
||||
CsvHeader(2, 'first_name', field=True),
|
||||
CsvHeader(3, 'last_name', field=True),
|
||||
CsvHeader(4, 'phone', field=True),
|
||||
CsvHeader(4, 'phone', attribute=phone),
|
||||
]
|
||||
assert importer.has_errors
|
||||
assert len(importer.rows) == 3
|
||||
|
@ -233,13 +234,14 @@ tnoel@entrouvert.com,Thomas,Noël,0123456789
|
|||
fpeters@entrouvert.com,Frédéric,Péters,+3281005678
|
||||
x,x,x,x'''
|
||||
importer = user_csv_importer_factory(content)
|
||||
phone = Attribute.objects.get(name='phone')
|
||||
|
||||
assert not importer.run(simulate=True)
|
||||
assert importer.headers == [
|
||||
CsvHeader(1, 'email', field=True, key=True, verified=True),
|
||||
CsvHeader(2, 'first_name', field=True),
|
||||
CsvHeader(3, 'last_name', field=True),
|
||||
CsvHeader(4, 'phone', field=True),
|
||||
CsvHeader(4, 'phone', attribute=phone),
|
||||
]
|
||||
assert importer.has_errors
|
||||
assert len(importer.rows) == 3
|
||||
|
@ -416,6 +418,7 @@ app1,1,tnoel@entrouvert.com,Thomas,Noël,0606060606
|
|||
app1,2,tnoel@entrouvert.com,Thomas,Noël,0606060606
|
||||
'''
|
||||
importer = user_csv_importer_factory(content)
|
||||
phone = Attribute.objects.get(name='phone')
|
||||
|
||||
assert importer.run(), importer.all_errors
|
||||
assert importer.headers == [
|
||||
|
@ -424,7 +427,7 @@ app1,2,tnoel@entrouvert.com,Thomas,Noël,0606060606
|
|||
CsvHeader(3, 'email', field=True, verified=True),
|
||||
CsvHeader(4, 'first_name', field=True),
|
||||
CsvHeader(5, 'last_name', field=True),
|
||||
CsvHeader(6, 'phone', field=True),
|
||||
CsvHeader(6, 'phone', attribute=phone),
|
||||
]
|
||||
assert not importer.has_errors
|
||||
assert len(importer.rows) == 2
|
||||
|
|
Loading…
Reference in New Issue