| docs | ||
| tampermonkey-script | ||
| .gitignore | ||
| CHANGELOG.md | ||
| README.md | ||
🧰 GAIA Swissknife
Tampermonkey script per il portale GAIA (CRI)
Autore: Luigi D'Acunto
📦 Cos'è GAIA Swissknife?
Uno script sviluppato per Tampermonkey che migliora l'usabilità del portale https://gaia.cri.it, introducendo strumenti automatici, ottimizzazioni visive e utilità per gli operatori CRI.
🚀 Installazione
1. Requisiti
- Estensione Tampermonkey installata su:
- Chrome / Edge / Brave / Opera
- Firefox (supportato, ma con piccole differenze di UI)
2. Installazione dello script
🔗 Clicca qui per installare GAIA Swissknife
Oppure:
- Apri Tampermonkey
- Clicca su "Crea nuovo script"
- Incolla il contenuto dello script
- Salva e assicurati che sia attivo
🛠️ Funzionalità principali
Ogni funzione è descritta con screenshot nella guida utente; l'elenco sintetico di cosa lo script aggiunge e dove si aggancia è nella mappa del progetto.
✅ Su /aspirante/corso-base/<id>/termina/
- Tre pulsanti "Ammessi, Positivo, Positivo", "Ammessi, Positivo, Non previsto", "Ammessi, Non previsto, Positivo"
- Impostano in blocco Ammissione ed Esiti delle due parti per tutti i candidati
- Form di compilazione massiva (Argomento parte 1/2, Sede di destinazione) con "Applica a tutti i candidati"
- Compila in un colpo solo i campi per tutti i candidati; ogni casella compare solo se il campo esiste nel corso, senza campi il form non compare
- I campi lasciati vuoti non sovrascrivono i valori già presenti
✅ Su /aspirante/corso-base/<id>/iscritti/ (tab "Iscrizioni")
- Pulsante "Apri tutti i Curriculum"
- Apre in nuove schede i curriculum dei profili presenti nell'elenco visibile, dopo conferma
- Compare solo con il tab "Iscrizioni" attivo
✅ Su /autorizzazioni/
- Modale mobile "Richieste Iscrizione"
- Mostra un riepilogo dei corsi richiesti
- Permette di selezionare un corso per evidenziare i blocchi e aprire i profili corrispondenti
- Ottimizzazione menu laterale
- Unisce le voci duplicate del riquadro "Filtra per..." sommando i contatori
- Modale mobile, comprimibile e spostabile
✅ Su /aspirante/corso-base/<id>/ (tab "Informazioni")
- Pulsante "Copia per LURCH (JSON)"
- Copia in clipboard un JSON con i dati del corso, pronto per essere importato da LURCH
- Compare solo con il tab "Informazioni" attivo (non su "Termina corso" e altre pagine del corso)
Schema del JSON:
| Campo | Tipo | Formato / Esempio | Note |
|---|---|---|---|
direttore |
string | "Mario Rossi" |
Vuoto se nessun direttore assegnato |
quota |
boolean | true / false |
true se è prevista una quota di iscrizione |
quotaValore |
number | 60 |
Valore in euro, 0 se gratuito |
corso |
string | "Corso per Monitore CRI..." |
Titolo del corso |
protocollo |
string | "TOS/2026/MON-PS/6170" |
Codice corso estratto dal titolo pagina |
linkGaia |
string (URL) | "https://gaia.cri.it/aspirante/corso-base/66398/" |
Link diretto alla pagina corso |
dataInizio |
string (ISO 8601) | "2026-09-27T09:00:00" |
Data/ora di inizio corso, null se assente |
dataEsame |
string (ISO 8601) | "2026-11-22T09:00:00" |
Data/ora dell'esame finale, null se assente |
scadenzaDomande |
string (ISO 8601) | "2026-08-15T16:00:00" |
Termine ultimo per le domande di ammissione, null se assente |
Le date sono in formato ISO 8601 senza timezone (YYYY-MM-DDTHH:MM:SS), direttamente parsabile con Carbon::parse() lato Laravel.
✅ Su /courses/catalog/
- Pulsante "Copia catalogo corsi (JSON)"
- Estrae tutti i corsi con nome, codice, livello, tipo, obiettivo e copia in clipboard
✅ Su /us/elenchi/volontari/
- Pulsante "Copia struttura sedi (JSON)"
- Estrae la gerarchia Regionale > Locale > Sottosedi e copia in clipboard
✅ Su pagine con selezione sedi
- Tool "Sede preferita"
- Select persistente per salvare la sede preferita, pulsante "Solo preferito" e "Seleziona tutto"
✅ Su /profilo/<id>/curriculum/
- Trasformazione della tabella curriculum in DataTable
- Senza paginazione, ricerca ("Filtra qualifiche") e ordinamento per Tipo e Nome e Stato
- Colorazione della cella Tipo per tipologia di qualifica
- Evidenziazione rossa delle righe con stato Respinto
- Ricostruzione visuale colonna "Dettagli"
- Una riga per informazione, con la sua icona
- Testi e nomi di file lunghi tagliati con ellissi e tooltip
🧩 Note tecniche
- Lo script attiva automaticamente le funzioni solo sulle pagine dove sono necessarie
- Non altera il comportamento del portale originario
- Funzioni modulari facilmente estendibili
🧪 Changelog
📖 Visualizza changelog completo
La versione corrente è nell'intestazione dello script (@version); la cronologia completa è nel changelog.
📘 Guida all'uso con screenshot: docs/guida-utente
🙌 Autore
Luigi D'Acunto
💻 luigidacunto.com
📫 info@luigidacunto.com
📄 Licenza
Distribuito sotto licenza MIT – Open Source.
Puoi leggere il testo completo qui: LICENSE
Attenzione: questo script non è uno strumento ufficiale del portale GAIA o della Croce Rossa Italiana.
Lo script non altera in alcun modo dati, privacy o integrità del portale.
Tutte le modifiche sono locali, lato browser dell'utente e vengono applicate solo se:
- Tampermonkey è installato
- Lo script GAIA Swissknife è attivo
In qualsiasi momento l’utente può disattivarlo o rimuoverlo.
Le modifiche migliorano solo l'interfaccia utente e l'esperienza di utilizzo, senza interferire con le funzionalità originali del portale.