schema: validate against new TFE field spec

- add exemplaire_baiu, exemplaire_erg, cc4r, remarks;
- add is_ulb to jury;
- split jury_lecteurs into interne/externe in view;
- refactor admin edit form with backoffice fields;
- update public fiche to show promoteur ULB and split lecteurs
This commit is contained in:
Pontoporeia
2026-05-07 17:30:34 +02:00
parent 7793b6f86d
commit dce0e0b301
18 changed files with 280 additions and 38 deletions

View File

@@ -60,7 +60,7 @@ $synopsisExtra = $synopsisExtra ?? '';
include APP_ROOT . '/templates/partials/form/text-field.php';
?>
<?php
$name = 'mail'; $label = 'Contact(s) (optionnel) [mail/site/insta/etc.] :'; $value = $oldFn('mail');
$name = 'mail'; $label = 'Contact visible (optionnel) [mail/site/insta/etc.] :'; $value = $oldFn('mail');
$attrs = ['autocomplete' => 'email'];
include APP_ROOT . '/templates/partials/form/text-field.php';
?>
@@ -69,9 +69,9 @@ $synopsisExtra = $synopsisExtra ?? '';
<label class="admin-checkbox-label">
<input type="checkbox" name="contact_public" value="1"
<?= !empty($formData['contact_public']) ? 'checked' : '' ?>>
Je veux que mon contact soit accessible à toustes depuis la plateforme xamxam
Rendre mon contact visible publiquement sur la fiche du TFE
</label>
<small>Si cette case est cochée, votre contact apparaîtra sur la page publique de votre TFE.</small>
<small>Si coché, votre contact apparaîtra sur la page publique. L'adresse est toujours conservée en interne.</small>
</div>
<div>

View File

@@ -5,6 +5,7 @@
* Variables consumed (all optional — defaults to empty/add-mode):
* $juryPresident string|null President name
* $juryPromoteur string|null Promoteur name
* $juryPromoteurUlb int 1 if promoteur is ULB, 0 otherwise
* $juryPromoteurExt int 1 if promoteur is external, 0 otherwise
* $juryLecteurs array Each element: ['name' => string, 'is_external' => int]
*
@@ -16,6 +17,7 @@
$juryPresident = $juryPresident ?? null;
$juryPromoteur = $juryPromoteur ?? null;
$juryPromoteurExt = $juryPromoteurExt ?? 0;
$juryPromoteurUlb = $juryPromoteurUlb ?? 0;
$juryLecteurs = $juryLecteurs ?? [];
// In add-mode, repopulate from flash form data when helpers are available.
@@ -51,6 +53,11 @@ $juryIdx = max(count($juryLecteurs), 1);
<?= $juryPromoteurExt ? 'checked' : '' ?>
aria-label="Promoteur·ice — externe"> Externe
</label>
<label class="admin-checkbox-label admin-jury-ext">
<input type="checkbox" name="jury_promoteur_ulb" value="1"
<?= $juryPromoteurUlb ? 'checked' : '' ?>
aria-label="Promoteur·ice — ULB"> ULB
</label>
</div>
</div>