forked from ScoDoc/DocScoDoc
ajout boutons annuler
This commit is contained in:
parent
809b5a992d
commit
a200add8df
@ -123,6 +123,7 @@ class EntrepriseCreationForm(FlaskForm):
|
||||
notes = _build_string_field("Notes sur le correspondant", required=False)
|
||||
|
||||
submit = SubmitField("Envoyer", render_kw=SUBMIT_MARGE)
|
||||
cancel = SubmitField("Annuler", render_kw=SUBMIT_MARGE)
|
||||
|
||||
def validate(self):
|
||||
validate = True
|
||||
@ -200,6 +201,7 @@ class EntrepriseModificationForm(FlaskForm):
|
||||
ville = _build_string_field("Ville (*)")
|
||||
pays = _build_string_field("Pays", required=False)
|
||||
submit = SubmitField("Modifier", render_kw=SUBMIT_MARGE)
|
||||
cancel = SubmitField("Annuler", render_kw=SUBMIT_MARGE)
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
super().__init__(*args, **kwargs)
|
||||
@ -245,6 +247,7 @@ class SiteCreationForm(FlaskForm):
|
||||
ville = _build_string_field("Ville (*)")
|
||||
pays = _build_string_field("Pays", required=False)
|
||||
submit = SubmitField("Envoyer", render_kw=SUBMIT_MARGE)
|
||||
cancel = SubmitField("Annuler", render_kw=SUBMIT_MARGE)
|
||||
|
||||
def validate(self):
|
||||
validate = True
|
||||
@ -271,6 +274,7 @@ class SiteModificationForm(FlaskForm):
|
||||
ville = _build_string_field("Ville (*)")
|
||||
pays = _build_string_field("Pays", required=False)
|
||||
submit = SubmitField("Modifier", render_kw=SUBMIT_MARGE)
|
||||
cancel = SubmitField("Annuler", render_kw=SUBMIT_MARGE)
|
||||
|
||||
def validate(self):
|
||||
validate = True
|
||||
@ -321,6 +325,7 @@ class OffreCreationForm(FlaskForm):
|
||||
],
|
||||
)
|
||||
submit = SubmitField("Envoyer", render_kw=SUBMIT_MARGE)
|
||||
cancel = SubmitField("Annuler", render_kw=SUBMIT_MARGE)
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
super().__init__(*args, **kwargs)
|
||||
@ -368,6 +373,7 @@ class OffreModificationForm(FlaskForm):
|
||||
expiration_date = DateField("Date expiration", validators=[Optional()])
|
||||
correspondant = SelectField("Correspondant à contacté", validators=[Optional()])
|
||||
submit = SubmitField("Modifier", render_kw=SUBMIT_MARGE)
|
||||
cancel = SubmitField("Annuler", render_kw=SUBMIT_MARGE)
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
super().__init__(*args, **kwargs)
|
||||
@ -450,7 +456,8 @@ class CorrespondantCreationForm(FlaskForm):
|
||||
class CorrespondantsCreationForm(FlaskForm):
|
||||
hidden_site_id = HiddenField()
|
||||
correspondants = FieldList(FormField(CorrespondantCreationForm), min_entries=1)
|
||||
submit = SubmitField("Envoyer", render_kw=SUBMIT_MARGE)
|
||||
submit = SubmitField("Envoyer")
|
||||
cancel = SubmitField("Annuler")
|
||||
|
||||
def validate(self):
|
||||
validate = True
|
||||
@ -506,6 +513,7 @@ class CorrespondantModificationForm(FlaskForm):
|
||||
origine = _build_string_field("Origine", required=False)
|
||||
notes = _build_string_field("Notes", required=False)
|
||||
submit = SubmitField("Modifier", render_kw=SUBMIT_MARGE)
|
||||
cancel = SubmitField("Annuler", render_kw=SUBMIT_MARGE)
|
||||
|
||||
def validate(self):
|
||||
validate = True
|
||||
@ -543,6 +551,7 @@ class ContactCreationForm(FlaskForm):
|
||||
)
|
||||
notes = TextAreaField("Notes (*)", validators=[DataRequired(message=CHAMP_REQUIS)])
|
||||
submit = SubmitField("Envoyer", render_kw=SUBMIT_MARGE)
|
||||
cancel = SubmitField("Annuler", render_kw=SUBMIT_MARGE)
|
||||
|
||||
def validate_utilisateur(self, utilisateur):
|
||||
utilisateur_data = self.utilisateur.data.upper().strip()
|
||||
@ -569,6 +578,7 @@ class ContactModificationForm(FlaskForm):
|
||||
)
|
||||
notes = TextAreaField("Notes (*)", validators=[DataRequired(message=CHAMP_REQUIS)])
|
||||
submit = SubmitField("Modifier", render_kw=SUBMIT_MARGE)
|
||||
cancel = SubmitField("Annuler", render_kw=SUBMIT_MARGE)
|
||||
|
||||
def validate_utilisateur(self, utilisateur):
|
||||
utilisateur_data = self.utilisateur.data.upper().strip()
|
||||
@ -602,6 +612,7 @@ class StageApprentissageCreationForm(FlaskForm):
|
||||
)
|
||||
notes = TextAreaField("Notes")
|
||||
submit = SubmitField("Envoyer", render_kw=SUBMIT_MARGE)
|
||||
cancel = SubmitField("Annuler", render_kw=SUBMIT_MARGE)
|
||||
|
||||
def validate(self):
|
||||
validate = True
|
||||
@ -649,6 +660,7 @@ class StageApprentissageModificationForm(FlaskForm):
|
||||
)
|
||||
notes = TextAreaField("Notes")
|
||||
submit = SubmitField("Modifier", render_kw=SUBMIT_MARGE)
|
||||
cancel = SubmitField("Annuler", render_kw=SUBMIT_MARGE)
|
||||
|
||||
def validate(self):
|
||||
validate = True
|
||||
@ -705,6 +717,7 @@ class TaxeApprentissageForm(FlaskForm):
|
||||
)
|
||||
notes = TextAreaField("Notes")
|
||||
submit = SubmitField("Envoyer", render_kw=SUBMIT_MARGE)
|
||||
cancel = SubmitField("Annuler", render_kw=SUBMIT_MARGE)
|
||||
|
||||
def validate(self):
|
||||
validate = True
|
||||
@ -738,6 +751,7 @@ class TaxeApprentissageModificationForm(FlaskForm):
|
||||
)
|
||||
notes = TextAreaField("Notes")
|
||||
submit = SubmitField("Modifier", render_kw=SUBMIT_MARGE)
|
||||
cancel = SubmitField("Annuler", render_kw=SUBMIT_MARGE)
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
super().__init__(*args, **kwargs)
|
||||
@ -755,7 +769,8 @@ class EnvoiOffreForm(FlaskForm):
|
||||
),
|
||||
min_entries=1,
|
||||
)
|
||||
submit = SubmitField("Envoyer", render_kw=SUBMIT_MARGE)
|
||||
submit = SubmitField("Envoyer")
|
||||
cancel = SubmitField("Annuler")
|
||||
|
||||
def validate(self):
|
||||
validate = True
|
||||
@ -795,23 +810,28 @@ class AjoutFichierForm(FlaskForm):
|
||||
],
|
||||
)
|
||||
submit = SubmitField("Ajouter", render_kw=SUBMIT_MARGE)
|
||||
cancel = SubmitField("Annuler", render_kw=SUBMIT_MARGE)
|
||||
|
||||
|
||||
class SuppressionConfirmationForm(FlaskForm):
|
||||
submit = SubmitField("Supprimer", render_kw=SUBMIT_MARGE)
|
||||
cancel = SubmitField("Annuler", render_kw=SUBMIT_MARGE)
|
||||
|
||||
|
||||
class DesactivationConfirmationForm(FlaskForm):
|
||||
notes_active = TextAreaField("Notes sur la désactivation", validators=[Optional()])
|
||||
submit = SubmitField("Modifier", render_kw=SUBMIT_MARGE)
|
||||
cancel = SubmitField("Annuler", render_kw=SUBMIT_MARGE)
|
||||
|
||||
|
||||
class ActivationConfirmationForm(FlaskForm):
|
||||
submit = SubmitField("Modifier", render_kw=SUBMIT_MARGE)
|
||||
cancel = SubmitField("Annuler", render_kw=SUBMIT_MARGE)
|
||||
|
||||
|
||||
class ValidationConfirmationForm(FlaskForm):
|
||||
submit = SubmitField("Valider", render_kw=SUBMIT_MARGE)
|
||||
cancel = SubmitField("Annuler", render_kw=SUBMIT_MARGE)
|
||||
|
||||
|
||||
class ImportForm(FlaskForm):
|
||||
@ -833,3 +853,4 @@ class PreferencesForm(FlaskForm):
|
||||
)
|
||||
check_siret = BooleanField("Vérification SIRET")
|
||||
submit = SubmitField("Valider", render_kw=SUBMIT_MARGE)
|
||||
cancel = SubmitField("Annuler", render_kw=SUBMIT_MARGE)
|
||||
|
@ -115,20 +115,6 @@ def logs():
|
||||
)
|
||||
|
||||
|
||||
@bp.route("/validation", methods=["GET"])
|
||||
@permission_required(Permission.RelationsEntreprisesValidate)
|
||||
def validation():
|
||||
"""
|
||||
Permet d'afficher une page avec la liste des entreprises a valider (non visible)
|
||||
"""
|
||||
entreprises = Entreprise.query.filter_by(visible=False).all()
|
||||
return render_template(
|
||||
"entreprises/entreprises_validation.html",
|
||||
title="Validation entreprises",
|
||||
entreprises=entreprises,
|
||||
)
|
||||
|
||||
|
||||
@bp.route("/correspondants", methods=["GET"])
|
||||
@permission_required(Permission.RelationsEntreprisesCorrespondants)
|
||||
def correspondants():
|
||||
@ -155,68 +141,17 @@ def correspondants():
|
||||
)
|
||||
|
||||
|
||||
@bp.route("/fiche_entreprise/<int:entreprise_id>", methods=["GET"])
|
||||
@permission_required(Permission.RelationsEntreprisesView)
|
||||
def fiche_entreprise(entreprise_id):
|
||||
@bp.route("/validation", methods=["GET"])
|
||||
@permission_required(Permission.RelationsEntreprisesValidate)
|
||||
def validation():
|
||||
"""
|
||||
Permet d'afficher la fiche entreprise d'une entreprise avec une liste des dernières opérations et
|
||||
l'historique des étudiants ayant réaliser un stage ou une alternance dans cette entreprise.
|
||||
La fiche entreprise comporte les informations de l'entreprise, les correspondants de l'entreprise et
|
||||
les offres de l'entreprise.
|
||||
Permet d'afficher une page avec la liste des entreprises a valider (non visible)
|
||||
"""
|
||||
entreprise = Entreprise.query.filter_by(
|
||||
id=entreprise_id, visible=True
|
||||
).first_or_404(description=f"fiche entreprise {entreprise_id} inconnue")
|
||||
offres_with_files = are.get_offres_non_expirees_with_files(entreprise.offres)
|
||||
logs = (
|
||||
EntrepriseHistorique.query.order_by(EntrepriseHistorique.date.desc())
|
||||
.filter(EntrepriseHistorique.entreprise_id == entreprise.id)
|
||||
.limit(LOGS_LEN)
|
||||
.all()
|
||||
)
|
||||
stages_apprentissages = (
|
||||
db.session.query(EntrepriseStageApprentissage, Identite)
|
||||
.order_by(EntrepriseStageApprentissage.date_debut.desc())
|
||||
.filter(EntrepriseStageApprentissage.entreprise_id == entreprise.id)
|
||||
.join(Identite, Identite.id == EntrepriseStageApprentissage.etudid)
|
||||
.all()
|
||||
)
|
||||
taxes = (
|
||||
EntrepriseTaxeApprentissage.query.filter_by(entreprise_id=entreprise.id)
|
||||
.order_by(EntrepriseTaxeApprentissage.annee.desc())
|
||||
.all()
|
||||
)
|
||||
entreprises = Entreprise.query.filter_by(visible=False).all()
|
||||
return render_template(
|
||||
"entreprises/fiche_entreprise.html",
|
||||
title="Fiche entreprise",
|
||||
entreprise=entreprise,
|
||||
offres=offres_with_files,
|
||||
logs=logs,
|
||||
stages_apprentissages=stages_apprentissages,
|
||||
taxes=taxes,
|
||||
)
|
||||
|
||||
|
||||
@bp.route("/fiche_entreprise/<int:entreprise_id>/logs", methods=["GET"])
|
||||
@permission_required(Permission.RelationsEntreprisesView)
|
||||
def logs_entreprise(entreprise_id):
|
||||
"""
|
||||
Permet d'afficher les logs d'une entreprise
|
||||
"""
|
||||
page = request.args.get("page", 1, type=int)
|
||||
entreprise = Entreprise.query.filter_by(
|
||||
id=entreprise_id, visible=True
|
||||
).first_or_404(description=f"logs fiche entreprise {entreprise_id} inconnu")
|
||||
logs = (
|
||||
EntrepriseHistorique.query.order_by(EntrepriseHistorique.date.desc())
|
||||
.filter(EntrepriseHistorique.entreprise_id == entreprise.id)
|
||||
.paginate(page=page, per_page=20)
|
||||
)
|
||||
return render_template(
|
||||
"entreprises/logs_entreprise.html",
|
||||
title="Logs",
|
||||
logs=logs,
|
||||
entreprise=entreprise,
|
||||
"entreprises/entreprises_validation.html",
|
||||
title="Validation entreprises",
|
||||
entreprises=entreprises,
|
||||
)
|
||||
|
||||
|
||||
@ -238,6 +173,82 @@ def fiche_entreprise_validation(entreprise_id):
|
||||
)
|
||||
|
||||
|
||||
@bp.route(
|
||||
"/fiche_entreprise_validation/<int:entreprise_id>/validate_entreprise",
|
||||
methods=["GET", "POST"],
|
||||
)
|
||||
@permission_required(Permission.RelationsEntreprisesValidate)
|
||||
def validate_entreprise(entreprise_id):
|
||||
"""
|
||||
Permet de valider une entreprise
|
||||
"""
|
||||
form = ValidationConfirmationForm()
|
||||
entreprise = Entreprise.query.filter_by(
|
||||
id=entreprise_id, visible=False
|
||||
).first_or_404(description=f"entreprise (validation) {entreprise_id} inconnue")
|
||||
if request.method == "POST" and form.cancel.data:
|
||||
return redirect(
|
||||
url_for(
|
||||
"entreprises.fiche_entreprise_validation", entreprise_id=entreprise_id
|
||||
)
|
||||
)
|
||||
if form.validate_on_submit():
|
||||
entreprise.visible = True
|
||||
nom_entreprise = f"<a href=/ScoDoc/entreprises/fiche_entreprise/{entreprise.id}>{entreprise.nom}</a>"
|
||||
log = EntrepriseHistorique(
|
||||
authenticated_user=current_user.user_name,
|
||||
entreprise_id=entreprise.id,
|
||||
text=f"{nom_entreprise} - Validation de la fiche entreprise ({entreprise.nom})",
|
||||
)
|
||||
db.session.add(log)
|
||||
db.session.commit()
|
||||
flash("L'entreprise a été validé et ajouté à la liste.")
|
||||
return redirect(url_for("entreprises.validation"))
|
||||
return render_template(
|
||||
"entreprises/form_validate_confirmation.html",
|
||||
title="Validation entreprise",
|
||||
form=form,
|
||||
)
|
||||
|
||||
|
||||
@bp.route(
|
||||
"/fiche_entreprise_validation/<int:entreprise_id>/delete_validation_entreprise",
|
||||
methods=["GET", "POST"],
|
||||
)
|
||||
@permission_required(Permission.RelationsEntreprisesValidate)
|
||||
def delete_validation_entreprise(entreprise_id):
|
||||
"""
|
||||
Permet de supprimer une entreprise en attente de validation avec une formulaire de validation
|
||||
"""
|
||||
entreprise = Entreprise.query.filter_by(
|
||||
id=entreprise_id, visible=False
|
||||
).first_or_404(description=f"entreprise (validation) {entreprise_id} inconnue")
|
||||
form = SuppressionConfirmationForm()
|
||||
if request.method == "POST" and form.cancel.data:
|
||||
return redirect(
|
||||
url_for(
|
||||
"entreprises.fiche_entreprise_validation", entreprise_id=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(
|
||||
"entreprises/form_confirmation.html",
|
||||
title="Supression entreprise",
|
||||
form=form,
|
||||
info_message="Cliquez sur le bouton Supprimer pour confirmer votre supression",
|
||||
)
|
||||
|
||||
|
||||
@bp.route("/offres_recues", methods=["GET"])
|
||||
@permission_required(Permission.RelationsEntreprisesView)
|
||||
def offres_recues():
|
||||
@ -277,21 +288,42 @@ def offres_recues():
|
||||
)
|
||||
|
||||
|
||||
@bp.route("/fiche_entreprise/<int:entreprise_id>/offres_expirees")
|
||||
@bp.route(
|
||||
"/offres_recues/delete_offre_recue/<int:envoi_offre_id>", methods=["GET", "POST"]
|
||||
)
|
||||
@permission_required(Permission.RelationsEntreprisesView)
|
||||
def offres_expirees(entreprise_id):
|
||||
def delete_offre_recue(envoi_offre_id):
|
||||
"""
|
||||
Permet d'afficher la liste des offres expirés d'une entreprise
|
||||
Permet de supprimer une offre reçue
|
||||
"""
|
||||
entreprise = Entreprise.query.filter_by(
|
||||
id=entreprise_id, visible=True
|
||||
).first_or_404(description=f"fiche entreprise {entreprise_id} inconnue")
|
||||
offres_with_files = are.get_offres_expirees_with_files(entreprise.offres)
|
||||
offre_recue = EntrepriseEnvoiOffre.query.filter_by(
|
||||
id=envoi_offre_id, receiver_id=current_user.id
|
||||
).first_or_404(description=f"offre recu {envoi_offre_id} inconnue")
|
||||
db.session.delete(offre_recue)
|
||||
db.session.commit()
|
||||
return redirect(url_for("entreprises.offres_recues"))
|
||||
|
||||
|
||||
@bp.route("/preferences", methods=["GET", "POST"])
|
||||
@permission_required(Permission.RelationsEntreprisesValidate)
|
||||
def preferences():
|
||||
"""
|
||||
Permet d'afficher la page des préférences du module gestion des relations entreprises
|
||||
"""
|
||||
form = PreferencesForm()
|
||||
if request.method == "POST" and form.cancel.data:
|
||||
return redirect(url_for("entreprises.index"))
|
||||
if form.validate_on_submit():
|
||||
EntreprisePreferences.set_email_notifications(form.mail_entreprise.data.strip())
|
||||
EntreprisePreferences.set_check_siret(int(form.check_siret.data))
|
||||
return redirect(url_for("entreprises.index"))
|
||||
elif request.method == "GET":
|
||||
form.mail_entreprise.data = EntreprisePreferences.get_email_notifications()
|
||||
form.check_siret.data = int(EntreprisePreferences.get_check_siret())
|
||||
return render_template(
|
||||
"entreprises/offres_expirees.html",
|
||||
title="Offres expirées",
|
||||
entreprise=entreprise,
|
||||
offres_expirees=offres_with_files,
|
||||
"entreprises/preferences.html",
|
||||
title="Préférences",
|
||||
form=form,
|
||||
)
|
||||
|
||||
|
||||
@ -302,6 +334,8 @@ def add_entreprise():
|
||||
Permet d'ajouter une entreprise dans la base avec un formulaire
|
||||
"""
|
||||
form = EntrepriseCreationForm()
|
||||
if request.method == "POST" and form.cancel.data:
|
||||
return redirect(url_for("entreprises.index"))
|
||||
if form.validate_on_submit():
|
||||
entreprise = Entreprise(
|
||||
nom=form.nom_entreprise.data.strip(),
|
||||
@ -380,6 +414,89 @@ def add_entreprise():
|
||||
)
|
||||
|
||||
|
||||
@bp.route("/fiche_entreprise/<int:entreprise_id>", methods=["GET"])
|
||||
@permission_required(Permission.RelationsEntreprisesView)
|
||||
def fiche_entreprise(entreprise_id):
|
||||
"""
|
||||
Permet d'afficher la fiche entreprise d'une entreprise avec une liste des dernières opérations et
|
||||
l'historique des étudiants ayant réaliser un stage ou une alternance dans cette entreprise.
|
||||
La fiche entreprise comporte les informations de l'entreprise, les correspondants de l'entreprise et
|
||||
les offres de l'entreprise.
|
||||
"""
|
||||
entreprise = Entreprise.query.filter_by(
|
||||
id=entreprise_id, visible=True
|
||||
).first_or_404(description=f"fiche entreprise {entreprise_id} inconnue")
|
||||
offres_with_files = are.get_offres_non_expirees_with_files(entreprise.offres)
|
||||
logs = (
|
||||
EntrepriseHistorique.query.order_by(EntrepriseHistorique.date.desc())
|
||||
.filter(EntrepriseHistorique.entreprise_id == entreprise.id)
|
||||
.limit(LOGS_LEN)
|
||||
.all()
|
||||
)
|
||||
stages_apprentissages = (
|
||||
db.session.query(EntrepriseStageApprentissage, Identite)
|
||||
.order_by(EntrepriseStageApprentissage.date_debut.desc())
|
||||
.filter(EntrepriseStageApprentissage.entreprise_id == entreprise.id)
|
||||
.join(Identite, Identite.id == EntrepriseStageApprentissage.etudid)
|
||||
.all()
|
||||
)
|
||||
taxes = (
|
||||
EntrepriseTaxeApprentissage.query.filter_by(entreprise_id=entreprise.id)
|
||||
.order_by(EntrepriseTaxeApprentissage.annee.desc())
|
||||
.all()
|
||||
)
|
||||
return render_template(
|
||||
"entreprises/fiche_entreprise.html",
|
||||
title="Fiche entreprise",
|
||||
entreprise=entreprise,
|
||||
offres=offres_with_files,
|
||||
logs=logs,
|
||||
stages_apprentissages=stages_apprentissages,
|
||||
taxes=taxes,
|
||||
)
|
||||
|
||||
|
||||
@bp.route("/fiche_entreprise/<int:entreprise_id>/logs", methods=["GET"])
|
||||
@permission_required(Permission.RelationsEntreprisesView)
|
||||
def logs_entreprise(entreprise_id):
|
||||
"""
|
||||
Permet d'afficher les logs d'une entreprise
|
||||
"""
|
||||
page = request.args.get("page", 1, type=int)
|
||||
entreprise = Entreprise.query.filter_by(
|
||||
id=entreprise_id, visible=True
|
||||
).first_or_404(description=f"logs fiche entreprise {entreprise_id} inconnu")
|
||||
logs = (
|
||||
EntrepriseHistorique.query.order_by(EntrepriseHistorique.date.desc())
|
||||
.filter(EntrepriseHistorique.entreprise_id == entreprise.id)
|
||||
.paginate(page=page, per_page=20)
|
||||
)
|
||||
return render_template(
|
||||
"entreprises/logs_entreprise.html",
|
||||
title="Logs",
|
||||
logs=logs,
|
||||
entreprise=entreprise,
|
||||
)
|
||||
|
||||
|
||||
@bp.route("/fiche_entreprise/<int:entreprise_id>/offres_expirees")
|
||||
@permission_required(Permission.RelationsEntreprisesView)
|
||||
def offres_expirees(entreprise_id):
|
||||
"""
|
||||
Permet d'afficher la liste des offres expirés d'une entreprise
|
||||
"""
|
||||
entreprise = Entreprise.query.filter_by(
|
||||
id=entreprise_id, visible=True
|
||||
).first_or_404(description=f"fiche entreprise {entreprise_id} inconnue")
|
||||
offres_with_files = are.get_offres_expirees_with_files(entreprise.offres)
|
||||
return render_template(
|
||||
"entreprises/offres_expirees.html",
|
||||
title="Offres expirées",
|
||||
entreprise=entreprise,
|
||||
offres_expirees=offres_with_files,
|
||||
)
|
||||
|
||||
|
||||
@bp.route(
|
||||
"/fiche_entreprise/<int:entreprise_id>/edit_entreprise", methods=["GET", "POST"]
|
||||
)
|
||||
@ -392,6 +509,10 @@ def edit_entreprise(entreprise_id):
|
||||
id=entreprise_id, visible=True
|
||||
).first_or_404(description=f"entreprise {entreprise_id} inconnue")
|
||||
form = EntrepriseModificationForm(siret=entreprise.siret)
|
||||
if request.method == "POST" and form.cancel.data:
|
||||
return redirect(
|
||||
url_for("entreprises.fiche_entreprise", entreprise_id=entreprise_id)
|
||||
)
|
||||
if form.validate_on_submit():
|
||||
lien_entreprise = f"<a href='{url_for('entreprises.fiche_entreprise', entreprise_id=entreprise.id)}'>{form.nom.data.strip()}</a>"
|
||||
logs_text = []
|
||||
@ -469,6 +590,10 @@ def fiche_entreprise_desactiver(entreprise_id):
|
||||
id=entreprise_id, visible=True, active=True
|
||||
).first_or_404(description=f"entreprise {entreprise_id} inconnue")
|
||||
form = DesactivationConfirmationForm()
|
||||
if request.method == "POST" and form.cancel.data:
|
||||
return redirect(
|
||||
url_for("entreprises.fiche_entreprise", entreprise_id=entreprise_id)
|
||||
)
|
||||
if form.validate_on_submit():
|
||||
entreprise.notes_active = form.notes_active.data.strip()
|
||||
entreprise.active = False
|
||||
@ -502,6 +627,10 @@ def fiche_entreprise_activer(entreprise_id):
|
||||
id=entreprise_id, visible=True, active=False
|
||||
).first_or_404(description=f"entreprise {entreprise_id} inconnue")
|
||||
form = ActivationConfirmationForm()
|
||||
if request.method == "POST" and form.cancel.data:
|
||||
return redirect(
|
||||
url_for("entreprises.fiche_entreprise", entreprise_id=entreprise_id)
|
||||
)
|
||||
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>"
|
||||
@ -536,6 +665,10 @@ def add_taxe_apprentissage(entreprise_id):
|
||||
id=entreprise_id, visible=True
|
||||
).first_or_404(description=f"entreprise {entreprise_id} inconnue")
|
||||
form = TaxeApprentissageForm(hidden_entreprise_id=entreprise.id)
|
||||
if request.method == "POST" and form.cancel.data:
|
||||
return redirect(
|
||||
url_for("entreprises.fiche_entreprise", entreprise_id=entreprise_id)
|
||||
)
|
||||
if form.validate_on_submit():
|
||||
taxe = EntrepriseTaxeApprentissage(
|
||||
entreprise_id=entreprise.id,
|
||||
@ -579,6 +712,10 @@ def edit_taxe_apprentissage(entreprise_id, taxe_id):
|
||||
description=f"taxe d'apprentissage {taxe_id} inconnue pour l'entreprise {entreprise_id}"
|
||||
)
|
||||
form = TaxeApprentissageModificationForm(annee=taxe.annee)
|
||||
if request.method == "POST" and form.cancel.data:
|
||||
return redirect(
|
||||
url_for("entreprises.fiche_entreprise", entreprise_id=entreprise_id)
|
||||
)
|
||||
if form.validate_on_submit():
|
||||
taxe.montant = form.montant.data
|
||||
taxe.notes = form.notes.data.strip()
|
||||
@ -618,6 +755,10 @@ def delete_taxe_apprentissage(entreprise_id, taxe_id):
|
||||
description=f"taxe d'apprentissage {taxe_id} inconnue pour l'entreprise {entreprise_id}"
|
||||
)
|
||||
form = SuppressionConfirmationForm()
|
||||
if request.method == "POST" and form.cancel.data:
|
||||
return redirect(
|
||||
url_for("entreprises.fiche_entreprise", entreprise_id=entreprise_id)
|
||||
)
|
||||
if form.validate_on_submit():
|
||||
db.session.delete(taxe)
|
||||
log = EntrepriseHistorique(
|
||||
@ -641,70 +782,6 @@ def delete_taxe_apprentissage(entreprise_id, taxe_id):
|
||||
)
|
||||
|
||||
|
||||
@bp.route(
|
||||
"/fiche_entreprise_validation/<int:entreprise_id>/validate_entreprise",
|
||||
methods=["GET", "POST"],
|
||||
)
|
||||
@permission_required(Permission.RelationsEntreprisesValidate)
|
||||
def validate_entreprise(entreprise_id):
|
||||
"""
|
||||
Permet de valider une entreprise
|
||||
"""
|
||||
form = ValidationConfirmationForm()
|
||||
entreprise = Entreprise.query.filter_by(
|
||||
id=entreprise_id, visible=False
|
||||
).first_or_404(description=f"entreprise (validation) {entreprise_id} inconnue")
|
||||
if form.validate_on_submit():
|
||||
entreprise.visible = True
|
||||
nom_entreprise = f"<a href=/ScoDoc/entreprises/fiche_entreprise/{entreprise.id}>{entreprise.nom}</a>"
|
||||
log = EntrepriseHistorique(
|
||||
authenticated_user=current_user.user_name,
|
||||
entreprise_id=entreprise.id,
|
||||
text=f"{nom_entreprise} - Validation de la fiche entreprise ({entreprise.nom})",
|
||||
)
|
||||
db.session.add(log)
|
||||
db.session.commit()
|
||||
flash("L'entreprise a été validé et ajouté à la liste.")
|
||||
return redirect(url_for("entreprises.validation"))
|
||||
return render_template(
|
||||
"entreprises/form_validate_confirmation.html",
|
||||
title="Validation entreprise",
|
||||
form=form,
|
||||
)
|
||||
|
||||
|
||||
@bp.route(
|
||||
"/fiche_entreprise_validation/<int:entreprise_id>/delete_validation_entreprise",
|
||||
methods=["GET", "POST"],
|
||||
)
|
||||
@permission_required(Permission.RelationsEntreprisesValidate)
|
||||
def delete_validation_entreprise(entreprise_id):
|
||||
"""
|
||||
Permet de supprimer une entreprise en attente de validation avec une formulaire de validation
|
||||
"""
|
||||
entreprise = Entreprise.query.filter_by(
|
||||
id=entreprise_id, visible=False
|
||||
).first_or_404(description=f"entreprise (validation) {entreprise_id} inconnue")
|
||||
form = SuppressionConfirmationForm()
|
||||
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(
|
||||
"entreprises/form_confirmation.html",
|
||||
title="Supression entreprise",
|
||||
form=form,
|
||||
info_message="Cliquez sur le bouton Supprimer pour confirmer votre supression",
|
||||
)
|
||||
|
||||
|
||||
@bp.route("/fiche_entreprise/<int:entreprise_id>/add_offre", methods=["GET", "POST"])
|
||||
@permission_required(Permission.RelationsEntreprisesChange)
|
||||
def add_offre(entreprise_id):
|
||||
@ -715,6 +792,10 @@ def add_offre(entreprise_id):
|
||||
id=entreprise_id, visible=True
|
||||
).first_or_404(description=f"entreprise {entreprise_id} inconnue")
|
||||
form = OffreCreationForm(hidden_entreprise_id=entreprise.id)
|
||||
if request.method == "POST" and form.cancel.data:
|
||||
return redirect(
|
||||
url_for("entreprises.fiche_entreprise", entreprise_id=entreprise_id)
|
||||
)
|
||||
if form.validate_on_submit():
|
||||
offre = EntrepriseOffre(
|
||||
entreprise_id=entreprise.id,
|
||||
@ -785,10 +866,14 @@ def edit_offre(entreprise_id, offre_id):
|
||||
description=f"offre {offre_id} inconnue pour l'entreprise {entreprise_id}"
|
||||
)
|
||||
offre_depts = EntrepriseOffreDepartement.query.filter_by(offre_id=offre.id).all()
|
||||
offre_depts_list = [(offre_dept.dept_id) for offre_dept in offre_depts]
|
||||
form = OffreModificationForm(
|
||||
hidden_entreprise_id=offre.entreprise_id, correspondant=offre.correspondant_id
|
||||
)
|
||||
offre_depts_list = [(offre_dept.dept_id) for offre_dept in offre_depts]
|
||||
if request.method == "POST" and form.cancel.data:
|
||||
return redirect(
|
||||
url_for("entreprises.fiche_entreprise", entreprise_id=entreprise_id)
|
||||
)
|
||||
if form.validate_on_submit():
|
||||
offre.intitule = form.intitule.data.strip()
|
||||
offre.description = form.description.data.strip()
|
||||
@ -858,6 +943,10 @@ def delete_offre(entreprise_id, offre_id):
|
||||
)
|
||||
entreprise_id = offre.entreprise.id
|
||||
form = SuppressionConfirmationForm()
|
||||
if request.method == "POST" and form.cancel.data:
|
||||
return redirect(
|
||||
url_for("entreprises.fiche_entreprise", entreprise_id=entreprise_id)
|
||||
)
|
||||
if form.validate_on_submit():
|
||||
db.session.delete(offre)
|
||||
path = os.path.join(
|
||||
@ -889,22 +978,6 @@ def delete_offre(entreprise_id, offre_id):
|
||||
)
|
||||
|
||||
|
||||
@bp.route(
|
||||
"/offres_recues/delete_offre_recue/<int:envoi_offre_id>", methods=["GET", "POST"]
|
||||
)
|
||||
@permission_required(Permission.RelationsEntreprisesView)
|
||||
def delete_offre_recue(envoi_offre_id):
|
||||
"""
|
||||
Permet de supprimer une offre reçue
|
||||
"""
|
||||
offre_recue = EntrepriseEnvoiOffre.query.filter_by(
|
||||
id=envoi_offre_id, receiver_id=current_user.id
|
||||
).first_or_404(description=f"offre recu {envoi_offre_id} inconnue")
|
||||
db.session.delete(offre_recue)
|
||||
db.session.commit()
|
||||
return redirect(url_for("entreprises.offres_recues"))
|
||||
|
||||
|
||||
@bp.route(
|
||||
"/fiche_entreprise/<int:entreprise_id>/expired/<int:offre_id>",
|
||||
methods=["GET", "POST"],
|
||||
@ -943,6 +1016,10 @@ def add_site(entreprise_id):
|
||||
id=entreprise_id, visible=True
|
||||
).first_or_404(description=f"entreprise {entreprise_id} inconnue")
|
||||
form = SiteCreationForm(hidden_entreprise_id=entreprise.id)
|
||||
if request.method == "POST" and form.cancel.data:
|
||||
return redirect(
|
||||
url_for("entreprises.fiche_entreprise", entreprise_id=entreprise_id)
|
||||
)
|
||||
if form.validate_on_submit():
|
||||
site = EntrepriseSite(
|
||||
entreprise_id=entreprise.id,
|
||||
@ -992,6 +1069,10 @@ def edit_site(entreprise_id, site_id):
|
||||
form = SiteModificationForm(
|
||||
hidden_entreprise_id=site.entreprise_id, hidden_site_id=site.id
|
||||
)
|
||||
if request.method == "POST" and form.cancel.data:
|
||||
return redirect(
|
||||
url_for("entreprises.fiche_entreprise", entreprise_id=entreprise_id)
|
||||
)
|
||||
if form.validate_on_submit():
|
||||
site.nom = form.nom.data.strip()
|
||||
site.adresse = form.adresse.data.strip()
|
||||
@ -1038,6 +1119,10 @@ def add_correspondant(entreprise_id, site_id):
|
||||
description=f"site {site_id} inconnue pour l'entreprise {entreprise_id}"
|
||||
)
|
||||
form = CorrespondantsCreationForm(hidden_site_id=site.id)
|
||||
if request.method == "POST" and form.cancel.data:
|
||||
return redirect(
|
||||
url_for("entreprises.fiche_entreprise", entreprise_id=entreprise_id)
|
||||
)
|
||||
if form.validate_on_submit():
|
||||
for correspondant_entry in form.correspondants.entries:
|
||||
correspondant = EntrepriseCorrespondant(
|
||||
@ -1105,6 +1190,10 @@ def edit_correspondant(entreprise_id, site_id, correspondant_id):
|
||||
hidden_site_id=correspondant.site.id,
|
||||
hidden_correspondant_id=correspondant.id,
|
||||
)
|
||||
if request.method == "POST" and form.cancel.data:
|
||||
return redirect(
|
||||
url_for("entreprises.fiche_entreprise", entreprise_id=entreprise_id)
|
||||
)
|
||||
if form.validate_on_submit():
|
||||
correspondant.civilite = form.civilite.data
|
||||
correspondant.nom = form.nom.data.strip()
|
||||
@ -1175,6 +1264,10 @@ def delete_correspondant(entreprise_id, site_id, correspondant_id):
|
||||
)
|
||||
)
|
||||
form = SuppressionConfirmationForm()
|
||||
if request.method == "POST" and form.cancel.data:
|
||||
return redirect(
|
||||
url_for("entreprises.fiche_entreprise", entreprise_id=entreprise_id)
|
||||
)
|
||||
if form.validate_on_submit():
|
||||
db.session.delete(correspondant)
|
||||
log = EntrepriseHistorique(
|
||||
@ -1201,6 +1294,24 @@ def delete_correspondant(entreprise_id, site_id, correspondant_id):
|
||||
)
|
||||
|
||||
|
||||
@bp.route("/fiche_entreprise/<int:entreprise_id>/contacts")
|
||||
@permission_required(Permission.RelationsEntreprisesView)
|
||||
def contacts(entreprise_id):
|
||||
"""
|
||||
Permet d'afficher une page avec la liste des contacts d'une entreprise
|
||||
"""
|
||||
entreprise = Entreprise.query.filter_by(
|
||||
id=entreprise_id, visible=True
|
||||
).first_or_404(description=f"entreprise {entreprise_id} inconnue")
|
||||
contacts = EntrepriseContact.query.filter_by(entreprise=entreprise.id).all()
|
||||
return render_template(
|
||||
"entreprises/contacts.html",
|
||||
title="Liste des contacts",
|
||||
contacts=contacts,
|
||||
entreprise=entreprise,
|
||||
)
|
||||
|
||||
|
||||
@bp.route(
|
||||
"/fiche_entreprise/<int:entreprise_id>/contacts/add_contact",
|
||||
methods=["GET", "POST"],
|
||||
@ -1219,6 +1330,8 @@ def add_contact(entreprise_id):
|
||||
if current_user.nom and current_user.prenom
|
||||
else "",
|
||||
)
|
||||
if request.method == "POST" and form.cancel.data:
|
||||
return redirect(url_for("entreprises.contacts", entreprise_id=entreprise_id))
|
||||
if form.validate_on_submit():
|
||||
utilisateur_data = form.utilisateur.data.upper().strip()
|
||||
stm = text(
|
||||
@ -1270,6 +1383,8 @@ def edit_contact(entreprise_id, contact_id):
|
||||
description=f"contact {contact_id} inconnu pour l'entreprise {entreprise_id}"
|
||||
)
|
||||
form = ContactModificationForm()
|
||||
if request.method == "POST" and form.cancel.data:
|
||||
return redirect(url_for("entreprises.contacts", entreprise_id=entreprise_id))
|
||||
if form.validate_on_submit():
|
||||
utilisateur_data = form.utilisateur.data.upper().strip()
|
||||
stm = text(
|
||||
@ -1324,6 +1439,8 @@ def delete_contact(entreprise_id, contact_id):
|
||||
description=f"contact {contact_id} inconnu pour l'entreprise {entreprise_id}"
|
||||
)
|
||||
form = SuppressionConfirmationForm()
|
||||
if request.method == "POST" and form.cancel.data:
|
||||
return redirect(url_for("entreprises.contacts", entreprise_id=entreprise_id))
|
||||
if form.validate_on_submit():
|
||||
db.session.delete(contact)
|
||||
log = EntrepriseHistorique(
|
||||
@ -1346,24 +1463,6 @@ def delete_contact(entreprise_id, contact_id):
|
||||
)
|
||||
|
||||
|
||||
@bp.route("/fiche_entreprise/<int:entreprise_id>/contacts")
|
||||
@permission_required(Permission.RelationsEntreprisesView)
|
||||
def contacts(entreprise_id):
|
||||
"""
|
||||
Permet d'afficher une page avec la liste des contacts d'une entreprise
|
||||
"""
|
||||
entreprise = Entreprise.query.filter_by(
|
||||
id=entreprise_id, visible=True
|
||||
).first_or_404(description=f"entreprise {entreprise_id} inconnue")
|
||||
contacts = EntrepriseContact.query.filter_by(entreprise=entreprise.id).all()
|
||||
return render_template(
|
||||
"entreprises/contacts.html",
|
||||
title="Liste des contacts",
|
||||
contacts=contacts,
|
||||
entreprise=entreprise,
|
||||
)
|
||||
|
||||
|
||||
@bp.route(
|
||||
"/fiche_entreprise/<int:entreprise_id>/add_stage_apprentissage",
|
||||
methods=["GET", "POST"],
|
||||
@ -1377,6 +1476,10 @@ def add_stage_apprentissage(entreprise_id):
|
||||
id=entreprise_id, visible=True
|
||||
).first_or_404(description=f"entreprise {entreprise_id} inconnue")
|
||||
form = StageApprentissageCreationForm()
|
||||
if request.method == "POST" and form.cancel.data:
|
||||
return redirect(
|
||||
url_for("entreprises.fiche_entreprise", entreprise_id=entreprise_id)
|
||||
)
|
||||
if form.validate_on_submit():
|
||||
etudiant_nomcomplet = form.etudiant.data.upper().strip()
|
||||
stm = text(
|
||||
@ -1443,6 +1546,10 @@ def edit_stage_apprentissage(entreprise_id, stage_apprentissage_id):
|
||||
description=f"etudiant {stage_apprentissage.etudid} inconnue"
|
||||
)
|
||||
form = StageApprentissageModificationForm()
|
||||
if request.method == "POST" and form.cancel.data:
|
||||
return redirect(
|
||||
url_for("entreprises.fiche_entreprise", entreprise_id=entreprise_id)
|
||||
)
|
||||
if form.validate_on_submit():
|
||||
etudiant_nomcomplet = form.etudiant.data.upper().strip()
|
||||
stm = text(
|
||||
@ -1508,6 +1615,10 @@ def delete_stage_apprentissage(entreprise_id, stage_apprentissage_id):
|
||||
id=stage_apprentissage_id, entreprise_id=entreprise_id
|
||||
).first_or_404(description=f"stage_apprentissage {stage_apprentissage_id} inconnu")
|
||||
form = SuppressionConfirmationForm()
|
||||
if request.method == "POST" and form.cancel.data:
|
||||
return redirect(
|
||||
url_for("entreprises.fiche_entreprise", entreprise_id=entreprise_id)
|
||||
)
|
||||
if form.validate_on_submit():
|
||||
db.session.delete(stage_apprentissage)
|
||||
log = EntrepriseHistorique(
|
||||
@ -1548,6 +1659,10 @@ def envoyer_offre(entreprise_id, offre_id):
|
||||
description=f"offre {offre_id} inconnue pour l'entreprise {entreprise_id}"
|
||||
)
|
||||
form = EnvoiOffreForm()
|
||||
if request.method == "POST" and form.cancel.data:
|
||||
return redirect(
|
||||
url_for("entreprises.fiche_entreprise", entreprise_id=entreprise_id)
|
||||
)
|
||||
if form.validate_on_submit():
|
||||
for responsable in form.responsables.entries:
|
||||
if responsable.data.strip():
|
||||
@ -1652,7 +1767,7 @@ def export_donnees():
|
||||
|
||||
@bp.route("/import_donnees/get_file_sample")
|
||||
@permission_required(Permission.RelationsEntreprisesExport)
|
||||
def get_import_donnees_file_sample():
|
||||
def import_donnees_get_file_sample():
|
||||
"""
|
||||
Permet de récupérer un fichier exemple vide pour pouvoir importer des entreprises
|
||||
"""
|
||||
@ -1787,6 +1902,10 @@ def add_offre_file(entreprise_id, offre_id):
|
||||
description=f"offre {offre_id} inconnue pour l'entreprise {entreprise_id}"
|
||||
)
|
||||
form = AjoutFichierForm()
|
||||
if request.method == "POST" and form.cancel.data:
|
||||
return redirect(
|
||||
url_for("entreprises.fiche_entreprise", entreprise_id=entreprise_id)
|
||||
)
|
||||
if form.validate_on_submit():
|
||||
date = f"{datetime.now().strftime('%Y-%m-%d-%H-%M-%S')}"
|
||||
path = os.path.join(
|
||||
@ -1826,6 +1945,10 @@ def delete_offre_file(entreprise_id, offre_id, filedir):
|
||||
description=f"offre {offre_id} inconnue pour l'entreprise {entreprise_id}"
|
||||
)
|
||||
form = SuppressionConfirmationForm()
|
||||
if request.method == "POST" and form.cancel.data:
|
||||
return redirect(
|
||||
url_for("entreprises.fiche_entreprise", entreprise_id=entreprise_id)
|
||||
)
|
||||
if form.validate_on_submit():
|
||||
path = os.path.join(
|
||||
Config.SCODOC_VAR_DIR,
|
||||
@ -1850,27 +1973,6 @@ def delete_offre_file(entreprise_id, offre_id, filedir):
|
||||
)
|
||||
|
||||
|
||||
@bp.route("/preferences", methods=["GET", "POST"])
|
||||
@permission_required(Permission.RelationsEntreprisesValidate)
|
||||
def preferences():
|
||||
"""
|
||||
Permet d'afficher la page des préférences du module gestion des relations entreprises
|
||||
"""
|
||||
form = PreferencesForm()
|
||||
if form.validate_on_submit():
|
||||
EntreprisePreferences.set_email_notifications(form.mail_entreprise.data.strip())
|
||||
EntreprisePreferences.set_check_siret(int(form.check_siret.data))
|
||||
return redirect(url_for("entreprises.index"))
|
||||
elif request.method == "GET":
|
||||
form.mail_entreprise.data = EntreprisePreferences.get_email_notifications()
|
||||
form.check_siret.data = int(EntreprisePreferences.get_check_siret())
|
||||
return render_template(
|
||||
"entreprises/preferences.html",
|
||||
title="Préférences",
|
||||
form=form,
|
||||
)
|
||||
|
||||
|
||||
@bp.errorhandler(404)
|
||||
def not_found_error_handler(e):
|
||||
"""
|
||||
|
@ -2,6 +2,17 @@
|
||||
{% extends 'base.html' %}
|
||||
|
||||
{% block app_content %}
|
||||
<div class="container">
|
||||
<ul class="breadcrumbs">
|
||||
<li class="breadcrumbs_item">
|
||||
<a href="{{ url_for('entreprises.validation') }}" class="breadcrumbs_link">Entreprises</a>
|
||||
</li>
|
||||
<li class="breadcrumbs_item">
|
||||
<a href="" class="breadcrumbs_link breadcrumbs_link-active">Fiche entreprise</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="container">
|
||||
<h2>Fiche entreprise - {{ entreprise.nom }} ({{ entreprise.siret }})</h2>
|
||||
|
||||
|
@ -32,7 +32,8 @@
|
||||
{{ form.correspondants }}
|
||||
<div style="margin-bottom: 10px;">
|
||||
<button class="btn btn-default" id="add-correspondant-field">Ajouter un correspondant</button>
|
||||
<input class="btn btn-default" type="submit" value="Envoyer">
|
||||
{{ form.submit(class_="btn btn-default") }}
|
||||
{{ form.cancel(class_="btn btn-default") }}
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
|
@ -25,7 +25,8 @@
|
||||
{{ form.responsables }}
|
||||
<div style="margin-bottom: 10px;">
|
||||
<button class="btn btn-default" id="add-responsable-field">Ajouter un responsable</button>
|
||||
<input class="btn btn-default" type="submit" value="Envoyer">
|
||||
{{ form.submit(class_="btn btn-default") }}
|
||||
{{ form.cancel(class_="btn btn-default") }}
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
|
@ -22,7 +22,7 @@
|
||||
<h1>{{ title }}</h1>
|
||||
<br>
|
||||
<div>
|
||||
<a href="{{ url_for('entreprises.get_import_donnees_file_sample') }}">Obtenir la feuille excel à remplir</a>
|
||||
<a href="{{ url_for('entreprises.import_donnees_get_file_sample') }}">Obtenir la feuille excel à remplir</a>
|
||||
</div>
|
||||
<br>
|
||||
<div class="row">
|
||||
|
Loading…
Reference in New Issue
Block a user