mirror of
https://github.com/JMP-MS/ASPIC.git
synced 2026-10-27 16:07:10 +00:00
V1.008 rectifiée Evolution des paramétrages de l'écran de fond
This commit is contained in:
@@ -105,6 +105,25 @@ function comparerDateNullEnPremier(?string $a, ?string $b): int
|
|||||||
return strcmp($a, $b);
|
return strcmp($a, $b);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Capacité maximale de post-its "en attente" affichables sur le tableau de
|
||||||
|
* liège de l'écran de fond, par attributaire (voir journal de développement,
|
||||||
|
* section 28 — "bureau à l'ancienne"). Ajoutée le 2 septembre 2026, en amont
|
||||||
|
* du code réel du tableau : Jean-Marc a posé le principe avant d'avoir les
|
||||||
|
* pixels pour le calculer précisément ("mets-le où tu veux, il faudra le
|
||||||
|
* faire évoluer") — valeur ronde provisoire, à corriger dès que la taille
|
||||||
|
* réelle de la zone et celle d'un post-it seront posées à l'écran.
|
||||||
|
*
|
||||||
|
* Choix de principe explicite de Jean-Marc : PAS d'ascenseur/défilement sur
|
||||||
|
* le tableau, même si ça permettrait d'accepter plus de post-its — un vrai
|
||||||
|
* bureau a une capacité finie, et c'est justement cette contrainte physique
|
||||||
|
* qui pousse à traiter ses tâches plutôt qu'à les empiler indéfiniment. Une
|
||||||
|
* fois cette capacité atteinte, la création est refusée avec un message
|
||||||
|
* clair (voir POST ci-dessous) plutôt que de trouver un moyen d'entasser
|
||||||
|
* plus de post-its ou de faire défiler le tableau.
|
||||||
|
*/
|
||||||
|
const CAPACITE_TABLEAU_PAR_UTILISATEUR = 20;
|
||||||
|
|
||||||
try {
|
try {
|
||||||
switch ($method) {
|
switch ($method) {
|
||||||
case 'GET':
|
case 'GET':
|
||||||
@@ -167,6 +186,25 @@ try {
|
|||||||
$todoUser = $_SESSION['USR_Code'];
|
$todoUser = $_SESSION['USR_Code'];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Capacité du tableau (voir CAPACITE_TABLEAU_PAR_UTILISATEUR
|
||||||
|
// ci-dessus) : ne s'applique qu'aux tâches qui vont réellement
|
||||||
|
// occuper un post-it "en attente" sur le bureau de $todoUser.
|
||||||
|
// Une tâche créée déjà réalisée (TDL_RealDate fourni dès la
|
||||||
|
// création, voir doc d'en-tête — permet de journaliser une tâche
|
||||||
|
// déjà faite) n'occupe jamais de place sur le tableau, donc
|
||||||
|
// n'est jamais bloquée par cette limite.
|
||||||
|
if (empty($data['TDL_RealDate'])) {
|
||||||
|
$stmtCompte = $pdo->prepare(
|
||||||
|
'SELECT COUNT(*) FROM ASP_ToDoList WHERE TDL_Actif = 1 AND TDL_ToDoUser = ? AND TDL_RealDate IS NULL'
|
||||||
|
);
|
||||||
|
$stmtCompte->execute([$todoUser]);
|
||||||
|
if ((int)$stmtCompte->fetchColumn() >= CAPACITE_TABLEAU_PAR_UTILISATEUR) {
|
||||||
|
http_response_code(409);
|
||||||
|
echo json_encode(['error' => 'Ton tableau est plein, tu ne peux plus ajouter de post-it !']);
|
||||||
|
exit;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// TDL_ToDoDate : incluse dans l'INSERT seulement si fournie par le
|
// TDL_ToDoDate : incluse dans l'INSERT seulement si fournie par le
|
||||||
// client (permet de dater rétroactivement une tâche oubliée) —
|
// client (permet de dater rétroactivement une tâche oubliée) —
|
||||||
// sinon on laisse MySQL appliquer DEFAULT CURRENT_TIMESTAMP
|
// sinon on laisse MySQL appliquer DEFAULT CURRENT_TIMESTAMP
|
||||||
|
|||||||
Reference in New Issue
Block a user