diff --git a/.env b/.env index b10709d..59b5947 100644 --- a/.env +++ b/.env @@ -42,4 +42,6 @@ MIX_PUSHER_APP_CLUSTER="${PUSHER_APP_CLUSTER}" # Credenziali API VisualLims API_BASE_URL=https://93.43.5.102/limsapi API_USERNAME=WebApiUser -API_PASSWORD=webapiuser01 \ No newline at end of file +API_PASSWORD=webapiuser01 + +BASE_URL=http://localhost:8000/userarea/ \ No newline at end of file diff --git a/public/userarea/import_edit2.php b/public/userarea/import_edit2.php index e0bdfcc..753a402 100644 --- a/public/userarea/import_edit2.php +++ b/public/userarea/import_edit2.php @@ -58,71 +58,6 @@ foreach ($allMappings as $mapping) { } } -//// Inserisci le righe selezionate in datadb (solo campi generici con templateid) -//$insertedIds = []; -//foreach ($selected_rows as $rowIndex) { -// $row = $rows[$rowIndex]; -// $values = [ -// $template_id, // templateid -// $importReferenceCode, // importreferencecode -// $newFilename, // filename_import -// 'i', // status -// $user_id, // user_id -// null, // limscode -// date('Y-m-d') // importdate -// ]; -// $sql = "INSERT INTO datadb (templateid, importreferencecode, filename_import, status, user_id, limscode, importdate) VALUES (?, ?, ?, ?, ?, ?, ?)"; -// $stmt = $pdo->prepare($sql); -// $stmt->execute($values); -// -// $iddatadb = $pdo->lastInsertId(); -// $insertedIds[] = $iddatadb; -// -// // Inserisci tutti i campi (automatici e manuali) in import_data_details -// foreach ($allMappings as $mapping) { -// $fieldValue = null; -// if (!$mapping['is_manual']) { // Campi automatici dall'XLS -// $excelColumn = trim($mapping['excel_column']); -// $excelColumnIndex = array_search($excelColumn, array_map('trim', $columns)); -// if ($excelColumnIndex !== false && isset($row[$excelColumnIndex]) && $row[$excelColumnIndex] !== '') { -// $fieldValue = $row[$excelColumnIndex]; -// error_log("Found Excel column '$excelColumn' at index $excelColumnIndex, value: " . var_export($fieldValue, true)); -// } else { -// $fieldValue = $mapping['manual_default'] ?? ''; -// error_log("Excel column '$excelColumn' not found or empty, using default: " . var_export($fieldValue, true)); -// } -// switch ($mapping['data_type']) { -// case 'INT': -// $fieldValue = is_numeric($fieldValue) ? (int)$fieldValue : ($mapping['manual_default'] ?? 0); -// break; -// case 'DATE': -// $fieldValue = !empty($fieldValue) ? date('Y-m-d', strtotime($fieldValue)) : ($mapping['manual_default'] === 'today' ? date('Y-m-d') : ($mapping['manual_default'] ?? '')); -// break; -// case 'CHAR': -// $fieldValue = !empty($fieldValue) ? substr((string)$fieldValue, 0, 1) : ($mapping['manual_default'] ?? ''); -// break; -// case 'Testo': -// case 'VARCHAR': -// default: -// $fieldValue = !empty($fieldValue) ? htmlspecialchars((string)$fieldValue) : ($mapping['manual_default'] ?? ''); -// break; -// } -// } else { // Campi manuali -// $fieldValue = $mapping['manual_default'] ?? ''; -// if ($mapping['data_type'] === 'DATE' && $mapping['manual_default'] === 'today') { -// $fieldValue = date('Y-m-d'); -// } -// } -// if ($mapping['is_required'] && (is_null($fieldValue) || $fieldValue === '')) { -// error_log("Required field missing for mapping ID: " . $mapping['id'] . ", field: " . $mapping['field_label']); -// } -// error_log("Inserting into import_data_details - Mapping ID: " . $mapping['id'] . ", Field Value: " . var_export($fieldValue, true) . ", Is Manual: " . $mapping['is_manual'] . ", Excel Column: " . ($mapping['excel_column'] ?? 'N/A') . ", Manual Default: " . ($mapping['manual_default'] ?? 'N/A')); -// $stmt = $pdo->prepare("INSERT INTO import_data_details (id, mapping_id, field_value) VALUES (?, ?, ?)"); -// $stmt->execute([$iddatadb, $mapping['id'], $fieldValue]); -// error_log("Inserted into import_data_details for ID $iddatadb, Mapping ID: " . $mapping['id'] . ", Field Value: " . var_export($fieldValue, true)); -// } -//} - $insertedIds = $_POST['inserted_ids'] ?? $_SESSION['inserted_ids']; // Recupera i dati appena inseriti con i nomi degli utenti @@ -200,6 +135,32 @@ foreach ($stmt->fetchAll(PDO::FETCH_ASSOC) as $row) { /* Colore scuro per contrasto */ } + /* Stili per i badge di stato */ + .status-badge { + display: inline-block; + padding: 2px 8px; + font-size: 12px; + font-weight: 500; + border-radius: 12px; + text-align: center; + min-width: 60px; + } + + .status-i { + background-color: #ffc107; + color: #212529; + } + + .status-P { + background-color: #007bff; + color: white; + } + + .status-l { + background-color: #28a745; + color: white; + } + /* Stili esistenti rimangono invariati */ .grid-container { overflow-x: auto; @@ -233,7 +194,6 @@ foreach ($stmt->fetchAll(PDO::FETCH_ASSOC) as $row) { .grid-cell { flex: 1; min-width: 70px; - /* Ridotto da 100px per compatibilità con pulsanti */ padding: 12px 15px; border-right: 1px solid #dee2e6; overflow: hidden; @@ -410,23 +370,21 @@ foreach ($stmt->fetchAll(PDO::FETCH_ASSOC) as $row) { box-shadow: 0 0 5px rgba(0, 123, 255, 0.5); } - /* Sovrascrivi min-width per le celle dei pulsanti */ + /* Stile per l'header dei pulsanti combinati */ .grid-cell.button-cell, .grid-header.button-header { - min-width: 70px !important; - flex: 0 0 70px !important; + min-width: 210px !important; + flex: 0 0 210px !important; } - /* Stile per l'header dei pulsanti */ - .button-header { - min-height: 48px; - /* Altezza minima per uniformare */ - padding: 12px 0; - /* Centra verticalmente, no padding orizzontale */ - background-color: #e9ecef !important; - /* Grigio uniforme */ - border-right: 1px solid #dee2e6 !important; - /* Bordo destro coerente */ + .action-btn { + padding: 6px 8px; + margin-right: 5px; + border: none; + border-radius: 5px; + cursor: pointer; + width: 50px; + box-sizing: border-box; }