import entreprises par fichier excel, divers corrections

This commit is contained in:
Arthur ZHU 2022-02-09 20:09:14 +01:00
parent acb8d58642
commit f1bb718f08
4 changed files with 37 additions and 14 deletions

View File

@ -879,9 +879,8 @@ def get_import_entreprises_file_sample():
def verif_entreprise_data(entreprise_data): def verif_entreprise_data(entreprise_data):
print(entreprise_data)
for data in entreprise_data: for data in entreprise_data:
if data is "": if data == "":
return False return False
siret = entreprise_data[0].strip() siret = entreprise_data[0].strip()
if re.match("^\d{14}$", siret) is None: if re.match("^\d{14}$", siret) is None:
@ -911,8 +910,16 @@ def import_entreprises():
data = sco_excel.excel_file_to_list(file_path) data = sco_excel.excel_file_to_list(file_path)
os.remove(file_path) os.remove(file_path)
entreprises_import = [] entreprises_import = []
siret_list = []
ligne = 0
for entreprise_data in data[1][1:]: for entreprise_data in data[1][1:]:
if verif_entreprise_data(entreprise_data): ligne += 1
if (
verif_entreprise_data(entreprise_data)
and entreprise_data[0] not in siret_list
):
siret_list.append(entreprise_data[0])
entreprise = Entreprise( entreprise = Entreprise(
siret=entreprise_data[0], siret=entreprise_data[0],
nom=entreprise_data[1], nom=entreprise_data[1],
@ -920,14 +927,32 @@ def import_entreprises():
ville=entreprise_data[3], ville=entreprise_data[3],
codepostal=entreprise_data[4], codepostal=entreprise_data[4],
pays=entreprise_data[5], pays=entreprise_data[5],
visible=True,
) )
entreprises_import.append(entreprise) entreprises_import.append(entreprise)
return render_template(
"entreprises/import_entreprises.html", else:
title=("Importation entreprises"), flash(f"Erreur lors de l'importation (ligne {ligne})")
form=form, return render_template(
entreprises_import=entreprises_import, "entreprises/import_entreprises.html",
) title=("Importation entreprises"),
form=form,
)
if len(entreprises_import) > 0:
for entreprise in entreprises_import:
db.session.add(entreprise)
db.session.commit()
flash(f"Importation réussie de {len(entreprises_import)} entreprise(s)")
return render_template(
"entreprises/import_entreprises.html",
title=("Importation entreprises"),
form=form,
entreprises_import=entreprises_import,
)
else:
flash('Feuille "Entreprises" vide')
return render_template( return render_template(
"entreprises/import_entreprises.html", "entreprises/import_entreprises.html",
title=("Importation entreprises"), title=("Importation entreprises"),

View File

@ -15,7 +15,7 @@
</div> </div>
{% endif %} {% endif %}
{% if current_user.has_permission(current_user.Permission.RelationsEntreprisesExport, None) %} {% if current_user.has_permission(current_user.Permission.RelationsEntreprisesExport, None) and contacts.items %}
<div class="container boutons"> <div class="container boutons">
{% if contacts %} {% if contacts %}
<a class="btn btn-default" href="{{ url_for('entreprises.export_contacts') }}">Exporter la liste des contacts</a> <a class="btn btn-default" href="{{ url_for('entreprises.export_contacts') }}">Exporter la liste des contacts</a>

View File

@ -23,7 +23,7 @@
<a class="btn btn-default" href="{{ url_for('entreprises.import_entreprises') }}">Importer des entreprises</a> <a class="btn btn-default" href="{{ url_for('entreprises.import_entreprises') }}">Importer des entreprises</a>
{% endif %} {% endif %}
{% if entreprises %} {% if entreprises %}
{% if current_user.has_permission(current_user.Permission.RelationsEntreprisesExport, None) %} {% if current_user.has_permission(current_user.Permission.RelationsEntreprisesExport, None) and entreprises.items%}
<a class="btn btn-default" href="{{ url_for('entreprises.export_entreprises') }}">Exporter la liste des entreprises</a> <a class="btn btn-default" href="{{ url_for('entreprises.export_entreprises') }}">Exporter la liste des entreprises</a>
{% endif %} {% endif %}
{% endif %} {% endif %}

View File

@ -20,6 +20,7 @@
</div> </div>
{% if entreprises_import %} {% if entreprises_import %}
<br><div>Importation de {{ entreprises_import|length }} entreprise(s)</div>
{% for entreprise in entreprises_import %} {% for entreprise in entreprises_import %}
<div class="entreprise"> <div class="entreprise">
<div> <div>
@ -32,8 +33,5 @@
</div> </div>
</div> </div>
{% endfor %} {% endfor %}
<a class="btn btn-default" href="#">Ajouter</a>
{% else %}
<div>Aucune entreprise importée (vérifier le fichier .xlsx)</div>
{% endif %} {% endif %}
{% endblock %} {% endblock %}