finale 1.2.2
This commit is contained in:
@@ -0,0 +1,55 @@
|
||||
@extends('layouts.adminlte')
|
||||
@section('title', 'Importa Eventi')
|
||||
@section('page_title', 'Importa Eventi da ICS')
|
||||
|
||||
@section('content')
|
||||
<div class="row">
|
||||
<div class="col-md-8">
|
||||
<div class="card">
|
||||
<div class="card-header">
|
||||
<h3 class="card-title"><i class="fas fa-upload mr-2"></i>Carica file ICS</h3>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<form action="{{ route('eventi.import.store') }}" method="POST" enctype="multipart/form-data">
|
||||
@csrf
|
||||
<div class="form-group">
|
||||
<label for="file">Seleziona file ICS *</label>
|
||||
<input type="file" name="file" id="file" class="form-control" accept=".ics" required>
|
||||
<small class="form-text text-muted">
|
||||
Il file deve essere in formato ICS (iCalendar).
|
||||
</small>
|
||||
</div>
|
||||
<button type="submit" class="btn btn-primary">
|
||||
<i class="fas fa-upload mr-1"></i> Importa
|
||||
</button>
|
||||
<a href="/eventi" class="btn btn-secondary ml-2">
|
||||
Annulla
|
||||
</a>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
<div class="card">
|
||||
<div class="card-header">
|
||||
<h3 class="card-title"><i class="fas fa-info-circle mr-2"></i>Informazioni</h3>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<h6>Campi importati:</h6>
|
||||
<ul>
|
||||
<li><code>SUMMARY</code> → Nome evento (obbligatorio)</li>
|
||||
<li><code>DESCRIPTION</code> → Descrizione</li>
|
||||
<li><code>DTSTART</code> → Data/Ora inizio</li>
|
||||
<li><code>DTEND</code> → Durata</li>
|
||||
<li><code>LOCATION</code> → Luogo</li>
|
||||
<li><code>UID</code> → ID esterno (per evitare duplicati)</li>
|
||||
</ul>
|
||||
<p class="text-muted small mt-2">
|
||||
<i class="fas fa-info-circle mr-1"></i>
|
||||
Gli eventi con UID già presente nel sistema verranno saltati automaticamente.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endsection
|
||||
@@ -34,6 +34,9 @@ $canDeleteEventi = Auth::user()->canDelete('eventi');
|
||||
</div>
|
||||
@endif
|
||||
@if($canWriteEventi)
|
||||
<a href="/eventi/import" class="btn btn-sm btn-warning mr-2">
|
||||
<i class="fas fa-file-import mr-1"></i> Importa ICS
|
||||
</a>
|
||||
<a href="/eventi/create" class="btn btn-xs btn-success">
|
||||
<i class="fas fa-plus mr-1"></i> Nuovo Evento
|
||||
</a>
|
||||
@@ -247,8 +250,29 @@ $canDeleteEventi = Auth::user()->canDelete('eventi');
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div class="card-footer">
|
||||
{{ $eventi->withQueryString()->links() }}
|
||||
<div class="card-footer d-flex justify-content-between align-items-center">
|
||||
<div>
|
||||
<form method="GET" class="form-inline" id="perPageForm">
|
||||
<label class="mr-2 small">Righe per pagina:</label>
|
||||
<select name="perPage" class="form-control form-control-sm" onchange="this.form.submit()" style="width: auto;">
|
||||
@foreach([10, 20, 25, 50, 100] as $p)
|
||||
<option value="{{ $p }}" {{ (int) request('perPage', 20) === $p ? 'selected' : '' }}>{{ $p }}</option>
|
||||
@endforeach
|
||||
</select>
|
||||
@foreach(request()->except(['perPage', 'page']) as $key => $value)
|
||||
@if(is_array($value))
|
||||
@foreach($value as $v)
|
||||
<input type="hidden" name="{{ $key }}[]" value="{{ $v }}">
|
||||
@endforeach
|
||||
@else
|
||||
<input type="hidden" name="{{ $key }}" value="{{ $value }}">
|
||||
@endif
|
||||
@endforeach
|
||||
</form>
|
||||
</div>
|
||||
<div>
|
||||
{{ $eventi->links() }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user