scheda["codice_rettifica"]);
// Verifica che la scheda abbia una rettifica
$rettifica_codice = NuovaPiattaformaAppalti::cardHasRectifyCard($npa->scheda);
// Verifica che la scheda sia una modifica
$is_modifica = !empty($npa->scheda["codice_modifica"]);
// Verifica che la scheda abbia una modifica
$modifica_codice = NuovaPiattaformaAppalti::cardHasModifyCard($npa->scheda);
$stati = NuovaPiattaformaAppalti::listAvailableStatusList();
$stati_by_group = array_group_by($stati, "group");
if(!NuovaPiattaformaAppalti::hasToBePublished($npa->scheda)) { unset($stati_by_group[4]); }
$info_stato = $stati[$npa->scheda["stato"]] ?? null;
if ($info_stato["group"] < 0) {
?>
-
">">
= $info_stato["title"] ?>
$stati_disponibili) {
if ($position < 0) continue;
$toRender = null;
$class = "";
$first_stato = reset($stati_disponibili);
$last_stato = end($stati_disponibili);
// Se la scheda è in questo gruppo, renderizziamo questo
if ($info_stato["group"] == $position) {
$toRender = $info_stato;
$class = "selected";
if ($npa->scheda["errore"] == "SI") {
$toRender["class"] = "danger";
$toRender["icon"] = "fas fa-times-circle";
if (isset($alertManager)) {
$operazione = $npa->getLastOperation(null, null, "KO");
$dictionary = $npa->getErrorsDictionary();
if (!empty($operazione) && $operazione["esito"] == "KO") {
$errori = unserialize($operazione["risultato"]) ?? null;
if (isset($errori->errori)) {
$errori = $errori->errori;
}
if (!is_array($errori)) {
$errori = [$errori];
}
foreach ($errori as $errore) {
//dump($errore, $operazione);
$codice = $errore->codice ?? "SCONOSCIUTO";
$errorInfo = $dictionary[$errore->codice ?? null] ?? [];
$errorMessage = $errorInfo["descrizione"]["it"] ?? "Errore sconosciuto " . json_encode($errore, JSON_PRETTY_PRINT);
if($errorInfo["external"] ?? false) {
$errorMessage .= <<
Questo errore è relativo ai servizi ANAC o
ad esso collegati e non alla piattaforma in uso.
Si prega dunque di riprovare più tardi.
ANAC;
}
$detail = $errore->dettaglio ?? null;
if (!empty($detail)) {
$errorMessage .= "
{$detail}";
}
$timestamp = mysql2datetime($operazione["timestamp"]);
$tipoOperazione = ucfirst(strtolower(str_replace("_", " ", $operazione["operazione"])));
$message = "
{$codice} - {$errorMessage}";
$message .= "
Errore registrato il {$timestamp} in fase di {$tipoOperazione}
";
$alertManager->addDangerAlert($message);
}
}
}
}
// Stato già superato
} elseif ($info_stato["group"] > $position) {
$toRender = $last_stato;
$class = "older-event";
$toRender["class"] = "success";
$toRender["icon"] = "fas fa-check-circle";
// Stato ancora da raggiungere
} else {
$toRender = $first_stato;
$toRender["title"] = str_replace(" richiesta", "", $toRender["title"]);
$toRender["class"] = "secondary";
$toRender["icon"] = "fas fa-ellipsis-h";
}
?>
">
">">
= $toRender["title"] ?>
}
}
?>