@extends('layouts.adminlte') @section('title', 'Impostazioni') @section('page_title', 'Impostazioni') @section('breadcrumbs') @endsection @section('content')
{{-- === APPLICAZIONE === --}}

Configurazione Applicazione

Configura il nome e il testo visualizzato dall'applicazione.

@if(session('success'))
{{ session('success') }}
@endif
@csrf
Nome mostrato nel titolo, sidebar e login
Nome organizzazione mostrato sotto il logo nel login
Lascia vuoto per usare il formato predefinito: © {anno} {nome_applicazione}
Versione mostrata nel footer
show_version ?? false) ? 'checked' : '' }}>
Messaggio mostrato nella dashboard. Lascia vuoto per usare il testo predefinito.
{{-- === REPOSITORY REMOTI (Opzione B) === --}}

Repository Remoti

Configura repository remoti (WebDAV, Google Drive) per archiviare documenti. Ogni repository appare come root separata nell'albero delle cartelle in Gestione Documenti.

@if(session('success'))
{{ session('success') }}
@endif @if(session('error'))
{{ session('error') }}
@endif @if($repositories->count() > 0)
@foreach($repositories as $repo) @endforeach
# Nome Tipo Stato Azioni
{{ $repo->nome }} {{ \App\Models\StorageRepository::etichettaTipo($repo->tipo) }} @if($repo->is_active) Attivo @else Disattivo @endif
@else

Nessun repository remoto configurato.

Clicca "Nuovo Repository" per aggiungere un server WebDAV o Google Drive.

@endif
@if($repositories->count() > 0)

Come funziona

  • Ogni repository configurato apparirà come root separata nella sidebar Gestione Documenti, sotto "Repository Remoti".
  • Puoi navigare i file e le cartelle di ogni repository remoto direttamente dall'interfaccia documenti.
  • WebDAV: supporta server che parlano il protocollo WebDAV (es. NextCloud, ownCloud, Synology).
  • Google Drive: richiede OAuth 2.0 con client ID, client secret e refresh token configurati nella Google Cloud Console.
  • Usa il pulsante Test per verificare la connettività dopo la configurazione.
@endif
{{-- === REPOSITORY DOCUMENTI === --}}

Repository Documenti

Configura il repository filesystem dove vengono salvati i documenti caricati.

@php $currentDisk = $appSettings->documenti_storage_disk ?? 'local'; $currentPath = $appSettings->documenti_storage_path ?? 'documenti'; $absPath = storage_path('app/' . ($currentDisk === 'local' ? 'private/' : '') . $currentPath); @endphp
@csrf
Il disco predefinito per salvare i documenti
Sottocartella all'interno del disco
Percorso assoluto calcolato: {{ $absPath }}
I nuovi documenti verranno salvati in questa directory.
@if(session('path_changed')) @php $migrateCount = session('migration_count', 0); $oldD = session('old_storage_disk', 'local'); $oldP = session('old_storage_path', 'documenti'); $newD = session('new_storage_disk', 'local'); $newP = session('new_storage_path', 'documenti'); @endphp
Percorso modificato!

La nuova directory {{ $newD }}://{{ $newP }} è stata creata. @if($migrateCount > 0) Ci sono {{ $migrateCount }} file nella vecchia posizione {{ $oldD }}://{{ $oldP }}.

@csrf Ignora @else

Nessun file da spostare.

@endif
@endif
{{-- === LOGO === --}} {{-- === EMAIL === --}}
@csrf

Configurazione Server IMAP

Gmail: imap.gmail.com | Outlook: outlook.office365.com

Configurazione Server SMTP (per invio email)

Nota: Per inviare email devi configurare il server SMTP. Per Gmail, usa smtp.gmail.com sulla porta 587 con TLS e genera una App Password.
Generalmente uguale all'account email
Lascia vuoto per usare la password IMAP

Credenziali Account

Per Gmail usa l'indirizzo completo
Per Gmail: genera una App Password

Sincronizzazione

@if($emailSettings->last_sync_at) Ultimo sync: {{ $emailSettings->last_sync_at->format('d/m/Y H:i') }} @else Mai sincronizzato @endif
is_active ?? false) ? 'checked' : '' }}>

Firma Email

signature_enabled ?? true) ? 'checked' : '' }}>
Quando attivo, la firma verrà aggiunta in fondo a ogni email inviata

Usa il riquadro sopra per comporre la tua firma. HTML supportato.

Mittenti Aggiuntivi

@if(session('success'))
{{ session('success') }}
@endif @if(session('error'))
{{ session('error') }}
@endif @if($senderAccounts->count() > 0)
@foreach($senderAccounts as $sender) @endforeach
Email Nome SMTP Reply-To Verify Stato Azioni
{{ $sender->email_address }} {{ $sender->email_name ?: '-' }} {{ $sender->smtp_host ?: '-' }}:{{ $sender->smtp_port ?: '-' }} {{ $sender->reply_to ?: '-' }} {{ $sender->verify_email ?: '-' }} @if($sender->is_active) Attivo @else Disattivo @endif
@else

