forked from ScoDoc/ScoDoc
enrichissement correspondant, desactiver une entreprise
This commit is contained in:
parent
a06854eb12
commit
cf0a136071
@ -39,4 +39,12 @@ def get_dept_acronym(id):
|
|||||||
return dept.acronym
|
return dept.acronym
|
||||||
|
|
||||||
|
|
||||||
|
@bp.app_template_filter()
|
||||||
|
def get_civilité(civ):
|
||||||
|
if civ == "H":
|
||||||
|
return "Monsieur"
|
||||||
|
else:
|
||||||
|
return "Madame"
|
||||||
|
|
||||||
|
|
||||||
from app.entreprises import routes
|
from app.entreprises import routes
|
||||||
|
@ -80,6 +80,11 @@ class EntrepriseCreationForm(FlaskForm):
|
|||||||
ville = _build_string_field("Ville de l'entreprise (*)")
|
ville = _build_string_field("Ville de l'entreprise (*)")
|
||||||
pays = _build_string_field("Pays de l'entreprise", required=False)
|
pays = _build_string_field("Pays de l'entreprise", required=False)
|
||||||
|
|
||||||
|
civilite = SelectField(
|
||||||
|
"Civilité du correspondant",
|
||||||
|
choices=[("M", "Monsieur"), ("F", "Madame")],
|
||||||
|
validators=[DataRequired(message=CHAMP_REQUIS)],
|
||||||
|
)
|
||||||
nom_correspondant = _build_string_field("Nom du correspondant", required=False)
|
nom_correspondant = _build_string_field("Nom du correspondant", required=False)
|
||||||
prenom_correspondant = _build_string_field(
|
prenom_correspondant = _build_string_field(
|
||||||
"Prénom du correspondant", required=False
|
"Prénom du correspondant", required=False
|
||||||
@ -91,6 +96,8 @@ class EntrepriseCreationForm(FlaskForm):
|
|||||||
)
|
)
|
||||||
poste = _build_string_field("Poste du correspondant", required=False)
|
poste = _build_string_field("Poste du correspondant", required=False)
|
||||||
service = _build_string_field("Service du correspondant", required=False)
|
service = _build_string_field("Service du correspondant", required=False)
|
||||||
|
origine = _build_string_field("Origine du correspondant", required=False)
|
||||||
|
notes = _build_string_field("Notes sur le correspondant", required=False)
|
||||||
|
|
||||||
submit = SubmitField("Envoyer", render_kw=SUBMIT_MARGE)
|
submit = SubmitField("Envoyer", render_kw=SUBMIT_MARGE)
|
||||||
|
|
||||||
@ -106,6 +113,8 @@ class EntrepriseCreationForm(FlaskForm):
|
|||||||
or self.mail.data.strip()
|
or self.mail.data.strip()
|
||||||
or self.poste.data.strip()
|
or self.poste.data.strip()
|
||||||
or self.service.data.strip()
|
or self.service.data.strip()
|
||||||
|
or self.origine.data.strip()
|
||||||
|
or self.notes.data.strip()
|
||||||
):
|
):
|
||||||
if not self.nom_correspondant.data.strip():
|
if not self.nom_correspondant.data.strip():
|
||||||
self.nom_correspondant.errors.append("Ce champ est requis")
|
self.nom_correspondant.errors.append("Ce champ est requis")
|
||||||
@ -184,11 +193,11 @@ class OffreCreationForm(FlaskForm):
|
|||||||
"Missions (*)", validators=[DataRequired(message=CHAMP_REQUIS)]
|
"Missions (*)", validators=[DataRequired(message=CHAMP_REQUIS)]
|
||||||
)
|
)
|
||||||
duree = _build_string_field("Durée (*)")
|
duree = _build_string_field("Durée (*)")
|
||||||
depts = MultiCheckboxField("Départements", validators=[Optional()], coerce=int)
|
depts = MultiCheckboxField("Départements (*)", validators=[Optional()], coerce=int)
|
||||||
expiration_date = DateField("Date expiration", validators=[Optional()])
|
expiration_date = DateField("Date expiration", validators=[Optional()])
|
||||||
correspondant = SelectField("Correspondant à contacté", validators=[Optional()])
|
correspondant = SelectField("Correspondant à contacté", validators=[Optional()])
|
||||||
fichier = FileField(
|
fichier = FileField(
|
||||||
"Fichier (*)",
|
"Fichier",
|
||||||
validators=[
|
validators=[
|
||||||
Optional(),
|
Optional(),
|
||||||
FileAllowed(["pdf", "docx"], "Fichier .pdf ou .docx uniquement"),
|
FileAllowed(["pdf", "docx"], "Fichier .pdf ou .docx uniquement"),
|
||||||
@ -237,7 +246,7 @@ class OffreModificationForm(FlaskForm):
|
|||||||
"Missions (*)", validators=[DataRequired(message=CHAMP_REQUIS)]
|
"Missions (*)", validators=[DataRequired(message=CHAMP_REQUIS)]
|
||||||
)
|
)
|
||||||
duree = _build_string_field("Durée (*)")
|
duree = _build_string_field("Durée (*)")
|
||||||
depts = MultiCheckboxField("Départements", validators=[Optional()], coerce=int)
|
depts = MultiCheckboxField("Départements (*)", validators=[Optional()], coerce=int)
|
||||||
expiration_date = DateField("Date expiration", validators=[Optional()])
|
expiration_date = DateField("Date expiration", validators=[Optional()])
|
||||||
correspondant = SelectField("Correspondant à contacté", validators=[Optional()])
|
correspondant = SelectField("Correspondant à contacté", validators=[Optional()])
|
||||||
submit = SubmitField("Modifier", render_kw=SUBMIT_MARGE)
|
submit = SubmitField("Modifier", render_kw=SUBMIT_MARGE)
|
||||||
@ -269,6 +278,12 @@ class OffreModificationForm(FlaskForm):
|
|||||||
|
|
||||||
|
|
||||||
class CorrespondantCreationForm(FlaskForm):
|
class CorrespondantCreationForm(FlaskForm):
|
||||||
|
civilite = SelectField(
|
||||||
|
"Civilité (*)",
|
||||||
|
choices=[("H", "Monsieur"), ("F", "Madame")],
|
||||||
|
validators=[DataRequired(message=CHAMP_REQUIS)],
|
||||||
|
render_kw={"class": "form-control"},
|
||||||
|
)
|
||||||
nom = _build_string_field("Nom (*)", render_kw={"class": "form-control"})
|
nom = _build_string_field("Nom (*)", render_kw={"class": "form-control"})
|
||||||
prenom = _build_string_field("Prénom (*)", render_kw={"class": "form-control"})
|
prenom = _build_string_field("Prénom (*)", render_kw={"class": "form-control"})
|
||||||
telephone = _build_string_field(
|
telephone = _build_string_field(
|
||||||
@ -285,14 +300,12 @@ class CorrespondantCreationForm(FlaskForm):
|
|||||||
service = _build_string_field(
|
service = _build_string_field(
|
||||||
"Service", required=False, render_kw={"class": "form-control"}
|
"Service", required=False, render_kw={"class": "form-control"}
|
||||||
)
|
)
|
||||||
# depts = MultiCheckboxField("Départements", validators=[Optional()], coerce=int)
|
origine = _build_string_field(
|
||||||
|
"Origine", required=False, render_kw={"class": "form-control"}
|
||||||
# def __init__(self, *args, **kwargs):
|
)
|
||||||
# super().__init__(*args, **kwargs)
|
notes = _build_string_field(
|
||||||
|
"Notes", required=False, render_kw={"class": "form-control"}
|
||||||
# self.depts.choices = [
|
)
|
||||||
# (dept.id, dept.acronym) for dept in Departement.query.all()
|
|
||||||
# ]
|
|
||||||
|
|
||||||
def validate(self):
|
def validate(self):
|
||||||
validate = True
|
validate = True
|
||||||
@ -351,6 +364,11 @@ class CorrespondantsCreationForm(FlaskForm):
|
|||||||
class CorrespondantModificationForm(FlaskForm):
|
class CorrespondantModificationForm(FlaskForm):
|
||||||
hidden_correspondant_id = HiddenField()
|
hidden_correspondant_id = HiddenField()
|
||||||
hidden_entreprise_id = HiddenField()
|
hidden_entreprise_id = HiddenField()
|
||||||
|
civilite = SelectField(
|
||||||
|
"Civilité (*)",
|
||||||
|
choices=[("H", "Monsieur"), ("F", "Madame")],
|
||||||
|
validators=[DataRequired(message=CHAMP_REQUIS)],
|
||||||
|
)
|
||||||
nom = _build_string_field("Nom (*)")
|
nom = _build_string_field("Nom (*)")
|
||||||
prenom = _build_string_field("Prénom (*)")
|
prenom = _build_string_field("Prénom (*)")
|
||||||
telephone = _build_string_field("Téléphone (*)", required=False)
|
telephone = _build_string_field("Téléphone (*)", required=False)
|
||||||
@ -360,16 +378,10 @@ class CorrespondantModificationForm(FlaskForm):
|
|||||||
)
|
)
|
||||||
poste = _build_string_field("Poste", required=False)
|
poste = _build_string_field("Poste", required=False)
|
||||||
service = _build_string_field("Service", required=False)
|
service = _build_string_field("Service", required=False)
|
||||||
# depts = MultiCheckboxField("Départements", validators=[Optional()], coerce=int)
|
origine = _build_string_field("Origine", required=False)
|
||||||
|
notes = _build_string_field("Notes", required=False)
|
||||||
submit = SubmitField("Modifier", render_kw=SUBMIT_MARGE)
|
submit = SubmitField("Modifier", render_kw=SUBMIT_MARGE)
|
||||||
|
|
||||||
# def __init__(self, *args, **kwargs):
|
|
||||||
# super().__init__(*args, **kwargs)
|
|
||||||
|
|
||||||
# self.depts.choices = [
|
|
||||||
# (dept.id, dept.acronym) for dept in Departement.query.all()
|
|
||||||
# ]
|
|
||||||
|
|
||||||
def validate(self):
|
def validate(self):
|
||||||
validate = True
|
validate = True
|
||||||
if not FlaskForm.validate(self):
|
if not FlaskForm.validate(self):
|
||||||
|
@ -11,6 +11,7 @@ class Entreprise(db.Model):
|
|||||||
ville = db.Column(db.Text)
|
ville = db.Column(db.Text)
|
||||||
pays = db.Column(db.Text, default="FRANCE")
|
pays = db.Column(db.Text, default="FRANCE")
|
||||||
visible = db.Column(db.Boolean, default=False)
|
visible = db.Column(db.Boolean, default=False)
|
||||||
|
active = db.Column(db.Boolean, default=True)
|
||||||
correspondants = db.relationship(
|
correspondants = db.relationship(
|
||||||
"EntrepriseCorrespondant",
|
"EntrepriseCorrespondant",
|
||||||
backref="entreprise",
|
backref="entreprise",
|
||||||
@ -51,12 +52,15 @@ class EntrepriseCorrespondant(db.Model):
|
|||||||
db.Integer, db.ForeignKey("are_entreprises.id", ondelete="cascade")
|
db.Integer, db.ForeignKey("are_entreprises.id", ondelete="cascade")
|
||||||
)
|
)
|
||||||
# site_id = db.Column(db.Integer, db.ForeignKey("are_sites.id", ondelete="cascade"))
|
# site_id = db.Column(db.Integer, db.ForeignKey("are_sites.id", ondelete="cascade"))
|
||||||
|
civilite = db.Column(db.String(1))
|
||||||
nom = db.Column(db.Text)
|
nom = db.Column(db.Text)
|
||||||
prenom = db.Column(db.Text)
|
prenom = db.Column(db.Text)
|
||||||
telephone = db.Column(db.Text)
|
telephone = db.Column(db.Text)
|
||||||
mail = db.Column(db.Text)
|
mail = db.Column(db.Text)
|
||||||
poste = db.Column(db.Text)
|
poste = db.Column(db.Text)
|
||||||
service = db.Column(db.Text)
|
service = db.Column(db.Text)
|
||||||
|
origine = db.Column(db.Text)
|
||||||
|
notes = db.Column(db.Text)
|
||||||
|
|
||||||
def to_dict(self):
|
def to_dict(self):
|
||||||
entreprise = Entreprise.query.filter_by(id=self.entreprise_id).first()
|
entreprise = Entreprise.query.filter_by(id=self.entreprise_id).first()
|
||||||
@ -161,15 +165,6 @@ class EntrepriseOffreDepartement(db.Model):
|
|||||||
dept_id = db.Column(db.Integer, db.ForeignKey("departement.id", ondelete="cascade"))
|
dept_id = db.Column(db.Integer, db.ForeignKey("departement.id", ondelete="cascade"))
|
||||||
|
|
||||||
|
|
||||||
# class EntrepriseCorrespondantDepartement(db.Model):
|
|
||||||
# __tablename__ = "are_correspondant_departement"
|
|
||||||
# id = db.Column(db.Integer, primary_key=True)
|
|
||||||
# correspondant_id = db.Column(
|
|
||||||
# db.Integer, db.ForeignKey("are_correspondants.id", ondelete="cascade")
|
|
||||||
# )
|
|
||||||
# dept_id = db.Column(db.Integer, db.ForeignKey("departement.id", ondelete="cascade"))
|
|
||||||
|
|
||||||
|
|
||||||
class EntreprisePreferences(db.Model):
|
class EntreprisePreferences(db.Model):
|
||||||
__tablename__ = "are_preferences"
|
__tablename__ = "are_preferences"
|
||||||
id = db.Column(db.Integer, primary_key=True)
|
id = db.Column(db.Integer, primary_key=True)
|
||||||
|
@ -59,7 +59,7 @@ def index():
|
|||||||
"""
|
"""
|
||||||
Permet d'afficher une page avec la liste des entreprises (visible) et une liste des dernières opérations
|
Permet d'afficher une page avec la liste des entreprises (visible) et une liste des dernières opérations
|
||||||
"""
|
"""
|
||||||
entreprises = Entreprise.query.filter_by(visible=True)
|
entreprises = Entreprise.query.filter_by(visible=True, active=True)
|
||||||
logs = EntrepriseLog.query.order_by(EntrepriseLog.date.desc()).limit(LOGS_LEN).all()
|
logs = EntrepriseLog.query.order_by(EntrepriseLog.date.desc()).limit(LOGS_LEN).all()
|
||||||
return render_template(
|
return render_template(
|
||||||
"entreprises/entreprises.html",
|
"entreprises/entreprises.html",
|
||||||
@ -298,12 +298,15 @@ def add_entreprise():
|
|||||||
db.session.refresh(entreprise)
|
db.session.refresh(entreprise)
|
||||||
correspondant = EntrepriseCorrespondant(
|
correspondant = EntrepriseCorrespondant(
|
||||||
entreprise_id=entreprise.id,
|
entreprise_id=entreprise.id,
|
||||||
|
civilite=form.civilite.data,
|
||||||
nom=form.nom_correspondant.data.strip(),
|
nom=form.nom_correspondant.data.strip(),
|
||||||
prenom=form.prenom_correspondant.data.strip(),
|
prenom=form.prenom_correspondant.data.strip(),
|
||||||
telephone=form.telephone.data.strip(),
|
telephone=form.telephone.data.strip(),
|
||||||
mail=form.mail.data.strip(),
|
mail=form.mail.data.strip(),
|
||||||
poste=form.poste.data.strip(),
|
poste=form.poste.data.strip(),
|
||||||
service=form.service.data.strip(),
|
service=form.service.data.strip(),
|
||||||
|
origine=form.origine.data.strip(),
|
||||||
|
notes=form.notes.data.strip(),
|
||||||
)
|
)
|
||||||
db.session.add(correspondant)
|
db.session.add(correspondant)
|
||||||
if current_user.has_permission(Permission.RelationsEntreprisesValidate, None):
|
if current_user.has_permission(Permission.RelationsEntreprisesValidate, None):
|
||||||
@ -440,6 +443,17 @@ def delete_entreprise(id):
|
|||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
@bp.route("/fiche_entreprise/desactiver/<int:id>", methods=["GET", "POST"])
|
||||||
|
def fiche_entreprise_desactiver(id):
|
||||||
|
entreprise = Entreprise.query.filter_by(id=id, visible=True).first_or_404(
|
||||||
|
description=f"entreprise {id} inconnue"
|
||||||
|
)
|
||||||
|
entreprise.active = False
|
||||||
|
db.session.commit()
|
||||||
|
flash("L'entreprise a été désactivé.")
|
||||||
|
return redirect(url_for("entreprises.index"))
|
||||||
|
|
||||||
|
|
||||||
@bp.route(
|
@bp.route(
|
||||||
"/fiche_entreprise_validation/<int:id>/validate_entreprise", methods=["GET", "POST"]
|
"/fiche_entreprise_validation/<int:id>/validate_entreprise", methods=["GET", "POST"]
|
||||||
)
|
)
|
||||||
@ -697,12 +711,15 @@ def add_correspondant(id):
|
|||||||
for correspondant_entry in form.correspondants.entries:
|
for correspondant_entry in form.correspondants.entries:
|
||||||
correspondant = EntrepriseCorrespondant(
|
correspondant = EntrepriseCorrespondant(
|
||||||
entreprise_id=entreprise.id,
|
entreprise_id=entreprise.id,
|
||||||
|
civilite=correspondant_entry.civilite.data,
|
||||||
nom=correspondant_entry.nom.data.strip(),
|
nom=correspondant_entry.nom.data.strip(),
|
||||||
prenom=correspondant_entry.prenom.data.strip(),
|
prenom=correspondant_entry.prenom.data.strip(),
|
||||||
telephone=correspondant_entry.telephone.data.strip(),
|
telephone=correspondant_entry.telephone.data.strip(),
|
||||||
mail=correspondant_entry.mail.data.strip(),
|
mail=correspondant_entry.mail.data.strip(),
|
||||||
poste=correspondant_entry.poste.data.strip(),
|
poste=correspondant_entry.poste.data.strip(),
|
||||||
service=correspondant_entry.service.data.strip(),
|
service=correspondant_entry.service.data.strip(),
|
||||||
|
origine=correspondant_entry.origine.data.strip(),
|
||||||
|
notes=correspondant_entry.notes.data.strip(),
|
||||||
)
|
)
|
||||||
log = EntrepriseLog(
|
log = EntrepriseLog(
|
||||||
authenticated_user=current_user.user_name,
|
authenticated_user=current_user.user_name,
|
||||||
@ -735,12 +752,15 @@ def edit_correspondant(id):
|
|||||||
hidden_correspondant_id=correspondant.id,
|
hidden_correspondant_id=correspondant.id,
|
||||||
)
|
)
|
||||||
if form.validate_on_submit():
|
if form.validate_on_submit():
|
||||||
|
correspondant.civilite = form.civilite.data
|
||||||
correspondant.nom = form.nom.data.strip()
|
correspondant.nom = form.nom.data.strip()
|
||||||
correspondant.prenom = form.prenom.data.strip()
|
correspondant.prenom = form.prenom.data.strip()
|
||||||
correspondant.telephone = form.telephone.data.strip()
|
correspondant.telephone = form.telephone.data.strip()
|
||||||
correspondant.mail = form.mail.data.strip()
|
correspondant.mail = form.mail.data.strip()
|
||||||
correspondant.poste = form.poste.data.strip()
|
correspondant.poste = form.poste.data.strip()
|
||||||
correspondant.service = form.service.data.strip()
|
correspondant.service = form.service.data.strip()
|
||||||
|
correspondant.origine = form.origine.data.strip()
|
||||||
|
correspondant.notes = form.notes.data.strip()
|
||||||
log = EntrepriseLog(
|
log = EntrepriseLog(
|
||||||
authenticated_user=current_user.user_name,
|
authenticated_user=current_user.user_name,
|
||||||
object=correspondant.entreprise_id,
|
object=correspondant.entreprise_id,
|
||||||
@ -753,12 +773,15 @@ def edit_correspondant(id):
|
|||||||
url_for("entreprises.fiche_entreprise", id=correspondant.entreprise.id)
|
url_for("entreprises.fiche_entreprise", id=correspondant.entreprise.id)
|
||||||
)
|
)
|
||||||
elif request.method == "GET":
|
elif request.method == "GET":
|
||||||
|
form.civilite.data = correspondant.civilite
|
||||||
form.nom.data = correspondant.nom
|
form.nom.data = correspondant.nom
|
||||||
form.prenom.data = correspondant.prenom
|
form.prenom.data = correspondant.prenom
|
||||||
form.telephone.data = correspondant.telephone
|
form.telephone.data = correspondant.telephone
|
||||||
form.mail.data = correspondant.mail
|
form.mail.data = correspondant.mail
|
||||||
form.poste.data = correspondant.poste
|
form.poste.data = correspondant.poste
|
||||||
form.service.data = correspondant.service
|
form.service.data = correspondant.service
|
||||||
|
form.origine.data = correspondant.origine
|
||||||
|
form.notes.data = correspondant.notes
|
||||||
return render_template(
|
return render_template(
|
||||||
"entreprises/form.html",
|
"entreprises/form.html",
|
||||||
title="Modification correspondant",
|
title="Modification correspondant",
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
{# -*- mode: jinja-html -*- #}
|
{# -*- mode: jinja-html -*- #}
|
||||||
<div class="correspondant">
|
<div class="correspondant">
|
||||||
<div>
|
<div>
|
||||||
|
Civilité : {{ correspondant.civilite|get_civilité }}<br>
|
||||||
Nom : {{ correspondant.nom }}<br>
|
Nom : {{ correspondant.nom }}<br>
|
||||||
Prénom : {{ correspondant.prenom }}<br>
|
Prénom : {{ correspondant.prenom }}<br>
|
||||||
{% if correspondant.telephone %}
|
{% if correspondant.telephone %}
|
||||||
@ -15,6 +16,12 @@
|
|||||||
{% if correspondant.service %}
|
{% if correspondant.service %}
|
||||||
Service : {{ correspondant.service }}<br>
|
Service : {{ correspondant.service }}<br>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
{% if correspondant.origine %}
|
||||||
|
Origine : {{ correspondant.origine }}<br>
|
||||||
|
{% endif %}
|
||||||
|
{% if correspondant.notes %}
|
||||||
|
Notes : {{ correspondant.notes }}<br>
|
||||||
|
{% endif %}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
{% if current_user.has_permission(current_user.Permission.RelationsEntreprisesChange, None) %}
|
{% if current_user.has_permission(current_user.Permission.RelationsEntreprisesChange, None) %}
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
{# -*- mode: jinja-html -*- #}
|
{# -*- mode: jinja-html -*- #}
|
||||||
<div class="offre">
|
<div class="offre">
|
||||||
<div>
|
<div style="word-break:break-all; text-align: justify;">
|
||||||
Ajouté le {{ offre[0].date_ajout.strftime('%d/%m/%y') }} à {{ offre[0].date_ajout.strftime('%Hh%M') }}<br>
|
Ajouté le {{ offre[0].date_ajout.strftime('%d/%m/%y') }} à {{ offre[0].date_ajout.strftime('%Hh%M') }}<br>
|
||||||
Intitulé : {{ offre[0].intitule }}<br>
|
Intitulé : {{ offre[0].intitule }}<br>
|
||||||
Description : {{ offre[0].description }}<br>
|
Description : {{ offre[0].description }}<br>
|
||||||
|
@ -67,6 +67,7 @@
|
|||||||
</a>
|
</a>
|
||||||
<ul class="dropdown-menu pull-left">
|
<ul class="dropdown-menu pull-left">
|
||||||
<li><a href="{{ url_for('entreprises.edit_entreprise', id=entreprise.id) }}">Modifier</a></li>
|
<li><a href="{{ url_for('entreprises.edit_entreprise', id=entreprise.id) }}">Modifier</a></li>
|
||||||
|
<li><a href="{{ url_for('entreprises.fiche_entreprise_desactiver', id=entreprise.id)}}" style="color:red">Désactiver</a></li>
|
||||||
<li><a href="{{ url_for('entreprises.delete_entreprise', id=entreprise.id) }}" style="color:red">Supprimer</a></li>
|
<li><a href="{{ url_for('entreprises.delete_entreprise', id=entreprise.id) }}" style="color:red">Supprimer</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
|
@ -9,7 +9,7 @@
|
|||||||
{% if offres_recues %}
|
{% if offres_recues %}
|
||||||
{% for offre in offres_recues %}
|
{% for offre in offres_recues %}
|
||||||
<div class="offre offre-recue">
|
<div class="offre offre-recue">
|
||||||
<div>
|
<div style="word-break:break-all; text-align: justify;">
|
||||||
Envoyé le {{ offre[0].date_envoi.strftime('%d/%m/%Y') }} à {{ offre[0].date_envoi.strftime('%Hh%M') }} par {{ offre[0].sender_id|get_nomcomplet_by_id }}<br>
|
Envoyé le {{ offre[0].date_envoi.strftime('%d/%m/%Y') }} à {{ offre[0].date_envoi.strftime('%Hh%M') }} par {{ offre[0].sender_id|get_nomcomplet_by_id }}<br>
|
||||||
Intitulé : {{ offre[1].intitule }}<br>
|
Intitulé : {{ offre[1].intitule }}<br>
|
||||||
Description : {{ offre[1].description }}<br>
|
Description : {{ offre[1].description }}<br>
|
||||||
@ -20,12 +20,20 @@
|
|||||||
{% if offre[1].correspondant_id %}
|
{% if offre[1].correspondant_id %}
|
||||||
Contacté {{ offre[3].nom }} {{ offre[3].prenom }}
|
Contacté {{ offre[3].nom }} {{ offre[3].prenom }}
|
||||||
{% if offre[3].mail and offre[3].telephone %}
|
{% if offre[3].mail and offre[3].telephone %}
|
||||||
({{ offre[3].mail }} - {{ offre[3].telephone }})<br>
|
({{ offre[3].mail }} - {{ offre[3].telephone }})
|
||||||
{% else %}
|
{% else %}
|
||||||
({{ offre[3].mail }}{{offre[3].telephone}})<br>
|
({{ offre[3].mail }}{{ offre[3].telephone }})
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
|
{% if offre[3].poste %}
|
||||||
|
, poste : {{ offre[3].poste }}
|
||||||
|
{% endif %}
|
||||||
|
{% if offre[3].service %}
|
||||||
|
, service : {{ offre[3].service }}
|
||||||
|
{% endif %}
|
||||||
|
<br>
|
||||||
|
|
||||||
<a href="{{ url_for('entreprises.fiche_entreprise', id=offre[1].entreprise_id) }}">lien vers l'entreprise</a><br>
|
<a href="{{ url_for('entreprises.fiche_entreprise', id=offre[1].entreprise_id) }}">lien vers l'entreprise</a><br>
|
||||||
|
|
||||||
{% for fichier in offre[2] %}
|
{% for fichier in offre[2] %}
|
||||||
|
Loading…
Reference in New Issue
Block a user