forked from ScoDoc/ScoDoc
import données modifications correspondants
This commit is contained in:
parent
835d1d38ed
commit
434e571a98
@ -470,6 +470,43 @@ def check_site_import(row_data: list):
|
|||||||
return True
|
return True
|
||||||
|
|
||||||
|
|
||||||
|
def check_correspondants_import(m):
|
||||||
|
ligne = 1
|
||||||
|
if m[0] != CORRESPONDANTS_KEYS:
|
||||||
|
flash(
|
||||||
|
f'Veuillez utilisez la feuille excel à remplir (Feuille "Correspondants", ligne {ligne})'
|
||||||
|
)
|
||||||
|
return False
|
||||||
|
for correspondant_data in m[1:]:
|
||||||
|
ligne += 1
|
||||||
|
if correspondant_data[0] == "":
|
||||||
|
flash(
|
||||||
|
f'Erreur lors de l\'importation (Feuille "Correspondants", ligne {ligne})'
|
||||||
|
)
|
||||||
|
return False
|
||||||
|
correspondant = EntrepriseCorrespondant.query.filter_by(
|
||||||
|
id=correspondant_data[0]
|
||||||
|
).first()
|
||||||
|
if correspondant is not None and check_correspondant_import(
|
||||||
|
correspondant_data[1:-1]
|
||||||
|
):
|
||||||
|
correspondant.civilite = correspondant_data[1].strip()
|
||||||
|
correspondant.nom = correspondant_data[2].strip()
|
||||||
|
correspondant.prenom = correspondant_data[3].strip()
|
||||||
|
correspondant.telephone = correspondant_data[4].strip()
|
||||||
|
correspondant.mail = correspondant_data[5].strip()
|
||||||
|
correspondant.poste = correspondant_data[6].strip()
|
||||||
|
correspondant.service = correspondant_data[7].strip()
|
||||||
|
correspondant.origine = correspondant_data[8].strip()
|
||||||
|
correspondant.notes = correspondant_data[9].strip()
|
||||||
|
else:
|
||||||
|
flash(
|
||||||
|
f'Erreur lors de l\'importation (Feuille "Correspondants", ligne {ligne})'
|
||||||
|
)
|
||||||
|
return False
|
||||||
|
return True
|
||||||
|
|
||||||
|
|
||||||
def check_correspondant_import(correspondant_data: list, site_data: list = None):
|
def check_correspondant_import(correspondant_data: list, site_data: list = None):
|
||||||
"""
|
"""
|
||||||
Verifie les données d'une ligne Excel (correspondant)
|
Verifie les données d'une ligne Excel (correspondant)
|
||||||
@ -486,23 +523,26 @@ def check_correspondant_import(correspondant_data: list, site_data: list = None)
|
|||||||
if correspondant_data[0].strip() not in ["H", "F"]:
|
if correspondant_data[0].strip() not in ["H", "F"]:
|
||||||
return False
|
return False
|
||||||
|
|
||||||
# entreprise_id existant
|
|
||||||
entreprise = Entreprise.query.filter_by(siret=site_data[0], visible=True).first()
|
|
||||||
if entreprise is None:
|
|
||||||
return False
|
|
||||||
|
|
||||||
# correspondant possède le meme nom et prénom dans la meme entreprise
|
|
||||||
correspondant = EntrepriseCorrespondant.query.filter_by(
|
|
||||||
nom=correspondant_data[1].strip(),
|
|
||||||
prenom=correspondant_data[2].strip(),
|
|
||||||
entreprise_id=entreprise.id,
|
|
||||||
).first()
|
|
||||||
if correspondant is not None:
|
|
||||||
return False
|
|
||||||
|
|
||||||
if (
|
if (
|
||||||
correspondant_data[3].strip() == "" and correspondant_data[4].strip() == ""
|
correspondant_data[3].strip() == "" and correspondant_data[4].strip() == ""
|
||||||
): # 1 moyen de contact
|
): # 1 moyen de contact
|
||||||
return False
|
return False
|
||||||
|
|
||||||
|
if site_data is not None:
|
||||||
|
# entreprise_id existant
|
||||||
|
entreprise = Entreprise.query.filter_by(
|
||||||
|
siret=site_data[0], visible=True
|
||||||
|
).first()
|
||||||
|
if entreprise is None:
|
||||||
|
return False
|
||||||
|
|
||||||
|
# correspondant possède le meme nom et prénom dans la meme entreprise
|
||||||
|
correspondant = EntrepriseCorrespondant.query.filter_by(
|
||||||
|
nom=correspondant_data[1].strip(),
|
||||||
|
prenom=correspondant_data[2].strip(),
|
||||||
|
entreprise_id=entreprise.id,
|
||||||
|
).first()
|
||||||
|
if correspondant is not None:
|
||||||
|
return False
|
||||||
|
|
||||||
return True
|
return True
|
||||||
|
@ -1422,8 +1422,8 @@ def import_donnees():
|
|||||||
file.save(file_path)
|
file.save(file_path)
|
||||||
diag, lm = sco_excel.excel_file_to_list_are(file_path)
|
diag, lm = sco_excel.excel_file_to_list_are(file_path)
|
||||||
os.remove(file_path)
|
os.remove(file_path)
|
||||||
if len(lm) < 3:
|
if lm is None or len(lm) < 2:
|
||||||
flash("Veuillez utilisez la feuille excel à remplir (3 feuilles)")
|
flash("Veuillez utilisez la feuille excel à remplir")
|
||||||
return redirect(url_for("entreprises.import_donnees"))
|
return redirect(url_for("entreprises.import_donnees"))
|
||||||
entreprises_import = are.check_entreprises_import(lm[0])
|
entreprises_import = are.check_entreprises_import(lm[0])
|
||||||
sites_import, correspondants_import = are.check_sites_import(lm[1])
|
sites_import, correspondants_import = are.check_sites_import(lm[1])
|
||||||
@ -1431,6 +1431,7 @@ def import_donnees():
|
|||||||
entreprises_import is False
|
entreprises_import is False
|
||||||
or sites_import is False
|
or sites_import is False
|
||||||
or correspondants_import is False
|
or correspondants_import is False
|
||||||
|
or (len(lm) > 2 and are.check_correspondants_import(lm[2]) is False)
|
||||||
):
|
):
|
||||||
return redirect(url_for("entreprises.import_donnees"))
|
return redirect(url_for("entreprises.import_donnees"))
|
||||||
for entreprise in entreprises_import:
|
for entreprise in entreprises_import:
|
||||||
|
@ -69,7 +69,8 @@
|
|||||||
Adresse : {{ entreprise.adresse }}<br>
|
Adresse : {{ entreprise.adresse }}<br>
|
||||||
Code postal : {{ entreprise.codepostal }}<br>
|
Code postal : {{ entreprise.codepostal }}<br>
|
||||||
Ville : {{ entreprise.ville }}<br>
|
Ville : {{ entreprise.ville }}<br>
|
||||||
Pays : {{ entreprise.pays }}
|
Pays : {{ entreprise.pays }}<br>
|
||||||
|
<a href="{{ url_for('entreprises.fiche_entreprise', id=entreprise.id) }}" target="_blank">Fiche entreprise</a>
|
||||||
</div>
|
</div>
|
||||||
{% for site in entreprise.sites %}
|
{% for site in entreprise.sites %}
|
||||||
<div class="site">
|
<div class="site">
|
||||||
@ -92,7 +93,8 @@
|
|||||||
Adresse : {{ site.adresse }}<br>
|
Adresse : {{ site.adresse }}<br>
|
||||||
Code postal : {{ site.codepostal }}<br>
|
Code postal : {{ site.codepostal }}<br>
|
||||||
Ville : {{ site.ville }}<br>
|
Ville : {{ site.ville }}<br>
|
||||||
Pays : {{ site.pays }}
|
Pays : {{ site.pays }}<br>
|
||||||
|
<a href="{{ url_for('entreprises.fiche_entreprise', id=site.entreprise_id) }}" target="_blank">Fiche entreprise</a>
|
||||||
</div>
|
</div>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
@ -123,6 +125,7 @@
|
|||||||
{% if correspondant.notes %}
|
{% if correspondant.notes %}
|
||||||
Notes : {{ correspondant.notes }}<br>
|
Notes : {{ correspondant.notes }}<br>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
<a href="{{ url_for('entreprises.fiche_entreprise', id=correspondant.entreprise_id) }}" target="_blank">Fiche entreprise</a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
|
Loading…
Reference in New Issue
Block a user