fix 1.2.7

This commit is contained in:
2026-06-08 20:03:14 +02:00
parent 90093a086b
commit 8194b8c034
7 changed files with 263 additions and 14 deletions
+74
View File
@@ -27,6 +27,11 @@
<i class="fab fa-google-drive mr-2"></i> Google Drive
</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#help-calendario" data-toggle="tab">
<i class="fas fa-calendar-alt mr-2"></i> Calendario
</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#help-tipologie" data-toggle="tab">
<i class="fas fa-tags mr-2"></i> Tipologie e Dati
@@ -194,6 +199,75 @@
</div>
</div>
{{-- Calendario --}}
<div class="tab-pane" id="help-calendario">
<div class="card card-outline card-info">
<div class="card-header">
<h3 class="card-title"><i class="fas fa-calendar-alt mr-2"></i> Google Calendar</h3>
</div>
<div class="card-body">
<h5>Cos'è</h5>
<p>Integrazione con Google Calendar per sincronizzare gli eventi tra l'app e il tuo calendario Google. Supporta import, export e sincronizzazione bidirezionale.</p>
<h5>Requisiti</h5>
<ol>
<li>Un account Google / Google Workspace</li>
<li>Un progetto sulla <strong>Google Cloud Console</strong> con l'API Google Calendar abilitata</li>
<li>Credenziali OAuth 2.0 (Client ID e Client Secret)</li>
</ol>
<h5>Passo 1: Creare il progetto Google Cloud</h5>
<ol>
<li>Vai su <a href="https://console.developers.google.com/" target="_blank">Google Cloud Console</a></li>
<li>Crea un nuovo progetto o selezionane uno esistente</li>
<li>Vai a <strong>API e servizi Libreria</strong></li>
<li>Cerca "<strong>Google Calendar API</strong>" e <strong>abilitala</strong></li>
<li>Vai a <strong>API e servizi Credenziali</strong></li>
<li>Clicca "<strong>Crea credenziali → ID client OAuth</strong>"</li>
<li>Tipo applicazione: "<strong>Applicazione Web</strong>"</li>
<li><strong>URI di reindirizzamento autorizzato:</strong> aggiungi <code>https://developers.google.com/oauthplayground</code></li>
<li>Completa la creazione e <strong>copia Client ID e Client Secret</strong></li>
</ol>
<h5>Passo 2: Ottenere il Refresh Token (Google OAuth Playground)</h5>
<p>A differenza di Google Drive, per Google Calendar il refresh token va ottenuto manualmente tramite il Google OAuth Playground:</p>
<ol>
<li>Vai su <a href="https://developers.google.com/oauthplayground" target="_blank">Google OAuth Playground</a></li>
<li>Clicca l'ingranaggio ⚙️ in alto a destra</li>
<li>Spunta "<strong>Use your own OAuth credentials</strong>"</li>
<li>Incolla <strong>Client ID</strong> e <strong>Client Secret</strong> creati al Passo 1</li>
<li>Nella colonna sinistra, espandi "<strong>Google Calendar API v3</strong>" e seleziona lo scope <code>https://www.googleapis.com/auth/calendar</code></li>
<li>Clicca "<strong>Authorize APIs</strong>" e autorizza con l'account Google</li>
<li>Clicca "<strong>Exchange authorization code for tokens</strong>"</li>
<li><strong>Copia il Refresh Token</strong> generato</li>
</ol>
<h5>Passo 3: Configurazione nell'app</h5>
<ol>
<li>Vai in <strong>Impostazioni → Calendario</strong></li>
<li>Clicca "<strong>Nuova Connessione</strong>"</li>
<li>Inserisci un nome descrittivo (es. "Calendario Lavoro")</li>
<li>Seleziona tipo <strong>Google Calendar</strong></li>
<li>Incolla <strong>Client ID</strong>, <strong>Client Secret</strong> e il <strong>Refresh Token</strong> ottenuto</li>
<li><strong>Calendar ID (opzionale):</strong> lascia <code>primary</code> per il calendario principale, oppure inserisci l'ID di un calendario specifico (lo trovi in Google Calendar Impostazioni calendario ID calendario)</li>
<li>Seleziona la <strong>direzione di sincronizzazione</strong> (import, export o bidirezionale)</li>
<li>Clicca "<strong>Salva</strong>"</li>
</ol>
<h5>Test connessione</h5>
<p>Dopo aver salvato, usa il pulsante <span class="badge badge-success"><i class="fas fa-plug"></i> Test</span> nella tabella delle connessioni per verificare che l'autorizzazione funzioni correttamente.</p>
<h5>Sincronizzazione</h5>
<p>Dopo aver configurato la connessione, puoi sincronizzare gli eventi manualmente cliccando <span class="badge badge-primary"><i class="fas fa-sync"></i> Sync</span>. La sincronizzazione automatica viene eseguita in base all'intervallo impostato (richiede il cron di Laravel configurato).</p>
<div class="alert alert-info">
<i class="fas fa-info-circle mr-2"></i>
Il Refresh Token è <strong>permanente</strong> finché non viene revocato dall'utente. Se la connessione smette di funzionare, potrebbe essere necessario rigenerarlo ripetendo il Passo 2.
</div>
</div>
</div>
</div>
{{-- Tipologie e Dati --}}
<div class="tab-pane" id="help-tipologie">
<div class="card card-outline card-success">