110 lines
6.8 KiB
PHP
110 lines
6.8 KiB
PHP
<?php
|
|
$id = $profil['identite'];
|
|
$adr = array_filter([$id['adresse']['rue'] ?? null, trim(($id['adresse']['code_postal'] ?? '') . ' ' . ($id['adresse']['ville'] ?? '')), $id['adresse']['pays'] ?? null]);
|
|
$vide = '<em>' . e(t('non renseigné')) . '</em>';
|
|
?>
|
|
<section class="carte moyen">
|
|
<h1><?= e(t('Relecture avant enregistrement')) ?></h1>
|
|
<?php if (!empty($imp['auto'])): ?>
|
|
<p class="aide"><?= e(t('Profil extrait par l\'analyse automatique. Vérifiez l\'identité et les dates avant d\'enregistrer.')) ?></p>
|
|
<?php endif; ?>
|
|
|
|
<?php if ($doublons): $motifs = ['email' => t('même adresse email'), 'telephone' => t('même téléphone'), 'nom' => t('même prénom et même nom')]; ?>
|
|
<div class="flash <?= $bloquant ? 'flash-erreur' : 'flash-info' ?>" role="alert">
|
|
<strong><?= e($bloquant ? t('Ce candidat est déjà dans Vivier.') : t('Un profil ressemblant existe déjà.')) ?></strong>
|
|
<ul>
|
|
<?php foreach ($doublons as $d): ?>
|
|
<li>
|
|
<?php if ($d['corbeille']): ?>
|
|
<?= e(sprintf('ITC-%04d', $d['id'])) ?> : <?= e(implode(', ', array_map(static fn ($m) => $motifs[$m], $d['motifs']))) ?> · <?= e(t('profil à la corbeille')) ?>
|
|
<?php else: ?>
|
|
<a href="<?= e(url('profil', ['id' => $d['id']])) ?>" target="_blank" rel="noopener"><?= e($d['prenom'] . ' ' . $d['nom']) ?></a><?= $d['titre'] ? ', ' . e($d['titre']) : '' ?>
|
|
: <?= e(implode(', ', array_map(static fn ($m) => $motifs[$m], $d['motifs']))) ?><?= $d['archive'] ? ' · ' . e(t('profil archivé')) : '' ?>
|
|
<?php endif; ?>
|
|
</li>
|
|
<?php endforeach; ?>
|
|
</ul>
|
|
<?php if ($bloquant && array_filter($doublons, static fn ($d) => $d['corbeille'] && in_array('email', $d['motifs'], true))): ?>
|
|
<p><?= e(t('Ce profil est à la corbeille : le gestionnaire des comptes peut le restaurer, ou l\'effacer pour libérer son adresse email.')) ?></p>
|
|
<?php elseif ($bloquant): ?>
|
|
<p><?= e(t('Pour mettre sa fiche à jour, ouvrez le profil existant, carte Gestion, « Mettre à jour depuis une nouvelle analyse ».')) ?></p>
|
|
<?php else: ?>
|
|
<label class="case"><input type="checkbox" name="confirmer_doublon" value="1" form="enregistrement" required> <?= e(t('C\'est une autre personne : enregistrer un nouveau profil')) ?></label>
|
|
<?php endif; ?>
|
|
</div>
|
|
<?php endif; ?>
|
|
|
|
<form method="post" action="<?= e(url('import_relecture')) ?>" id="enregistrement">
|
|
<?= champ_csrf() ?>
|
|
</form>
|
|
|
|
<div class="relecture">
|
|
<?php if (!empty($imp['photo'])): ?>
|
|
<div class="relecture-photo">
|
|
<img class="avatar avatar-grand" src="<?= e(url('import_photo', ['v' => $imp['dossier']])) ?>" alt="<?= e(t('Photo trouvée dans le CV')) ?>" width="96" height="96">
|
|
<label class="case"><input type="checkbox" name="garder_photo" value="1" checked form="enregistrement"> <?= e(t('Garder cette photo')) ?></label>
|
|
</div>
|
|
<?php endif; ?>
|
|
<dl class="grille">
|
|
<dt><?= e(t('Candidat')) ?></dt><dd><?= e($id['prenom'] . ' ' . mb_strtoupper($id['nom'])) ?></dd>
|
|
<dt><?= e(t('Titre')) ?></dt><dd><?= e($profil['titre'] ?? '') ?: $vide ?></dd>
|
|
<dt><?= e(t('Email')) ?></dt><dd><?= e($id['email'] ?? '') ?: $vide ?></dd>
|
|
<dt><?= e(t('Téléphone')) ?></dt><dd><?= e($id['telephone'] ?? '') ?: $vide ?></dd>
|
|
<dt><?= e(t('Adresse')) ?></dt><dd><?= e(implode(', ', $adr)) ?: '<em>' . e(t('non renseignée')) . '</em>' ?></dd>
|
|
<?php $natsImport = codes_nationalites($id['nationalites'] ?? []); ?>
|
|
<dt><?= e(t('Nationalité')) ?></dt><dd><?= $natsImport ? e(implode(', ', array_map('nom_pays', $natsImport))) : $vide ?></dd>
|
|
<?php $dispoImport = isset($profil['disponibilite_code']) ? ['code' => $profil['disponibilite_code'], 'date' => $profil['disponibilite_date'] ?? null] : classer_disponibilite($profil['disponibilite'] ?? null); ?>
|
|
<dt><?= e(t('Disponibilité')) ?></dt><dd><?= ($libelle = libelle_disponibilite(['disponibilite_code' => $dispoImport['code'], 'disponible_le' => $dispoImport['code'] === 'date' ? $dispoImport['date'] : date_disponibilite($dispoImport['code'], null)])) !== '' ? e($libelle) : $vide ?><?php if (!empty($profil['disponibilite'])): ?> <small>(<?= e($profil['disponibilite']) ?>)</small><?php endif; ?></dd>
|
|
<dt><?= e(t('Séniorité')) ?></dt>
|
|
<dd>
|
|
<span class="badge badge-<?= e($seniorite['niveau']) ?>"><?= e(t(SENIORITES[$seniorite['niveau']])) ?></span>
|
|
<?= e(t('%s, recalculés à partir des dates', annees($seniorite['annees']))) ?>
|
|
</dd>
|
|
<dt><?= e(t('Contenu')) ?></dt>
|
|
<dd><?= e(implode(', ', [
|
|
tn(count($profil['experiences']), '%d expérience', '%d expériences'),
|
|
tn(count($profil['technologies']), '%d technologie', '%d technologies'),
|
|
tn(count($profil['langues']), '%d langue', '%d langues'),
|
|
tn(count($profil['formations'] ?? []), '%d formation', '%d formations'),
|
|
tn(count($profil['certifications'] ?? []), '%d certification', '%d certifications'),
|
|
])) ?></dd>
|
|
<dt><?= e(t('Fichiers')) ?></dt>
|
|
<dd><?= e($imp['cv']['nom']) ?><?= $imp['rapport'] ? ', ' . e($imp['rapport']['nom']) : '' ?></dd>
|
|
</dl>
|
|
</div>
|
|
|
|
<?php if ($seniorite['ecart']): ?>
|
|
<p class="flash flash-info">
|
|
<?= e(t('Écart avec l\'analyse : le fichier annonce %s (%s). Vivier retient la valeur recalculée. Vérifiez les dates des expériences.',
|
|
annees($seniorite['annees_json']), t(SENIORITES[$seniorite['niveau_json']]))) ?>
|
|
</p>
|
|
<?php endif; ?>
|
|
|
|
<?php if (!empty($profil['points_attention'])): ?>
|
|
<h2><?= e(t('Points d\'attention')) ?></h2>
|
|
<ul><?php foreach ($profil['points_attention'] as $p): ?><li><?= e($p) ?></li><?php endforeach; ?></ul>
|
|
<?php endif; ?>
|
|
|
|
<h2><?= e(t('Expériences')) ?></h2>
|
|
<div class="defile"><table>
|
|
<thead><tr><th><?= e(t('Période')) ?></th><th><?= e(t('Poste')) ?></th><th><?= e(t('Employeur ou client')) ?></th><th><?= e(t('Type')) ?></th></tr></thead>
|
|
<tbody>
|
|
<?php foreach ($profil['experiences'] as $x): ?>
|
|
<tr>
|
|
<td><?= e($x['date_debut']) ?> → <?= e($x['date_fin'] ?? t('en cours')) ?></td>
|
|
<td><?= e($x['poste']) ?></td>
|
|
<td><?= e(implode(' / ', array_filter([$x['employeur'] ?? null, $x['client'] ?? null]))) ?></td>
|
|
<td><?= e(t(TYPES_EXPERIENCE[$x['type']] ?? $x['type'])) ?></td>
|
|
</tr>
|
|
<?php endforeach; ?>
|
|
</tbody>
|
|
</table></div>
|
|
|
|
<div class="actions">
|
|
<button type="submit" name="action" value="annuler" class="secondaire" form="enregistrement" formnovalidate><?= e(!empty($imp['lot']) ? t('Retour au lot') : t('Annuler')) ?></button>
|
|
<?php if (!$bloquant): ?>
|
|
<button type="submit" name="action" value="enregistrer" form="enregistrement"><?= e(t('Enregistrer le profil')) ?></button>
|
|
<?php endif; ?>
|
|
</div>
|
|
</section>
|