163 lines
11 KiB
PHP
163 lines
11 KiB
PHP
<?php
|
|
|
|
/**
|
|
* Shared "Nuova/Modifica Scadenza" modal markup (used by index.php and detail.php).
|
|
* Requires $subjects, $departments, $employees in scope (see deadline_form_data.php).
|
|
* The accompanying JS lives in deadline_modal_js.php.
|
|
*/
|
|
?>
|
|
<!-- Deadline Modal -->
|
|
<div class="modal fade" id="deadlineModal" tabindex="-1" aria-hidden="true">
|
|
<div class="modal-dialog modal-xl modal-fullscreen-sm-down">
|
|
<div class="modal-content">
|
|
<div class="modal-header">
|
|
<h5 class="modal-title" id="modalTitle">Nuova Scadenza</h5>
|
|
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Chiudi"></button>
|
|
</div>
|
|
<form id="deadlineForm">
|
|
<div class="modal-body">
|
|
<input type="hidden" id="dlId" name="id" value="">
|
|
|
|
<!-- Group 1: Informazioni principali -->
|
|
<div class="form-section-title">Informazioni principali</div>
|
|
<div class="row g-3 mb-4">
|
|
<div class="col-12 col-md-6">
|
|
<label for="dlSubject" class="form-label fw-semibold">Argomento</label>
|
|
<div class="d-flex gap-2">
|
|
<select class="form-select" id="dlSubject" name="subject_id" style="flex:1">
|
|
<option value="">— Nessuno —</option>
|
|
<?php foreach ($subjects as $s): ?>
|
|
<option value="<?= (int)$s['id'] ?>" data-color="<?= htmlspecialchars($s['color'], ENT_QUOTES, 'UTF-8') ?>"><?= htmlspecialchars($s['name'], ENT_QUOTES, 'UTF-8') ?></option>
|
|
<?php endforeach; ?>
|
|
</select>
|
|
<a href="scadenzario/subjects/index.php" target="_blank" class="btn btn-scad-outline" title="Gestisci argomenti">
|
|
<i class="fa-solid fa-gear"></i>
|
|
</a>
|
|
</div>
|
|
</div>
|
|
<div class="col-12 col-md-6">
|
|
<label for="dlFunction" class="form-label fw-semibold">Funzione</label>
|
|
<div class="d-flex gap-2">
|
|
<select class="form-select" id="dlFunction" name="function_id" style="flex:1">
|
|
<option value="">— Nessuna —</option>
|
|
<?php foreach ($functions as $fn): ?>
|
|
<option value="<?= (int)$fn['id'] ?>">
|
|
<?= htmlspecialchars($fn['name'], ENT_QUOTES, 'UTF-8') ?>
|
|
</option>
|
|
<?php endforeach; ?>
|
|
</select>
|
|
|
|
<a href="scadenzario/functions/index.php" target="_blank" class="btn btn-scad-outline" title="Gestisci funzioni">
|
|
<i class="fa-solid fa-gear"></i>
|
|
</a>
|
|
</div>
|
|
</div>
|
|
<div class="col-12 col-md-6">
|
|
<label for="dlLaw" class="form-label fw-semibold">Legge / Articolo</label>
|
|
<input type="text" class="form-control" id="dlLaw" name="law_regulation" maxlength="500" placeholder="es. D.Lgs. 81/2008, D.M. 10.03.1998...">
|
|
</div>
|
|
<div class="col-12">
|
|
<label for="dlTopic" class="form-label fw-semibold">Dettaglio <span class="text-danger">*</span></label>
|
|
<textarea class="form-control" id="dlTopic" name="topic" required maxlength="500" rows="2" placeholder="es. Verifica estintori, Autorizzazione trasporto rifiuti..."></textarea>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Group 2: Date e frequenza -->
|
|
<div class="form-section-title">Date e frequenza</div>
|
|
<div class="row g-3 mb-4">
|
|
<div class="col-12 col-md-4">
|
|
<label for="dlRecurrence" class="form-label fw-semibold">Periodicità</label>
|
|
<select class="form-select" id="dlRecurrence" name="recurrence_type">
|
|
<option value="once">Una tantum</option>
|
|
<option value="monthly">Mensile</option>
|
|
<option value="quarterly">Trimestrale</option>
|
|
<option value="semiannual">Semestrale</option>
|
|
<option value="annual">Annuale</option>
|
|
<option value="biennial">Biennale</option>
|
|
<option value="triennial">Triennale</option>
|
|
<option value="quadriennial">Quadriennale</option>
|
|
<option value="quinquennial">Quinquennale</option>
|
|
<option value="decennial">Decennale</option>
|
|
<option value="quindecennial">Quindicennale</option>
|
|
</select>
|
|
</div>
|
|
<div class="col-12 col-md-4">
|
|
<label for="dlDocDate" class="form-label fw-semibold">Data documento</label>
|
|
<input type="text" class="form-control js-date-it" id="dlDocDate" name="document_date" placeholder="gg/mm/aaaa" autocomplete="off">
|
|
</div>
|
|
<div class="col-12 col-md-4">
|
|
<label for="dlDueDate" class="form-label fw-semibold">Data scadenza <span class="text-danger">*</span></label>
|
|
<input type="text" class="form-control js-date-it" id="dlDueDate" name="due_date" placeholder="gg/mm/aaaa" autocomplete="off" required>
|
|
</div>
|
|
<div class="col-12 col-md-4">
|
|
<label for="dlCheckDate" class="form-label fw-semibold">Data ultimo controllo</label>
|
|
<input type="text" class="form-control js-date-it" id="dlCheckDate" name="check_date" placeholder="gg/mm/aaaa" autocomplete="off">
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Group 3: Responsabili -->
|
|
<div class="form-section-title">Responsabili</div>
|
|
<div class="row g-3 mb-4">
|
|
<div class="col-12">
|
|
<label for="dlDepartments" class="form-label fw-semibold">Reparti</label>
|
|
<select class="form-select" id="dlDepartments" name="department_names[]" multiple>
|
|
<?php foreach ($departments as $dept): ?>
|
|
<option value="<?= htmlspecialchars($dept['name'], ENT_QUOTES, 'UTF-8') ?>">
|
|
<?= htmlspecialchars($dept['name'], ENT_QUOTES, 'UTF-8') ?>
|
|
<?= !empty($dept['code']) ? ' (' . htmlspecialchars($dept['code'], ENT_QUOTES, 'UTF-8') . ')' : '' ?>
|
|
</option>
|
|
<?php endforeach; ?>
|
|
</select>
|
|
<div class="form-text">Tutto il reparto sarà responsabile</div>
|
|
</div>
|
|
<div class="col-12">
|
|
<label for="dlEmployees" class="form-label fw-semibold">Singoli responsabili</label>
|
|
<select class="form-select" id="dlEmployees" name="employee_ids[]" multiple>
|
|
<?php foreach ($employees as $emp): ?>
|
|
<option value="<?= (int)$emp['id'] ?>">
|
|
<?= htmlspecialchars($emp['first_name'] . ' ' . $emp['last_name'], ENT_QUOTES, 'UTF-8') ?><?php if (!empty($emp['department_name'])): ?> (<?= htmlspecialchars($emp['department_name'], ENT_QUOTES, 'UTF-8') ?>)<?php endif; ?>
|
|
</option>
|
|
<?php endforeach; ?>
|
|
</select>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Group 4: Dettagli aggiuntivi -->
|
|
<div class="form-section-title">Dettagli aggiuntivi</div>
|
|
<div class="row g-3">
|
|
<div class="col-12 col-md-4">
|
|
<label for="dlNotifDays" class="form-label fw-semibold">Giorni preavviso</label>
|
|
<input type="number" class="form-control" id="dlNotifDays" name="notification_days" value="7" min="1" max="365">
|
|
</div>
|
|
<div class="col-12 col-md-8">
|
|
<label for="dlStorage" class="form-label fw-semibold">Luogo archiviazione</label>
|
|
<input type="text" class="form-control" id="dlStorage" name="storage_location" maxlength="500" placeholder="es. Armadio A3, Server/Documenti/Sicurezza...">
|
|
</div>
|
|
<div class="col-12">
|
|
<label for="dlNotes" class="form-label fw-semibold">Note</label>
|
|
<textarea class="form-control" id="dlNotes" name="notes" rows="3" placeholder="es. Scadenza 09/06/2026, Attività in appalto a Ditta specializzata..."></textarea>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Group 5: Allegati -->
|
|
<div class="form-section-title mt-4">Allegati</div>
|
|
<div id="attachmentsList" class="mb-3"></div>
|
|
<div class="row g-3">
|
|
<div class="col-12">
|
|
<label for="dlFiles" class="form-label fw-semibold">Carica file</label>
|
|
<input type="file" class="form-control" id="dlFiles" multiple>
|
|
<div class="form-text">Puoi selezionare più file contemporaneamente</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="modal-footer">
|
|
<button type="button" class="btn btn-light" data-bs-dismiss="modal">Annulla</button>
|
|
<button type="submit" class="btn btn-scad-primary">
|
|
<i class="fa-solid fa-check me-1"></i> Salva
|
|
</button>
|
|
</div>
|
|
</form>
|
|
</div>
|
|
</div>
|
|
</div>
|