{% extends '@App/app.html.twig' %} {% block title %}Entretien {{ reference }}{% endblock %} {% block page_header %}{% endblock %} {% block content %} {% set employee = interview.salarie %} {% set status_labels = { draft: 'Brouillon', scheduled: 'Planifié', employee_prepared: 'Préparation salarié', manager_preparation: 'Préparation manager', ready: 'Prêt à réaliser', in_progress: 'Entretien en cours', pending_manager_validation: 'Validation manager', completed: 'Terminé', signed: 'Signé', cancelled: 'Annulé', archived: 'Archivé' } %} {% set status_tones = { draft: 'muted', scheduled: 'info', employee_prepared: 'warning', manager_preparation: 'warning', ready: 'info', in_progress: 'warning', pending_manager_validation: 'warning', completed: 'success', signed: 'success', cancelled: 'danger', archived: 'muted' } %} {% set timeline_ranks = { draft: 0, scheduled: 1, employee_prepared: 2, manager_preparation: 3, ready: 4, in_progress: 4, pending_manager_validation: 5, completed: 5, signed: 6, archived: 6, cancelled: 0 } %} {% set timeline_rank = timeline_ranks[interview.status]|default(0) %} {% set timeline_steps = [ {label: 'Créé', rank: 0, date: interview.createdAt}, {label: 'Planifié', rank: 1, date: interview.scheduledAt}, {label: 'Préparation salarié', rank: 2, date: interview.employeePreparedAt}, {label: 'Préparation manager', rank: 3, date: interview.managerPreparedAt}, {label: 'Entretien réalisé', rank: 4, date: interview.completedAt}, {label: 'Compte rendu validé', rank: 5, date: interview.managerValidatedAt}, {label: 'Signé', rank: 6, date: interview.signedAt} ] %} {% set photo_path = employee.photo ? employee.photo|trim : null %} {% set avatar_src = photo_path ? (photo_path starts with 'http://' or photo_path starts with 'https://' ? photo_path : asset(photo_path starts with '/' ? photo_path|slice(1) : photo_path)) : null %} {% set initials = ((employee.prenom|default('')|first) ~ (employee.nom|default('')|first))|upper ?: 'S' %}

Entretien {{ reference }}

{{ status_labels[interview.status]|default(interview.status|replace({'_': ' '})|capitalize) }}
Retour liste Modifier {{ interview.scheduledAt ? 'Replanifier' : 'Planifier' }} {% if interview.type.requiresPreparationEmployee %}Préparation salarié{% endif %} {% if interview.type.requiresPreparationManager %}Préparation manager{% endif %} Conduire l'entretien
Type d'entretien{{ interview.type.nom }}{{ interview.campaign ? interview.campaign.nom : (interview.template ? interview.template.nom : 'Hors campagne') }}
{% if avatar_src %}{{ employee }}{% else %}{{ initials }}{% endif %}
Participants{{ employee }} (Salarié)Manager : {{ interview.manager ?: 'Non défini' }}
Planification{{ interview.scheduledAt ? interview.scheduledAt|date('d/m/Y à H:i') : 'Date non définie' }}{{ interview.location ?: (interview.remoteLink ? 'Visioconférence' : 'Lieu non défini') }}
Progression
{{ progress }}%
{{ timeline_rank + 1 }}/7

Informations salarié

Fiche profil
Poste
{{ employee.employeeJob ? employee.employeeJob.nom : (employee.poste ?: 'Non renseigné') }}
Service
{{ employee.employeeService ? employee.employeeService.nom : (employee.service ?: 'Non renseigné') }}
Date d'entrée
{{ employee.dateEntree ? employee.dateEntree|date('d/m/Y') : 'Non renseignée' }}{% if seniority %} ({{ seniority }} d’ancienneté){% endif %}
Dernier entretien
{% if previous_interview %}{{ previous_interview.type.nom }} – {{ previous_interview.scheduledAt ? previous_interview.scheduledAt|date('d/m/Y') : previous_interview.createdAt|date('d/m/Y') }}{% else %}Aucun entretien antérieur{% endif %}
Manager
{{ interview.manager ?: 'Non défini' }}

Points d'attention

{% if interview.type.requiresPreparationEmployee and not interview.employeePreparedAt %}
Préparation salarié non terminée

Le questionnaire salarié n’a pas encore été validé.

{% endif %} {% if interview.type.requiresPreparationManager and not interview.managerPreparedAt %}
Préparation manager attendue

La préparation du manager reste à compléter.

{% endif %} {% if not interview.reportHtml and not interview.reportPdfPath %}
Compte rendu non généré

Le document final sera disponible après la clôture de l’entretien.

{% endif %} {% if (not interview.type.requiresPreparationEmployee or interview.employeePreparedAt) and (not interview.type.requiresPreparationManager or interview.managerPreparedAt) and (interview.reportHtml or interview.reportPdfPath) %}
Aucun point bloquant

Les étapes attendues sont à jour.

{% endif %}
{% endblock %}