Nessun mittente aggiuntivo configurato.

Usa il pulsante "Nuovo Mittente" per aggiungere un account di invio dedicato (es. Newsletter).

@endif
@if($senderAccounts->count() > 0)

Come funziona

  • I mittenti aggiuntivi sono account solo invio (SMTP) senza IMAP.
  • Puoi selezionarli nel compose email o negli invii mailing.
  • Il campo Reply-To imposta l'indirizzo di risposta (es. no-reply@parrocchia.it).
  • Il campo Verify Email riceve un report di riepilogo dopo ogni invio massivo con l'esito (ok/falliti).
  • Se Reply-To non è impostato, viene usato Verify Email come fallback.
@endif
@csrf @method('DELETE')
{{-- === GOOGLE OAUTH === --}}
@include("impostazioni._google-oauth")
{{-- === CALENDARIO === --}}

Calendari Remoti

Configura la sincronizzazione con calendari esterni (Google Calendar, CalDAV come Infomaniak/NextCloud).

@if(session('success'))
{{ session('success') }}
@endif @if(session('error'))
{{ session('error') }}
@endif @if($calendarioConnessioni->count() > 0)
@foreach($calendarioConnessioni as $cal) @endforeach
# Nome Tipo Direzione Sync Stato Ultimo Sync Azioni
{{ $cal->nome }} {{ \App\Models\CalendarioConnessione::etichettaTipo($cal->tipo) }} @switch($cal->sync_direction) @case('import') Solo Import @break @case('export') Solo Export @break @default Bidirezionale @endswitch @if($cal->stato === 'connesso') Connesso @elseif($cal->stato === 'errore') Errore @else {{ ucfirst($cal->stato) }} @endif @if($cal->last_sync_at) {{ $cal->last_sync_at->format('d/m/Y H:i') }} @else Mai @endif
@csrf
@else

Nessun calendario remoto configurato.

Clicca "Nuova Connessione" per collegare Google Calendar o un server CalDAV (Infomaniak, NextCloud).

@endif
{{-- === TIPOLOGIE DOCUMENTI === --}}

Tipologie Documenti

Gestisci le tipologie disponibili per i documenti caricati nel sistema.

@if(session('success'))
{{ session('success') }}
@endif @if(session('error'))
{{ session('error') }}
@endif
@foreach($tipologie as $tipologia) @endforeach
Ordine Nome Descrizione Stato Azioni
{{ $tipologia->nome }} {{ $tipologia->descrizione ?? '-' }} @if($tipologia->attiva) Attiva @else Disattivata @endif @if($tipologia->documenti()->count() == 0)
@csrf @method('DELETE')
@else @endif
{{-- === TIPOLOGIE EVENTI === --}}

Tipologie Eventi

Gestisci le tipologie disponibili per gli eventi del calendario.

@if(session('success'))
{{ session('success') }}
@endif @if(session('error'))
{{ session('error') }}
@endif
@foreach($tipologieEventi as $tipologia) @endforeach
Ordine Nome Descrizione Stato Azioni
{{ $tipologia->nome }} {{ $tipologia->descrizione ?? '-' }} @if($tipologia->attiva) Attiva @else Disattivata @endif @if($tipologia->eventi()->count() == 0)
@csrf @method('DELETE')
@else @endif
{{-- === TIPI DI RUOLO === --}}

Tipi di Ruolo

Gestisci i ruoli che possono essere assegnati agli individui nei gruppi.

@if(session('success'))
{{ session('success') }}
@endif @if(session('error'))
{{ session('error') }}
@endif
@foreach($ruoli as $ruolo) @endforeach
Ordine Nome Descrizione Stato Azioni
{{ $ruolo->nome }} {{ $ruolo->descrizione ?? '-' }} @if($ruolo->attiva) Attivo @else Disattivato @endif @php $membriCount = $ruolo->getMembriCount() @endphp @if($membriCount == 0)
@csrf @method('DELETE')
@else @endif
{{-- === TAG === --}}

Tag

Gestisci i tag (etichette) per classificare individui, gruppi, eventi e documenti.

@if(session('success'))
{{ session('success') }}
@endif @if(session('error'))
{{ session('error') }}
@endif
@foreach($tags as $tag) @endforeach
Ordine Tag Nome Slug Colore Azioni
{{ $tag->name }} {{ $tag->name }} {{ $tag->slug }} {{ $tag->color ?? '-' }}
@csrf @method('DELETE')
{{-- ===== MODALI TAG ===== --}} {{-- ===== MODALI TIPOLOGIE DOCUMENTI ===== --}} {{-- ===== MODALI TIPI DI RUOLO ===== --}} {{-- ===== MODALI TIPOLOGIE EVENTI ===== --}} {{-- ===== MODALE MITTENTI AGGIUNTIVI ===== --}} {{-- ===== MODALE CONNESSIONE CALENDARIO ===== --}} @endsection @section('scripts') {{-- MODAL: Repository Remoto --}} @endsection