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
|
||||
|
||||
|
||||
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):
|
||||
"""
|
||||
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"]:
|
||||
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 (
|
||||
correspondant_data[3].strip() == "" and correspondant_data[4].strip() == ""
|
||||
): # 1 moyen de contact
|
||||
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
|
||||
|
@ -1422,8 +1422,8 @@ def import_donnees():
|
||||
file.save(file_path)
|
||||
diag, lm = sco_excel.excel_file_to_list_are(file_path)
|
||||
os.remove(file_path)
|
||||
if len(lm) < 3:
|
||||
flash("Veuillez utilisez la feuille excel à remplir (3 feuilles)")
|
||||
if lm is None or len(lm) < 2:
|
||||
flash("Veuillez utilisez la feuille excel à remplir")
|
||||
return redirect(url_for("entreprises.import_donnees"))
|
||||
entreprises_import = are.check_entreprises_import(lm[0])
|
||||
sites_import, correspondants_import = are.check_sites_import(lm[1])
|
||||
@ -1431,6 +1431,7 @@ def import_donnees():
|
||||
entreprises_import is False
|
||||
or sites_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"))
|
||||
for entreprise in entreprises_import:
|
||||
|
@ -69,7 +69,8 @@
|
||||
Adresse : {{ entreprise.adresse }}<br>
|
||||
Code postal : {{ entreprise.codepostal }}<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>
|
||||
{% for site in entreprise.sites %}
|
||||
<div class="site">
|
||||
@ -92,7 +93,8 @@
|
||||
Adresse : {{ site.adresse }}<br>
|
||||
Code postal : {{ site.codepostal }}<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>
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
@ -123,6 +125,7 @@
|
||||
{% if correspondant.notes %}
|
||||
Notes : {{ correspondant.notes }}<br>
|
||||
{% endif %}
|
||||
<a href="{{ url_for('entreprises.fiche_entreprise', id=correspondant.entreprise_id) }}" target="_blank">Fiche entreprise</a>
|
||||
</div>
|
||||
</div>
|
||||
{% endfor %}
|
||||
|
Loading…
Reference in New Issue
Block a user