forked from ScoDoc/ScoDoc
suppression contact, ajout opérations historique, correctifs
This commit is contained in:
parent
ea73c050e6
commit
25957e04fa
@ -86,6 +86,7 @@ def _build_string_field(label, required=True, render_kw=None):
|
||||
class EntreprisesFilterForm(FlaskForm):
|
||||
active = BooleanField("Toutes les entreprises")
|
||||
association = BooleanField("Seulement les associations partenaires")
|
||||
siret_provisoire = BooleanField("Seulement SIRET provisoire")
|
||||
|
||||
|
||||
class EntrepriseCreationForm(FlaskForm):
|
||||
|
@ -74,16 +74,20 @@ def index():
|
||||
.limit(LOGS_LEN)
|
||||
.all()
|
||||
)
|
||||
if current_user.has_permission(Permission.RelationsEntreprisesChange, None):
|
||||
form = EntreprisesFilterForm()
|
||||
checked = [False, False]
|
||||
checked = [False, False, False]
|
||||
if request.method == "POST":
|
||||
checked[0] = form.active.data
|
||||
checked[1] = form.association.data
|
||||
checked = [form.active.data, form.association.data, form.siret_provisoire.data]
|
||||
if checked[0]:
|
||||
entreprises = Entreprise.query.filter_by(visible=True)
|
||||
if checked[1]:
|
||||
entreprises = Entreprise.query.filter_by(association=True)
|
||||
if checked[2]:
|
||||
entreprises = Entreprise.query.filter_by(siret_provisoire=True)
|
||||
if checked[1] and checked[2]:
|
||||
entreprises = Entreprise.query.filter_by(
|
||||
association=True, siret_provisoire=True
|
||||
)
|
||||
return render_template(
|
||||
"entreprises/entreprises.html",
|
||||
title="Entreprises",
|
||||
@ -92,12 +96,6 @@ def index():
|
||||
form=form,
|
||||
checked=checked,
|
||||
)
|
||||
return render_template(
|
||||
"entreprises/entreprises.html",
|
||||
title="Entreprises",
|
||||
entreprises=entreprises,
|
||||
logs=logs,
|
||||
)
|
||||
|
||||
|
||||
@bp.route("/logs", methods=["GET"])
|
||||
@ -182,7 +180,6 @@ def fiche_entreprise(entreprise_id):
|
||||
offre_with_files = are.get_offre_files_and_depts(offre, depts)
|
||||
if offre_with_files is not None:
|
||||
offres_with_files.append(offre_with_files)
|
||||
sites = entreprise.sites[:]
|
||||
logs = (
|
||||
EntrepriseHistorique.query.order_by(EntrepriseHistorique.date.desc())
|
||||
.filter(EntrepriseHistorique.entreprise_id == entreprise.id)
|
||||
@ -205,7 +202,6 @@ def fiche_entreprise(entreprise_id):
|
||||
"entreprises/fiche_entreprise.html",
|
||||
title="Fiche entreprise",
|
||||
entreprise=entreprise,
|
||||
sites=sites,
|
||||
offres=offres_with_files,
|
||||
logs=logs,
|
||||
stages_apprentissages=stages_apprentissages,
|
||||
@ -247,12 +243,10 @@ def fiche_entreprise_validation(entreprise_id):
|
||||
).first_or_404(
|
||||
description=f"fiche entreprise (validation) {entreprise_id} inconnue"
|
||||
)
|
||||
sites = entreprise.sites[:]
|
||||
return render_template(
|
||||
"entreprises/fiche_entreprise_validation.html",
|
||||
title="Validation fiche entreprise",
|
||||
entreprise=entreprise,
|
||||
sites=sites,
|
||||
)
|
||||
|
||||
|
||||
@ -424,6 +418,7 @@ def edit_entreprise(entreprise_id):
|
||||
if form.new_siret.data:
|
||||
logs_text.append(f"{lien_entreprise} - Modification du SIRET")
|
||||
entreprise.siret = form.new_siret.data.strip()
|
||||
entreprise.siret_provisoire = False
|
||||
if entreprise.nom != form.nom.data.strip():
|
||||
logs_text.append(
|
||||
f"{lien_entreprise} - Modification du nom (ancien nom: {entreprise.nom})"
|
||||
@ -458,13 +453,12 @@ def edit_entreprise(entreprise_id):
|
||||
|
||||
entreprise.association = form.association.data
|
||||
for log_text in logs_text:
|
||||
db.session.add(
|
||||
EntrepriseHistorique(
|
||||
log = EntrepriseHistorique(
|
||||
authenticated_user=current_user.user_name,
|
||||
entreprise_id=entreprise.id,
|
||||
text=log_text,
|
||||
)
|
||||
)
|
||||
db.session.add(log)
|
||||
db.session.commit()
|
||||
flash("L'entreprise a été modifié.")
|
||||
return redirect(
|
||||
@ -498,6 +492,13 @@ def fiche_entreprise_desactiver(entreprise_id):
|
||||
if form.validate_on_submit():
|
||||
entreprise.notes_active = form.notes_active.data.strip()
|
||||
entreprise.active = False
|
||||
lien_entreprise = f"<a href='{url_for('entreprises.fiche_entreprise', entreprise_id=entreprise.id)}'>{entreprise.nom}</a>"
|
||||
log = EntrepriseHistorique(
|
||||
authenticated_user=current_user.user_name,
|
||||
entreprise_id=entreprise.id,
|
||||
text=f"{lien_entreprise} - Désactivation fiche entreprise",
|
||||
)
|
||||
db.session.add(log)
|
||||
db.session.commit()
|
||||
flash("L'entreprise a été désactivé.")
|
||||
return redirect(
|
||||
@ -523,6 +524,13 @@ def fiche_entreprise_activer(entreprise_id):
|
||||
form = ActivationConfirmationForm()
|
||||
if form.validate_on_submit():
|
||||
entreprise.active = True
|
||||
lien_entreprise = f"<a href='{url_for('entreprises.fiche_entreprise', entreprise_id=entreprise.id)}'>{entreprise.nom}</a>"
|
||||
log = EntrepriseHistorique(
|
||||
authenticated_user=current_user.user_name,
|
||||
entreprise_id=entreprise.id,
|
||||
text=f"{lien_entreprise} - Activation fiche entreprise",
|
||||
)
|
||||
db.session.add(log)
|
||||
db.session.commit()
|
||||
flash("L'entreprise a été activé.")
|
||||
return redirect(
|
||||
@ -557,6 +565,16 @@ def add_taxe_apprentissage(entreprise_id):
|
||||
)
|
||||
db.session.add(taxe)
|
||||
db.session.commit()
|
||||
db.session.refresh(taxe)
|
||||
log = EntrepriseHistorique(
|
||||
authenticated_user=current_user.user_name,
|
||||
entreprise_id=entreprise.id,
|
||||
object="taxe apprentissage",
|
||||
object_id=taxe.id,
|
||||
text=f"Création d'une taxe d'apprentissage",
|
||||
)
|
||||
db.session.add(log)
|
||||
db.session.commit()
|
||||
return redirect(
|
||||
url_for("entreprises.fiche_entreprise", entreprise_id=entreprise.id)
|
||||
)
|
||||
@ -584,6 +602,14 @@ def edit_taxe_apprentissage(entreprise_id, taxe_id):
|
||||
if form.validate_on_submit():
|
||||
taxe.montant = form.montant.data
|
||||
taxe.notes = form.notes.data.strip()
|
||||
log = EntrepriseHistorique(
|
||||
authenticated_user=current_user.user_name,
|
||||
entreprise_id=taxe.entreprise_id,
|
||||
object="taxe apprentissage",
|
||||
object_id=taxe.id,
|
||||
text=f"Modification d'une taxe d'apprentissage",
|
||||
)
|
||||
db.session.add(log)
|
||||
db.session.commit()
|
||||
return redirect(
|
||||
url_for("entreprises.fiche_entreprise", entreprise_id=taxe.entreprise_id)
|
||||
@ -614,6 +640,14 @@ def delete_taxe_apprentissage(entreprise_id, taxe_id):
|
||||
form = SuppressionConfirmationForm()
|
||||
if form.validate_on_submit():
|
||||
db.session.delete(taxe)
|
||||
log = EntrepriseHistorique(
|
||||
authenticated_user=current_user.user_name,
|
||||
entreprise_id=taxe.entreprise_id,
|
||||
object="taxe apprentissage",
|
||||
object_id=taxe.id,
|
||||
text=f"Suppression d'une taxe d'apprentissage",
|
||||
)
|
||||
db.session.add(log)
|
||||
db.session.commit()
|
||||
flash("La taxe d'apprentissage a été supprimé de la liste.")
|
||||
return redirect(
|
||||
@ -675,6 +709,12 @@ def delete_validation_entreprise(entreprise_id):
|
||||
if form.validate_on_submit():
|
||||
db.session.delete(entreprise)
|
||||
db.session.commit()
|
||||
log = EntrepriseHistorique(
|
||||
authenticated_user=current_user.user_name,
|
||||
entreprise_id=entreprise.id,
|
||||
text=f"Non validation de la fiche entreprise ({entreprise.nom})",
|
||||
)
|
||||
db.session.add(log)
|
||||
flash("L'entreprise a été supprimé de la liste des entreprise à valider.")
|
||||
return redirect(url_for("entreprises.validation"))
|
||||
return render_template(
|
||||
@ -921,7 +961,6 @@ def add_site(entreprise_id):
|
||||
).first_or_404(description=f"entreprise {entreprise_id} inconnue")
|
||||
form = SiteCreationForm(hidden_entreprise_id=entreprise.id)
|
||||
if form.validate_on_submit():
|
||||
lien_entreprise = f"<a href=/ScoDoc/entreprises/fiche_entreprise/{entreprise.id}>{entreprise.nom} - {form.nom.data.strip()}</a>"
|
||||
site = EntrepriseSite(
|
||||
entreprise_id=entreprise.id,
|
||||
nom=form.nom.data.strip(),
|
||||
@ -933,6 +972,7 @@ def add_site(entreprise_id):
|
||||
db.session.add(site)
|
||||
db.session.commit()
|
||||
db.session.refresh(site)
|
||||
lien_entreprise = f"<a href=/ScoDoc/entreprises/fiche_entreprise/{entreprise.id}>{entreprise.nom} - {form.nom.data.strip()}</a>"
|
||||
log = EntrepriseHistorique(
|
||||
authenticated_user=current_user.user_name,
|
||||
entreprise_id=entreprise.id,
|
||||
@ -972,6 +1012,14 @@ def edit_site(entreprise_id, site_id):
|
||||
site.codepostal = form.codepostal.data.strip()
|
||||
site.ville = form.ville.data.strip()
|
||||
site.pays = (form.pays.data.strip() if form.pays.data.strip() else "FRANCE",)
|
||||
log = EntrepriseHistorique(
|
||||
authenticated_user=current_user.user_name,
|
||||
entreprise_id=site.entreprise_id,
|
||||
object="site",
|
||||
object_id=site.id,
|
||||
text="Modification d'un site",
|
||||
)
|
||||
db.session.add(log)
|
||||
db.session.commit()
|
||||
return redirect(
|
||||
url_for("entreprises.fiche_entreprise", entreprise_id=site.entreprise_id)
|
||||
@ -1003,7 +1051,6 @@ def add_correspondant(entreprise_id, site_id):
|
||||
).first_or_404(
|
||||
description=f"site {site_id} inconnue pour l'entreprise {entreprise_id}"
|
||||
)
|
||||
print(site.entreprise_id)
|
||||
form = CorrespondantsCreationForm(hidden_site_id=site.id)
|
||||
if form.validate_on_submit():
|
||||
for correspondant_entry in form.correspondants.entries:
|
||||
@ -1204,6 +1251,16 @@ def add_contact(entreprise_id):
|
||||
)
|
||||
db.session.add(contact)
|
||||
db.session.commit()
|
||||
db.session.refresh(contact)
|
||||
log = EntrepriseHistorique(
|
||||
authenticated_user=current_user.user_name,
|
||||
entreprise_id=contact.entreprise,
|
||||
object="contact",
|
||||
object_id=contact.id,
|
||||
text="Création d'un contact",
|
||||
)
|
||||
db.session.add(log)
|
||||
db.session.commit()
|
||||
return redirect(url_for("entreprises.contacts", entreprise_id=entreprise.id))
|
||||
return render_template(
|
||||
"entreprises/form.html",
|
||||
@ -1240,6 +1297,14 @@ def edit_contact(entreprise_id, contact_id):
|
||||
contact.date = form.date.data
|
||||
contact.user = utilisateur.id
|
||||
contact.notes = form.notes.data
|
||||
log = EntrepriseHistorique(
|
||||
authenticated_user=current_user.user_name,
|
||||
entreprise_id=contact.entreprise,
|
||||
object="contact",
|
||||
object_id=contact.id,
|
||||
text="Modification d'un contact",
|
||||
)
|
||||
db.session.add(log)
|
||||
db.session.commit()
|
||||
return redirect(
|
||||
url_for("entreprises.contacts", entreprise_id=contact.entreprise)
|
||||
@ -1258,6 +1323,43 @@ def edit_contact(entreprise_id, contact_id):
|
||||
)
|
||||
|
||||
|
||||
@bp.route(
|
||||
"/fiche_entreprise/<int:entreprise_id>/contacts/delete_contact/<int:contact_id>",
|
||||
methods=["GET", "POST"],
|
||||
)
|
||||
@permission_required(Permission.RelationsEntreprisesChange)
|
||||
def delete_contact(entreprise_id, contact_id):
|
||||
"""
|
||||
Permet de supprimer un contact
|
||||
"""
|
||||
contact = EntrepriseContact.query.filter_by(
|
||||
id=contact_id, entreprise=entreprise_id
|
||||
).first_or_404(
|
||||
description=f"contact {contact_id} inconnu pour l'entreprise {entreprise_id}"
|
||||
)
|
||||
form = SuppressionConfirmationForm()
|
||||
if form.validate_on_submit():
|
||||
db.session.delete(contact)
|
||||
log = EntrepriseHistorique(
|
||||
authenticated_user=current_user.user_name,
|
||||
entreprise_id=contact.entreprise,
|
||||
object="contact",
|
||||
object_id=contact.id,
|
||||
text="Suppression d'un contact",
|
||||
)
|
||||
db.session.add(log)
|
||||
db.session.commit()
|
||||
return redirect(
|
||||
url_for("entreprises.contacts", entreprise_id=contact.entreprise)
|
||||
)
|
||||
return render_template(
|
||||
"entreprises/form_confirmation.html",
|
||||
title="Supression contact",
|
||||
form=form,
|
||||
info_message="Cliquez sur le bouton Supprimer pour confirmer votre supression",
|
||||
)
|
||||
|
||||
|
||||
@bp.route("/fiche_entreprise/<int:entreprise_id>/contacts")
|
||||
@permission_required(Permission.RelationsEntreprisesView)
|
||||
def contacts(entreprise_id):
|
||||
@ -1316,6 +1418,16 @@ def add_stage_apprentissage(entreprise_id):
|
||||
)
|
||||
db.session.add(stage_apprentissage)
|
||||
db.session.commit()
|
||||
db.session.refresh(stage_apprentissage)
|
||||
log = EntrepriseHistorique(
|
||||
authenticated_user=current_user.user_name,
|
||||
entreprise_id=stage_apprentissage.entreprise_id,
|
||||
object="stage apprentissage",
|
||||
object_id=stage_apprentissage.id,
|
||||
text="Création d'un stage/apprentissage",
|
||||
)
|
||||
db.session.add(log)
|
||||
db.session.commit()
|
||||
flash("L'étudiant a été ajouté sur la fiche entreprise.")
|
||||
return redirect(
|
||||
url_for("entreprises.fiche_entreprise", entreprise_id=entreprise.id)
|
||||
@ -1369,6 +1481,14 @@ def edit_stage_apprentissage(entreprise_id, stage_apprentissage_id):
|
||||
formation.formsemestre.formsemestre_id if formation else None,
|
||||
)
|
||||
stage_apprentissage.notes = form.notes.data.strip()
|
||||
log = EntrepriseHistorique(
|
||||
authenticated_user=current_user.user_name,
|
||||
entreprise_id=stage_apprentissage.entreprise_id,
|
||||
object="stage apprentissage",
|
||||
object_id=stage_apprentissage.id,
|
||||
text="Modification d'un stage/apprentissage",
|
||||
)
|
||||
db.session.add(log)
|
||||
db.session.commit()
|
||||
return redirect(
|
||||
url_for(
|
||||
@ -1404,6 +1524,14 @@ def delete_stage_apprentissage(entreprise_id, stage_apprentissage_id):
|
||||
form = SuppressionConfirmationForm()
|
||||
if form.validate_on_submit():
|
||||
db.session.delete(stage_apprentissage)
|
||||
log = EntrepriseHistorique(
|
||||
authenticated_user=current_user.user_name,
|
||||
entreprise_id=stage_apprentissage.entreprise_id,
|
||||
object="stage apprentissage",
|
||||
object_id=stage_apprentissage.id,
|
||||
text="Suppression d'un stage/apprentissage",
|
||||
)
|
||||
db.session.add(log)
|
||||
db.session.commit()
|
||||
return redirect(
|
||||
url_for(
|
||||
|
@ -53,6 +53,7 @@
|
||||
</a>
|
||||
<ul class="dropdown-menu pull-left">
|
||||
<li><a href="{{ url_for('entreprises.edit_contact', entreprise_id=entreprise.id, contact_id=contact.id) }}">Modifier</a></li>
|
||||
<li><a href="{{ url_for('entreprises.delete_contact', entreprise_id=entreprise.id, contact_id=contact.id) }}" style="color:red">Supprimer</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</td>
|
||||
|
@ -41,6 +41,7 @@
|
||||
{{ form.hidden_tag() }}
|
||||
<input id="active" name="active" type="checkbox" onChange="form.submit()" {% if checked[0] %} checked {% endif %}> {{ form.active.label }}
|
||||
<input id="association" name="association" type="checkbox" onChange="form.submit()" {% if checked[1] %} checked {% endif %}> {{ form.association.label }}
|
||||
<input id="siret_provisoire" name="siret_provisoire" type="checkbox" onChange="form.submit()" {% if checked[2] %} checked {% endif %}> {{ form.siret_provisoire.label }}
|
||||
</form>
|
||||
{% endif %}
|
||||
<table id="table-entreprises">
|
||||
|
@ -97,10 +97,10 @@
|
||||
|
||||
|
||||
<div class="sites-et-offres">
|
||||
{% if sites %}
|
||||
{% if entreprise.sites %}
|
||||
<div>
|
||||
<h3>Sites</h3>
|
||||
{% for site in sites %}
|
||||
{% for site in entreprise.sites %}
|
||||
<div class="site">
|
||||
Nom : {{ site.nom }}<br>
|
||||
Adresse : {{ site.adresse }}<br>
|
||||
|
@ -20,10 +20,10 @@
|
||||
</div>
|
||||
|
||||
<div class="sites-et-offres">
|
||||
{% if sites %}
|
||||
{% if entreprise.sites %}
|
||||
<div>
|
||||
<h3>Sites</h3>
|
||||
{% for site in sites %}
|
||||
{% for site in entreprise.sites %}
|
||||
<div class="site">
|
||||
Nom : {{ site.nom }}<br>
|
||||
Adresse : {{ site.adresse }}<br>
|
||||
|
Loading…
Reference in New Issue
Block a user