Files

77 lines
4.0 KiB
PHP

<?php
$total = array_sum(array_map('count', $colonnes));
$limiteTitre = date('Y-m-d', strtotime('+2 months'));
?>
<div class="barre-titre">
<h1><?= e(t('Kanban')) ?> <small><?= e(tn($total, '%d profil', '%d profils')) ?></small></h1>
<form class="filtres" id="filtre-kanban" role="search">
<label><?= e(t('Filtrer les cartes')) ?>
<input type="search" id="filtre-texte" placeholder="<?= e(t('Nom, titre ou technologie')) ?>" autocomplete="off">
</label>
<label><?= e(t('Séniorité')) ?>
<select id="filtre-seniorite">
<option value=""><?= e(t('Toutes')) ?></option>
<?php foreach (SENIORITES as $code => $libelle): ?><option value="<?= e($code) ?>"><?= e(t($libelle)) ?></option><?php endforeach; ?>
</select>
</label>
</form>
</div>
<div class="kanban" data-modifiable="<?= peut_ecrire() ? '1' : '0' ?>" data-url="<?= e(url('statut')) ?>">
<?php foreach (STATUTS as $code => $libelle): ?>
<section class="colonne colonne-<?= e($code) ?>">
<h2><?= echelle($code) ?><span class="nom-colonne"><?= e(t($libelle)) ?></span> <span class="compteur"><?= count($colonnes[$code]) ?></span></h2>
<ul class="cartes" data-statut="<?= e($code) ?>" data-vide="<?= e(t('Aucun profil')) ?>" aria-label="<?= e(t($libelle)) ?>">
<?php foreach ($colonnes[$code] as $c): ?>
<li class="fiche" data-id="<?= (int) $c['id'] ?>" data-seniorite="<?= e($c['seniorite']) ?>">
<div class="fiche-tete">
<?= avatar($c) ?>
<div>
<a href="<?= e(url('profil', ['id' => $c['id']])) ?>"><?= e($c['prenom'] . ' ' . $c['nom']) ?></a>
<?php if ($c['titre']): ?><p class="poste"><?= e($c['titre']) ?></p><?php endif; ?>
</div>
</div>
<p class="meta">
<span class="badge badge-<?= e($c['seniorite']) ?>"><?= e(t(SENIORITES[$c['seniorite']])) ?></span>
<?= e(annees($c['annees_experience'])) ?>
</p>
<?php if ($c['technologies']): ?>
<p class="technos-ligne"><?= e(implode(', ', $c['technologies'])) ?></p>
<?php endif; ?>
<?php
// Titre de séjour qui expire dans les 2 mois, ou déjà expiré (profils sans nationalité UE, EEE ou suisse)
$titre = $c['permis_expire_le'] !== null && ($c['hors_ue'] === null || (int) $c['hors_ue'] === 1) && $c['permis_expire_le'] <= $limiteTitre
? ($c['permis_expire_le'] < date('Y-m-d') ? t('Titre de séjour expiré') : t('Titre de séjour : expire le %s', date_fr($c['permis_expire_le'])))
: null;
?>
<?php if ($c['prochain_entretien'] || $c['relances_dues'] || $titre): ?>
<p class="reperes">
<?php if ($c['prochain_entretien']): ?><span><?= e(t('Entretien le %s', date_fr($c['prochain_entretien'], !str_ends_with($c['prochain_entretien'], '00:00:00')))) ?></span><?php endif; ?>
<?php if ($c['relances_dues']): ?><span class="retard"><?= e(tn((int) $c['relances_dues'], '%d relance à faire', '%d relances à faire')) ?></span><?php endif; ?>
<?php if ($titre): ?><span class="retard"><?= e($titre) ?></span><?php endif; ?>
</p>
<?php endif; ?>
<?php if ($code === 'non_retenu' && $c['motif_refus']): ?>
<p class="motif"><?= e($c['motif_refus']) ?></p>
<?php endif; ?>
</li>
<?php endforeach; ?>
</ul>
</section>
<?php endforeach; ?>
</div>
<dialog id="dialogue-motif">
<form method="dialog" class="pile">
<h2><?= e(t('Motif du refus')) ?></h2>
<label><?= e(t('Pourquoi ce profil n\'est pas retenu ?')) ?>
<textarea name="motif" rows="3" maxlength="500" required></textarea>
</label>
<div class="actions">
<button type="button" class="secondaire" value="annuler"><?= e(t('Annuler')) ?></button>
<button type="submit" value="valider"><?= e(t('Enregistrer')) ?></button>
</div>
</form>
</dialog>
<p id="annonce" class="flash flash-erreur" role="alert" hidden></p>