sistemazione reports - cambio password - profilo utente
This commit is contained in:
@@ -10,10 +10,14 @@
|
||||
<a href="<?php echo e(route('report.index')); ?>" class="btn btn-sm btn-secondary mr-2">
|
||||
<i class="fas fa-arrow-left mr-1"></i> Torna ai Report
|
||||
</a>
|
||||
<a href="<?php echo e(route('report.print-preview', ['report' => $reportType, 'custom_id' => $customReport->id ?? null])); ?>" class="btn btn-sm btn-info mr-2" target="_blank">
|
||||
<?php
|
||||
$printParams = isset($report) ? ['custom_id' => $report->id] : ['report' => $reportType ?? ''];
|
||||
$exportParams = isset($report) ? ['custom_id' => $report->id] : ['report' => $reportType ?? ''];
|
||||
?>
|
||||
<a href="<?php echo e(route('report.print-preview', $printParams)); ?>" class="btn btn-sm btn-info mr-2" target="_blank">
|
||||
<i class="fas fa-print mr-1"></i> Stampa Report
|
||||
</a>
|
||||
<a href="<?php echo e(route('report.export', ['report' => $reportType])); ?>" class="btn btn-sm btn-success">
|
||||
<a href="<?php echo e(route('report.export', $exportParams)); ?>" class="btn btn-sm btn-success">
|
||||
<i class="fas fa-file-csv mr-1"></i> Esporta CSV
|
||||
</a>
|
||||
</div>
|
||||
|
||||
@@ -1,6 +1,37 @@
|
||||
<?php $__env->startSection('title', 'Report'); ?>
|
||||
<?php $__env->startSection('page_title', 'Report e Statistiche'); ?>
|
||||
|
||||
<?php $__env->startSection('styles'); ?>
|
||||
<link href="https://cdn.jsdelivr.net/npm/select2@4.1.0-rc.0/dist/css/select2.min.css" rel="stylesheet" />
|
||||
<link href="https://cdn.jsdelivr.net/npm/select2-bootstrap4-theme@1.0.0/dist/select2-bootstrap4.min.css" rel="stylesheet" />
|
||||
<style>
|
||||
.select2-container--bootstrap4 .select2-selection--multiple .select2-selection__choice {
|
||||
font-size: 0.8rem;
|
||||
}
|
||||
.card-indigo {
|
||||
border-top: 3px solid #6610f2;
|
||||
}
|
||||
.card-indigo .card-title {
|
||||
color: #6610f2;
|
||||
}
|
||||
.accordion .card-header .btn-link {
|
||||
text-decoration: none;
|
||||
font-weight: 600;
|
||||
color: #495057;
|
||||
}
|
||||
.accordion .card-header .btn-link:hover {
|
||||
color: #007bff;
|
||||
}
|
||||
.accordion .card-header .btn-link i {
|
||||
transition: transform 0.2s ease;
|
||||
width: 20px;
|
||||
}
|
||||
.accordion .card-header .btn-link[aria-expanded="true"] i.fa-chevron-right {
|
||||
transform: rotate(90deg);
|
||||
}
|
||||
</style>
|
||||
<?php $__env->stopSection(); ?>
|
||||
|
||||
<?php $__env->startSection('content'); ?>
|
||||
|
||||
<?php if(session('success')): ?>
|
||||
@@ -19,12 +50,18 @@
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-12">
|
||||
<div class="card">
|
||||
<div class="card-header">
|
||||
<h3 class="card-title"><i class="fas fa-chart-bar mr-2"></i>Panoramica Database</h3>
|
||||
</div>
|
||||
<div class="accordion" id="reportAccordion">
|
||||
|
||||
<div class="card">
|
||||
<div class="card-header" id="headingOne">
|
||||
<h2 class="mb-0">
|
||||
<button class="btn btn-link btn-block text-left" type="button" data-toggle="collapse" data-target="#collapseOne" aria-expanded="true" aria-controls="collapseOne">
|
||||
<i class="fas fa-chevron-down mr-2 text-primary"></i>
|
||||
<i class="fas fa-chart-bar mr-2 text-primary"></i> Panoramica Database
|
||||
</button>
|
||||
</h2>
|
||||
</div>
|
||||
<div id="collapseOne" class="collapse show" aria-labelledby="headingOne" data-parent="#reportAccordion">
|
||||
<div class="card-body">
|
||||
<div class="row">
|
||||
<div class="col-md-2 col-4 text-center">
|
||||
@@ -85,29 +122,63 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-12">
|
||||
<div class="card">
|
||||
<div class="card-header">
|
||||
<h3 class="card-title"><i class="fas fa-chart-pie mr-2"></i>Report Predefiniti</h3>
|
||||
</div>
|
||||
|
||||
<div class="card">
|
||||
<div class="card-header" id="headingTwo">
|
||||
<h2 class="mb-0">
|
||||
<button class="btn btn-link btn-block text-left collapsed" type="button" data-toggle="collapse" data-target="#collapseTwo" aria-expanded="false" aria-controls="collapseTwo">
|
||||
<i class="fas fa-chevron-right mr-2 text-warning"></i>
|
||||
<i class="fas fa-chart-pie mr-2 text-warning"></i> Report Predefiniti
|
||||
<span class="badge badge-warning badge-pill ml-2"><?php echo e(count($prebuiltReports)); ?></span>
|
||||
</button>
|
||||
</h2>
|
||||
</div>
|
||||
<div id="collapseTwo" class="collapse" aria-labelledby="headingTwo" data-parent="#reportAccordion">
|
||||
<div class="card-body">
|
||||
<div class="row">
|
||||
<?php $__currentLoopData = $prebuiltReports; $__env->addLoop($__currentLoopData); foreach($__currentLoopData as $report): $__env->incrementLoopIndices(); $loop = $__env->getLastLoop(); ?>
|
||||
<div class="col-md-4 col-lg-3 mb-3">
|
||||
<div class="card card-<?php echo e($report['colore']); ?> card-outline h-100">
|
||||
<div class="card-body text-center">
|
||||
<i class="fas <?php echo e($report['icona']); ?> fa-3x text-<?php echo e($report['colore']); ?> mb-3"></i>
|
||||
<?php
|
||||
$cardColor = $report['colore'] === 'indigo' ? 'card-indigo' : 'card-' . $report['colore'];
|
||||
$btnColor = $report['colore'] === 'indigo' ? 'primary' : $report['colore'];
|
||||
?>
|
||||
<div class="card <?php echo e($cardColor); ?> card-outline h-100">
|
||||
<div class="card-body text-center d-flex flex-column">
|
||||
<i class="fas <?php echo e($report['icona']); ?> fa-3x text-<?php echo e($btnColor); ?> mb-3"></i>
|
||||
<h5><?php echo e($report['nome']); ?></h5>
|
||||
<p class="text-muted small mb-3"><?php echo e($report['descrizione']); ?></p>
|
||||
<a href="<?php echo e(route('report.run', ['report' => $report['id']])); ?>" class="btn btn-sm btn-<?php echo e($report['colore']); ?>">
|
||||
<i class="fas fa-play mr-1"></i> Genera
|
||||
</a>
|
||||
<a href="<?php echo e(route('report.export', ['report' => $report['id']])); ?>" class="btn btn-sm btn-outline-<?php echo e($report['colore']); ?>">
|
||||
<i class="fas fa-download mr-1"></i> CSV
|
||||
</a>
|
||||
<p class="text-muted small mb-3 flex-grow-1"><?php echo e($report['descrizione']); ?></p>
|
||||
|
||||
<?php if($report['has_tipologia_filter'] ?? false): ?>
|
||||
<form action="<?php echo e(route('report.run')); ?>" method="GET" class="mb-2">
|
||||
<div class="form-group mb-2">
|
||||
<select name="tipologia_documento" class="form-control form-control-sm select2-tipologia" style="width: 100%;">
|
||||
<option value="">Tutte le tipologie</option>
|
||||
<?php $__currentLoopData = $tipologieDocumento; $__env->addLoop($__currentLoopData); foreach($__currentLoopData as $tipologia): $__env->incrementLoopIndices(); $loop = $__env->getLastLoop(); ?>
|
||||
<option value="<?php echo e($tipologia); ?>"><?php echo e(ucfirst($tipologia)); ?></option>
|
||||
<?php endforeach; $__env->popLoop(); $loop = $__env->getLastLoop(); ?>
|
||||
</select>
|
||||
</div>
|
||||
<input type="hidden" name="report" value="<?php echo e($report['id']); ?>">
|
||||
<div class="btn-group btn-group-sm w-100">
|
||||
<button type="submit" class="btn btn-sm btn-<?php echo e($btnColor); ?>">
|
||||
<i class="fas fa-play mr-1"></i> Genera
|
||||
</button>
|
||||
<a href="<?php echo e(route('report.export', ['report' => $report['id']])); ?>" class="btn btn-sm btn-outline-<?php echo e($btnColor); ?>">
|
||||
<i class="fas fa-download mr-1"></i> CSV
|
||||
</a>
|
||||
</div>
|
||||
</form>
|
||||
<?php else: ?>
|
||||
<div class="btn-group btn-group-sm w-100">
|
||||
<a href="<?php echo e(route('report.run', ['report' => $report['id']])); ?>" class="btn btn-sm btn-<?php echo e($btnColor); ?>">
|
||||
<i class="fas fa-play mr-1"></i> Genera
|
||||
</a>
|
||||
<a href="<?php echo e(route('report.export', ['report' => $report['id']])); ?>" class="btn btn-sm btn-outline-<?php echo e($btnColor); ?>">
|
||||
<i class="fas fa-download mr-1"></i> CSV
|
||||
</a>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -116,110 +187,124 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-8">
|
||||
<div class="card">
|
||||
<div class="card-header">
|
||||
<h3 class="card-title"><i class="fas fa-bookmark mr-2"></i>Report Personalizzati</h3>
|
||||
</div>
|
||||
<div class="card-body p-0">
|
||||
<?php if($customReports->count() > 0): ?>
|
||||
<table class="table table-striped mb-0">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Nome</th>
|
||||
<th>Tipo</th>
|
||||
<th>Creato il</th>
|
||||
<th style="width: 120px;">Azioni</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<?php $__currentLoopData = $customReports; $__env->addLoop($__currentLoopData); foreach($__currentLoopData as $report): $__env->incrementLoopIndices(); $loop = $__env->getLastLoop(); ?>
|
||||
<tr>
|
||||
<td>
|
||||
<i class="fas fa-chart-line text-primary mr-1"></i>
|
||||
<?php echo e($report->nome); ?>
|
||||
|
||||
<div class="card">
|
||||
<div class="card-header" id="headingThree">
|
||||
<h2 class="mb-0">
|
||||
<button class="btn btn-link btn-block text-left collapsed" type="button" data-toggle="collapse" data-target="#collapseThree" aria-expanded="false" aria-controls="collapseThree">
|
||||
<i class="fas fa-chevron-right mr-2 text-info"></i>
|
||||
<i class="fas fa-bookmark mr-2 text-info"></i> Report Personalizzati
|
||||
<span class="badge badge-info badge-pill ml-2"><?php echo e($customReports->count()); ?></span>
|
||||
</button>
|
||||
</h2>
|
||||
</div>
|
||||
<div id="collapseThree" class="collapse" aria-labelledby="headingThree" data-parent="#reportAccordion">
|
||||
<div class="card-body">
|
||||
<div class="row">
|
||||
<div class="col-md-8">
|
||||
<?php if($customReports->count() > 0): ?>
|
||||
<table class="table table-striped mb-0">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Nome</th>
|
||||
<th>Tipo</th>
|
||||
<th>Creato il</th>
|
||||
<th style="width: 140px;">Azioni</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<?php $__currentLoopData = $customReports; $__env->addLoop($__currentLoopData); foreach($__currentLoopData as $report): $__env->incrementLoopIndices(); $loop = $__env->getLastLoop(); ?>
|
||||
<tr>
|
||||
<td>
|
||||
<i class="fas fa-chart-line text-primary mr-1"></i>
|
||||
<?php echo e($report->nome); ?>
|
||||
|
||||
</td>
|
||||
<td><span class="badge badge-info"><?php echo e(ucfirst($report->tipo_report)); ?></span></td>
|
||||
<td><?php echo e($report->created_at->format('d/m/Y H:i')); ?></td>
|
||||
<td>
|
||||
<a href="<?php echo e(route('report.run-custom', $report->id)); ?>" class="btn btn-xs btn-success" title="Esegui">
|
||||
<i class="fas fa-play"></i>
|
||||
</a>
|
||||
<form action="<?php echo e(route('report.destroy-custom', $report->id)); ?>" method="POST" class="d-inline">
|
||||
<?php echo csrf_field(); ?> <?php echo method_field('DELETE'); ?>
|
||||
<button type="submit" class="btn btn-xs btn-danger" onclick="return confirm('Eliminare questo report?')" title="Elimina">
|
||||
<i class="fas fa-trash"></i>
|
||||
</td>
|
||||
<td><span class="badge badge-info"><?php echo e(ucfirst($report->tipo_report)); ?></span></td>
|
||||
<td><?php echo e($report->created_at->format('d/m/Y H:i')); ?></td>
|
||||
<td>
|
||||
<a href="<?php echo e(route('report.run', ['custom_id' => $report->id])); ?>" class="btn btn-xs btn-success" title="Esegui">
|
||||
<i class="fas fa-play"></i>
|
||||
</a>
|
||||
<a href="<?php echo e(route('report.export', ['custom_id' => $report->id])); ?>" class="btn btn-xs btn-info" title="Esporta CSV">
|
||||
<i class="fas fa-file-csv"></i>
|
||||
</a>
|
||||
<form action="<?php echo e(route('report.destroy-custom', $report->id)); ?>" method="POST" class="d-inline">
|
||||
<?php echo csrf_field(); ?> <?php echo method_field('DELETE'); ?>
|
||||
<button type="submit" class="btn btn-xs btn-danger" onclick="return confirm('Eliminare questo report?')" title="Elimina">
|
||||
<i class="fas fa-trash"></i>
|
||||
</button>
|
||||
</form>
|
||||
</td>
|
||||
</tr>
|
||||
<?php endforeach; $__env->popLoop(); $loop = $__env->getLastLoop(); ?>
|
||||
</tbody>
|
||||
</table>
|
||||
<?php else: ?>
|
||||
<div class="text-center text-muted py-4">
|
||||
<i class="fas fa-chart-line fa-3x mb-3"></i>
|
||||
<p>Nessun report personalizzato creato.</p>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
</div>
|
||||
|
||||
<div class="col-md-4">
|
||||
<div class="card">
|
||||
<div class="card-header bg-primary">
|
||||
<h3 class="card-title text-white"><i class="fas fa-plus mr-2"></i>Crea Report Personalizzato</h3>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<form action="<?php echo e(route('report.store-custom')); ?>" method="POST">
|
||||
<?php echo csrf_field(); ?>
|
||||
<div class="form-group">
|
||||
<label>Nome Report *</label>
|
||||
<input type="text" name="nome" class="form-control" required placeholder="Es: Individui attivi">
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label>Descrizione</label>
|
||||
<textarea name="descrizione" class="form-control" rows="2" placeholder="Descrizione opzionale..."></textarea>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label>Tipo Dato *</label>
|
||||
<select name="tipo_report" id="tipo_report" class="form-control" required>
|
||||
<option value="">Seleziona...</option>
|
||||
<?php $__currentLoopData = $columnOptions; $__env->addLoop($__currentLoopData); foreach($__currentLoopData as $type => $columns): $__env->incrementLoopIndices(); $loop = $__env->getLastLoop(); ?>
|
||||
<option value="<?php echo e($type); ?>"><?php echo e(ucfirst($type)); ?></option>
|
||||
<?php endforeach; $__env->popLoop(); $loop = $__env->getLastLoop(); ?>
|
||||
</select>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label>Colonne *</label>
|
||||
<select name="columns[]" id="columns_select" class="form-control select2-multi" multiple style="width: 100%;">
|
||||
</select>
|
||||
<small class="text-muted">Seleziona le colonne da includere nel report</small>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label>Ordina per</label>
|
||||
<select name="sort_by" id="sort_by" class="form-control">
|
||||
<option value="">Nessun ordinamento</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label>Direzione ordinamento</label>
|
||||
<select name="sort_direction" class="form-control">
|
||||
<option value="asc">Ascendente (A-Z)</option>
|
||||
<option value="desc" selected>Discendente (Z-A)</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label>Limite risultati</label>
|
||||
<input type="number" name="limit" class="form-control" placeholder="Es: 100" min="1">
|
||||
</div>
|
||||
<button type="submit" class="btn btn-primary btn-block">
|
||||
<i class="fas fa-save mr-1"></i> Salva Report
|
||||
</button>
|
||||
</form>
|
||||
</td>
|
||||
</tr>
|
||||
<?php endforeach; $__env->popLoop(); $loop = $__env->getLastLoop(); ?>
|
||||
</tbody>
|
||||
</table>
|
||||
<?php else: ?>
|
||||
<div class="text-center text-muted py-4">
|
||||
<i class="fas fa-chart-line fa-3x mb-3"></i>
|
||||
<p>Nessun report personalizzato creato.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-4">
|
||||
<div class="card">
|
||||
<div class="card-header bg-primary">
|
||||
<h3 class="card-title text-white"><i class="fas fa-plus mr-2"></i>Crea Report Personalizzato</h3>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<form action="<?php echo e(route('report.store-custom')); ?>" method="POST">
|
||||
<?php echo csrf_field(); ?>
|
||||
<div class="form-group">
|
||||
<label>Nome Report *</label>
|
||||
<input type="text" name="nome" class="form-control" required placeholder="Es: Individui attivi">
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label>Descrizione</label>
|
||||
<textarea name="descrizione" class="form-control" rows="2" placeholder="Descrizione opzionale..."></textarea>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label>Tipo Dato *</label>
|
||||
<select name="tipo_report" class="form-control" required>
|
||||
<option value="">Seleziona...</option>
|
||||
<option value="individui">Individui</option>
|
||||
<option value="gruppi">Gruppi</option>
|
||||
<option value="eventi">Eventi</option>
|
||||
<option value="documenti">Documenti</option>
|
||||
<option value="contatti">Contatti</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label>Colonne (separate da virgola)</label>
|
||||
<input type="text" name="columns" class="form-control" placeholder="Es: cognome, nome, email">
|
||||
<small class="text-muted">Lascia vuoto per tutte le colonne</small>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label>Ordina per</label>
|
||||
<select name="sort_by" class="form-control">
|
||||
<option value="">Nessun ordinamento</option>
|
||||
<option value="created_at">Data creazione</option>
|
||||
<option value="updated_at">Ultimo aggiornamento</option>
|
||||
<option value="nome">Nome</option>
|
||||
<option value="cognome">Cognome</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label>Limite risultati</label>
|
||||
<input type="number" name="limit" class="form-control" placeholder="Es: 100" min="1">
|
||||
</div>
|
||||
<button type="submit" class="btn btn-primary btn-block">
|
||||
<i class="fas fa-save mr-1"></i> Salva Report
|
||||
</button>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -227,25 +312,105 @@
|
||||
<?php $__env->stopSection(); ?>
|
||||
|
||||
<?php $__env->startSection('scripts'); ?>
|
||||
<script src="https://cdn.jsdelivr.net/npm/select2@4.1.0-rc.0/dist/js/select2.min.js"></script>
|
||||
<script>
|
||||
document.addEventListener('DOMContentLoaded', function() {
|
||||
const tipoSelect = document.querySelector('select[name="tipo_report"]');
|
||||
const columnsInput = document.querySelector('input[name="columns"]');
|
||||
const sortBySelect = document.querySelector('select[name="sort_by"]');
|
||||
const columnOptions = <?php echo json_encode($columnOptions, 15, 512) ?>;
|
||||
let columnsSelectInitialized = false;
|
||||
|
||||
const columns = {
|
||||
'individui': 'codice_id, cognome, nome, data_nascita, genere, email, telefono',
|
||||
'gruppi': 'nome, descrizione, diocesi_id',
|
||||
'eventi': 'nome_evento, data_inizio, tipo_recorrenza',
|
||||
'documenti': 'nome_file, tipologia, visibilita, created_at',
|
||||
'contatti': 'tipo, valore, etichetta',
|
||||
};
|
||||
function initTipologiaSelect2(container) {
|
||||
$(container).find('.select2-tipologia').select2({
|
||||
theme: 'bootstrap4',
|
||||
placeholder: 'Filtra per tipologia...',
|
||||
allowClear: true,
|
||||
width: '100%',
|
||||
});
|
||||
}
|
||||
|
||||
tipoSelect.addEventListener('change', function() {
|
||||
if (columns[this.value]) {
|
||||
columnsInput.placeholder = 'Suggerite: ' + columns[this.value];
|
||||
function destroyTipologiaSelect2(container) {
|
||||
$(container).find('.select2-tipologia').select2('destroy');
|
||||
}
|
||||
|
||||
function initColumnsSelect2() {
|
||||
if (columnsSelectInitialized) return;
|
||||
$('#columns_select').select2({
|
||||
theme: 'bootstrap4',
|
||||
placeholder: 'Seleziona le colonne...',
|
||||
allowClear: true,
|
||||
width: '100%',
|
||||
});
|
||||
columnsSelectInitialized = true;
|
||||
}
|
||||
|
||||
function destroyColumnsSelect2() {
|
||||
if (!columnsSelectInitialized) return;
|
||||
$('#columns_select').select2('destroy');
|
||||
columnsSelectInitialized = false;
|
||||
}
|
||||
|
||||
function getSortOptions(tipoReport) {
|
||||
const cols = columnOptions[tipoReport] || {};
|
||||
const options = [];
|
||||
for (const [key, col] of Object.entries(cols)) {
|
||||
if (col.type !== 'relation') {
|
||||
options.push({ value: key, label: col.label });
|
||||
}
|
||||
}
|
||||
return options;
|
||||
}
|
||||
|
||||
$('#collapseTwo').on('shown.bs.collapse', function () {
|
||||
initTipologiaSelect2(this);
|
||||
}).on('hidden.bs.collapse', function () {
|
||||
destroyTipologiaSelect2(this);
|
||||
});
|
||||
|
||||
$('#collapseThree').on('shown.bs.collapse', function () {
|
||||
initColumnsSelect2();
|
||||
}).on('hidden.bs.collapse', function () {
|
||||
destroyColumnsSelect2();
|
||||
});
|
||||
|
||||
if ($('#collapseTwo').hasClass('show')) {
|
||||
initTipologiaSelect2(document);
|
||||
}
|
||||
|
||||
if ($('#collapseThree').hasClass('show')) {
|
||||
initColumnsSelect2();
|
||||
}
|
||||
|
||||
$('#tipo_report').on('change', function() {
|
||||
const tipo = this.value;
|
||||
const $select = $('#columns_select');
|
||||
if (columnsSelectInitialized) {
|
||||
$select.empty().trigger('change');
|
||||
}
|
||||
$select.empty();
|
||||
|
||||
if (tipo && columnOptions[tipo]) {
|
||||
const cols = columnOptions[tipo];
|
||||
const fragment = document.createDocumentFragment();
|
||||
for (const [key, col] of Object.entries(cols)) {
|
||||
fragment.appendChild(new Option(col.label, key, false, false));
|
||||
}
|
||||
$select.append(fragment);
|
||||
}
|
||||
if (columnsSelectInitialized) {
|
||||
$select.trigger('change');
|
||||
}
|
||||
|
||||
const $sortBy = $('#sort_by');
|
||||
$sortBy.empty();
|
||||
$sortBy.append(new Option('Nessun ordinamento', '', false, false));
|
||||
const sortOptions = getSortOptions(tipo);
|
||||
sortOptions.forEach(function(opt) {
|
||||
$sortBy.append(new Option(opt.label, opt.value, false, false));
|
||||
});
|
||||
});
|
||||
|
||||
if ($('#tipo_report').val()) {
|
||||
$('#tipo_report').trigger('change');
|
||||
}
|
||||
});
|
||||
</script>
|
||||
<?php $__env->stopSection(); ?>
|
||||
|
||||
@@ -0,0 +1,104 @@
|
||||
<?php $__env->startSection('title', 'Il Mio Profilo'); ?>
|
||||
<?php $__env->startSection('page_title', 'Il Mio Profilo'); ?>
|
||||
|
||||
<?php $__env->startSection('breadcrumbs'); ?>
|
||||
<li class="breadcrumb-item"><a href="<?php echo e(route('dashboard')); ?>">Dashboard</a></li>
|
||||
<li class="breadcrumb-item active">Profilo</li>
|
||||
<?php $__env->stopSection(); ?>
|
||||
|
||||
<?php $__env->startSection('content'); ?>
|
||||
<div class="row">
|
||||
<div class="col-md-6">
|
||||
<div class="card card-primary">
|
||||
<div class="card-header">
|
||||
<h3 class="card-title"><i class="fas fa-user mr-2"></i>Informazioni Account</h3>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<dl class="row mb-0">
|
||||
<dt class="col-sm-4">Nome</dt>
|
||||
<dd class="col-sm-8"><?php echo e(e(Auth::user()->name)); ?></dd>
|
||||
<dt class="col-sm-4">Email</dt>
|
||||
<dd class="col-sm-8"><?php echo e(e(Auth::user()->email)); ?></dd>
|
||||
<dt class="col-sm-4">Membro dal</dt>
|
||||
<dd class="col-sm-8"><?php echo e(Auth::user()->created_at->format('d/m/Y')); ?></dd>
|
||||
</dl>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-6">
|
||||
<div class="card card-warning">
|
||||
<div class="card-header">
|
||||
<h3 class="card-title"><i class="fas fa-key mr-2"></i>Cambia Password</h3>
|
||||
</div>
|
||||
<form method="POST" action="<?php echo e(route('profile.password')); ?>">
|
||||
<?php echo csrf_field(); ?>
|
||||
<?php echo method_field('PUT'); ?>
|
||||
<div class="card-body">
|
||||
<?php if(session('success')): ?>
|
||||
<div class="alert alert-success"><?php echo e(session('success')); ?></div>
|
||||
<?php endif; ?>
|
||||
<?php if(session('error')): ?>
|
||||
<div class="alert alert-danger"><?php echo e(session('error')); ?></div>
|
||||
<?php endif; ?>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="current_password">Password attuale *</label>
|
||||
<input type="password" name="current_password" id="current_password" class="form-control <?php $__errorArgs = ['current_password'];
|
||||
$__bag = $errors->getBag($__errorArgs[1] ?? 'default');
|
||||
if ($__bag->has($__errorArgs[0])) :
|
||||
if (isset($message)) { $__messageOriginal = $message; }
|
||||
$message = $__bag->first($__errorArgs[0]); ?> is-invalid <?php unset($message);
|
||||
if (isset($__messageOriginal)) { $message = $__messageOriginal; }
|
||||
endif;
|
||||
unset($__errorArgs, $__bag); ?>" required>
|
||||
<?php $__errorArgs = ['current_password'];
|
||||
$__bag = $errors->getBag($__errorArgs[1] ?? 'default');
|
||||
if ($__bag->has($__errorArgs[0])) :
|
||||
if (isset($message)) { $__messageOriginal = $message; }
|
||||
$message = $__bag->first($__errorArgs[0]); ?>
|
||||
<span class="invalid-feedback"><?php echo e($message); ?></span>
|
||||
<?php unset($message);
|
||||
if (isset($__messageOriginal)) { $message = $__messageOriginal; }
|
||||
endif;
|
||||
unset($__errorArgs, $__bag); ?>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="password">Nuova password *</label>
|
||||
<input type="password" name="password" id="password" class="form-control <?php $__errorArgs = ['password'];
|
||||
$__bag = $errors->getBag($__errorArgs[1] ?? 'default');
|
||||
if ($__bag->has($__errorArgs[0])) :
|
||||
if (isset($message)) { $__messageOriginal = $message; }
|
||||
$message = $__bag->first($__errorArgs[0]); ?> is-invalid <?php unset($message);
|
||||
if (isset($__messageOriginal)) { $message = $__messageOriginal; }
|
||||
endif;
|
||||
unset($__errorArgs, $__bag); ?>" required minlength="8">
|
||||
<small class="text-muted">Minimo 8 caratteri</small>
|
||||
<?php $__errorArgs = ['password'];
|
||||
$__bag = $errors->getBag($__errorArgs[1] ?? 'default');
|
||||
if ($__bag->has($__errorArgs[0])) :
|
||||
if (isset($message)) { $__messageOriginal = $message; }
|
||||
$message = $__bag->first($__errorArgs[0]); ?>
|
||||
<span class="invalid-feedback"><?php echo e($message); ?></span>
|
||||
<?php unset($message);
|
||||
if (isset($__messageOriginal)) { $message = $__messageOriginal; }
|
||||
endif;
|
||||
unset($__errorArgs, $__bag); ?>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="password_confirmation">Conferma nuova password *</label>
|
||||
<input type="password" name="password_confirmation" id="password_confirmation" class="form-control" required minlength="8">
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-footer">
|
||||
<button type="submit" class="btn btn-warning">
|
||||
<i class="fas fa-save mr-1"></i> Aggiorna Password
|
||||
</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<?php $__env->stopSection(); ?>
|
||||
|
||||
<?php echo $__env->make('layouts.adminlte', array_diff_key(get_defined_vars(), ['__data' => 1, '__path' => 1]))->render(); ?><?php /**PATH /var/www/html/glastree/resources/views/auth/profile.blade.php ENDPATH**/ ?>
|
||||
@@ -0,0 +1,35 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="it">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<style>
|
||||
body { font-family: 'Segoe UI', Tahoma, sans-serif; line-height: 1.6; color: #333; }
|
||||
.container { max-width: 600px; margin: 0 auto; padding: 20px; }
|
||||
.header { background: #28a745; color: white; padding: 20px; text-align: center; border-radius: 5px 5px 0 0; }
|
||||
.body { padding: 30px; background: #f9f9f9; border: 1px solid #ddd; }
|
||||
.button { display: inline-block; padding: 12px 30px; background: #28a745; color: white; text-decoration: none; border-radius: 5px; font-weight: bold; }
|
||||
.footer { margin-top: 20px; font-size: 12px; color: #999; text-align: center; }
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div class="container">
|
||||
<div class="header">
|
||||
<h2><?php echo e(e($appName)); ?></h2>
|
||||
</div>
|
||||
<div class="body">
|
||||
<p>Ciao <strong><?php echo e(e($user->name)); ?></strong>,</p>
|
||||
<p>Hai richiesto il reset della password per il tuo account.</p>
|
||||
<p style="text-align: center; margin: 30px 0;">
|
||||
<a href="<?php echo e($resetUrl); ?>" class="button">Reimposta Password</a>
|
||||
</p>
|
||||
<p>Se non hai richiesto tu il reset, ignora questa email.</p>
|
||||
<p>Il link è valido per 60 minuti.</p>
|
||||
</div>
|
||||
<div class="footer">
|
||||
© <?php echo e(date('Y')); ?> <?php echo e(e($appName)); ?>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
<?php /**PATH /var/www/html/glastree/resources/views/auth/emails/reset-password.blade.php ENDPATH**/ ?>
|
||||
@@ -0,0 +1,85 @@
|
||||
<?php
|
||||
use App\Models\AppSetting;
|
||||
$appName = AppSetting::getAppName() ?? 'Glastree';
|
||||
?>
|
||||
<!DOCTYPE html>
|
||||
<html lang="it">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<title>Reimposta Password - <?php echo e(e($appName)); ?></title>
|
||||
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/admin-lte@3.2/dist/css/adminlte.min.css">
|
||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css">
|
||||
</head>
|
||||
<body class="hold-transition login-page">
|
||||
<div class="login-box">
|
||||
<div class="login-logo">
|
||||
<a href="/"><b><?php echo e(e($appName)); ?></b></a>
|
||||
</div>
|
||||
<div class="card">
|
||||
<div class="card-body login-card-body">
|
||||
<p class="login-box-msg">Scegli una nuova password</p>
|
||||
|
||||
<?php $__errorArgs = ['email'];
|
||||
$__bag = $errors->getBag($__errorArgs[1] ?? 'default');
|
||||
if ($__bag->has($__errorArgs[0])) :
|
||||
if (isset($message)) { $__messageOriginal = $message; }
|
||||
$message = $__bag->first($__errorArgs[0]); ?>
|
||||
<div class="alert alert-danger"><?php echo e($message); ?></div>
|
||||
<?php unset($message);
|
||||
if (isset($__messageOriginal)) { $message = $__messageOriginal; }
|
||||
endif;
|
||||
unset($__errorArgs, $__bag); ?>
|
||||
|
||||
<form action="<?php echo e(route('password.update')); ?>" method="POST">
|
||||
<?php echo csrf_field(); ?>
|
||||
<input type="hidden" name="token" value="<?php echo e($token); ?>">
|
||||
<div class="input-group mb-3">
|
||||
<input type="email" name="email" class="form-control" placeholder="Email" required value="<?php echo e(old('email')); ?>">
|
||||
<div class="input-group-append">
|
||||
<div class="input-group-text"><span class="fas fa-envelope"></span></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="input-group mb-3">
|
||||
<input type="password" name="password" class="form-control <?php $__errorArgs = ['password'];
|
||||
$__bag = $errors->getBag($__errorArgs[1] ?? 'default');
|
||||
if ($__bag->has($__errorArgs[0])) :
|
||||
if (isset($message)) { $__messageOriginal = $message; }
|
||||
$message = $__bag->first($__errorArgs[0]); ?> is-invalid <?php unset($message);
|
||||
if (isset($__messageOriginal)) { $message = $__messageOriginal; }
|
||||
endif;
|
||||
unset($__errorArgs, $__bag); ?>" placeholder="Nuova password" required minlength="8">
|
||||
<div class="input-group-append">
|
||||
<div class="input-group-text"><span class="fas fa-lock"></span></div>
|
||||
</div>
|
||||
<?php $__errorArgs = ['password'];
|
||||
$__bag = $errors->getBag($__errorArgs[1] ?? 'default');
|
||||
if ($__bag->has($__errorArgs[0])) :
|
||||
if (isset($message)) { $__messageOriginal = $message; }
|
||||
$message = $__bag->first($__errorArgs[0]); ?>
|
||||
<span class="invalid-feedback"><?php echo e($message); ?></span>
|
||||
<?php unset($message);
|
||||
if (isset($__messageOriginal)) { $message = $__messageOriginal; }
|
||||
endif;
|
||||
unset($__errorArgs, $__bag); ?>
|
||||
</div>
|
||||
<div class="input-group mb-3">
|
||||
<input type="password" name="password_confirmation" class="form-control" placeholder="Conferma password" required minlength="8">
|
||||
<div class="input-group-append">
|
||||
<div class="input-group-text"><span class="fas fa-lock"></span></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-12">
|
||||
<button type="submit" class="btn btn-success btn-block">Reimposta Password</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script src="https://cdn.jsdelivr.net/npm/jquery@3.7.1/dist/jquery.min.js"></script>
|
||||
<script src="https://cdn.jsdelivr.net/npm/bootstrap@4.6.2/dist/js/bootstrap.bundle.min.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
<?php /**PATH /var/www/html/glastree/resources/views/auth/reset-password.blade.php ENDPATH**/ ?>
|
||||
@@ -0,0 +1,75 @@
|
||||
<?php
|
||||
use App\Models\AppSetting;
|
||||
$appLogo = AppSetting::getLogoUrl();
|
||||
$appName = AppSetting::getAppName() ?? 'Glastree';
|
||||
?>
|
||||
<!DOCTYPE html>
|
||||
<html lang="it">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<title>Reset Password - <?php echo e(e($appName)); ?></title>
|
||||
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/admin-lte@3.2/dist/css/adminlte.min.css">
|
||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css">
|
||||
</head>
|
||||
<body class="hold-transition login-page">
|
||||
<div class="login-box">
|
||||
<div class="login-logo">
|
||||
<a href="/">
|
||||
<?php if($appLogo): ?>
|
||||
<img src="<?php echo e($appLogo); ?>" alt="Logo" style="max-height: 80px; max-width: 200px;">
|
||||
<?php else: ?>
|
||||
<i class="fas fa-tree text-success"></i> <b><?php echo e(e($appName)); ?></b>
|
||||
<?php endif; ?>
|
||||
</a>
|
||||
</div>
|
||||
<div class="card">
|
||||
<div class="card-body login-card-body">
|
||||
<p class="login-box-msg">Password dimenticata? Inserisci la tua email e ti invieremo il link per reimpostarla.</p>
|
||||
|
||||
<?php if(session('success')): ?>
|
||||
<div class="alert alert-success"><?php echo e(session('success')); ?></div>
|
||||
<?php endif; ?>
|
||||
|
||||
<form action="<?php echo e(route('password.email')); ?>" method="POST">
|
||||
<?php echo csrf_field(); ?>
|
||||
<div class="input-group mb-3">
|
||||
<input type="email" name="email" class="form-control <?php $__errorArgs = ['email'];
|
||||
$__bag = $errors->getBag($__errorArgs[1] ?? 'default');
|
||||
if ($__bag->has($__errorArgs[0])) :
|
||||
if (isset($message)) { $__messageOriginal = $message; }
|
||||
$message = $__bag->first($__errorArgs[0]); ?> is-invalid <?php unset($message);
|
||||
if (isset($__messageOriginal)) { $message = $__messageOriginal; }
|
||||
endif;
|
||||
unset($__errorArgs, $__bag); ?>" placeholder="Email" required value="<?php echo e(old('email')); ?>">
|
||||
<div class="input-group-append">
|
||||
<div class="input-group-text"><span class="fas fa-envelope"></span></div>
|
||||
</div>
|
||||
<?php $__errorArgs = ['email'];
|
||||
$__bag = $errors->getBag($__errorArgs[1] ?? 'default');
|
||||
if ($__bag->has($__errorArgs[0])) :
|
||||
if (isset($message)) { $__messageOriginal = $message; }
|
||||
$message = $__bag->first($__errorArgs[0]); ?>
|
||||
<span class="invalid-feedback"><?php echo e($message); ?></span>
|
||||
<?php unset($message);
|
||||
if (isset($__messageOriginal)) { $message = $__messageOriginal; }
|
||||
endif;
|
||||
unset($__errorArgs, $__bag); ?>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-12">
|
||||
<button type="submit" class="btn btn-success btn-block">Invia link reset</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
<p class="mb-0 text-center mt-3">
|
||||
<a href="<?php echo e(route('login')); ?>">Torna al login</a>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script src="https://cdn.jsdelivr.net/npm/jquery@3.7.1/dist/jquery.min.js"></script>
|
||||
<script src="https://cdn.jsdelivr.net/npm/bootstrap@4.6.2/dist/js/bootstrap.bundle.min.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
<?php /**PATH /var/www/html/glastree/resources/views/auth/forgot-password.blade.php ENDPATH**/ ?>
|
||||
@@ -97,7 +97,7 @@ unset($__errorArgs, $__bag); ?>
|
||||
</div>
|
||||
</form>
|
||||
<p class="mb-0 text-center mt-3">
|
||||
<a href="<?php echo e(route('register')); ?>" class="text-center">Non hai un account? Registrati</a>
|
||||
<a href="<?php echo e(route('password.request')); ?>" class="text-center">Password dimenticata?</a>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -1,122 +0,0 @@
|
||||
<?php
|
||||
use App\Models\AppSetting;
|
||||
$appName = AppSetting::getAppName() ?? 'Glastree';
|
||||
?>
|
||||
<!DOCTYPE html>
|
||||
<html lang="it">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<title>Registrati - <?php echo e(e($appName)); ?></title>
|
||||
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/admin-lte@3.2/dist/css/adminlte.min.css">
|
||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css">
|
||||
</head>
|
||||
<body class="hold-transition register-page">
|
||||
<div class="register-box">
|
||||
<div class="login-logo">
|
||||
<a href="/"><i class="fas fa-tree text-success"></i> <b><?php echo e(e($appName)); ?></b></a>
|
||||
</div>
|
||||
<div class="card">
|
||||
<div class="card-body register-card-body">
|
||||
<p class="login-box-msg">Crea un nuovo account</p>
|
||||
<form action="<?php echo e(route('register')); ?>" method="POST">
|
||||
<?php echo csrf_field(); ?>
|
||||
<div class="input-group mb-3">
|
||||
<input type="text" name="name" class="form-control <?php $__errorArgs = ['name'];
|
||||
$__bag = $errors->getBag($__errorArgs[1] ?? 'default');
|
||||
if ($__bag->has($__errorArgs[0])) :
|
||||
if (isset($message)) { $__messageOriginal = $message; }
|
||||
$message = $__bag->first($__errorArgs[0]); ?> is-invalid <?php unset($message);
|
||||
if (isset($__messageOriginal)) { $message = $__messageOriginal; }
|
||||
endif;
|
||||
unset($__errorArgs, $__bag); ?>" placeholder="Nome completo" value="<?php echo e(old('name')); ?>" required>
|
||||
<div class="input-group-append">
|
||||
<div class="input-group-text">
|
||||
<span class="fas fa-user"></span>
|
||||
</div>
|
||||
</div>
|
||||
<?php $__errorArgs = ['name'];
|
||||
$__bag = $errors->getBag($__errorArgs[1] ?? 'default');
|
||||
if ($__bag->has($__errorArgs[0])) :
|
||||
if (isset($message)) { $__messageOriginal = $message; }
|
||||
$message = $__bag->first($__errorArgs[0]); ?>
|
||||
<span class="invalid-feedback"><?php echo e($message); ?></span>
|
||||
<?php unset($message);
|
||||
if (isset($__messageOriginal)) { $message = $__messageOriginal; }
|
||||
endif;
|
||||
unset($__errorArgs, $__bag); ?>
|
||||
</div>
|
||||
<div class="input-group mb-3">
|
||||
<input type="email" name="email" class="form-control <?php $__errorArgs = ['email'];
|
||||
$__bag = $errors->getBag($__errorArgs[1] ?? 'default');
|
||||
if ($__bag->has($__errorArgs[0])) :
|
||||
if (isset($message)) { $__messageOriginal = $message; }
|
||||
$message = $__bag->first($__errorArgs[0]); ?> is-invalid <?php unset($message);
|
||||
if (isset($__messageOriginal)) { $message = $__messageOriginal; }
|
||||
endif;
|
||||
unset($__errorArgs, $__bag); ?>" placeholder="Email" value="<?php echo e(old('email')); ?>" required>
|
||||
<div class="input-group-append">
|
||||
<div class="input-group-text">
|
||||
<span class="fas fa-envelope"></span>
|
||||
</div>
|
||||
</div>
|
||||
<?php $__errorArgs = ['email'];
|
||||
$__bag = $errors->getBag($__errorArgs[1] ?? 'default');
|
||||
if ($__bag->has($__errorArgs[0])) :
|
||||
if (isset($message)) { $__messageOriginal = $message; }
|
||||
$message = $__bag->first($__errorArgs[0]); ?>
|
||||
<span class="invalid-feedback"><?php echo e($message); ?></span>
|
||||
<?php unset($message);
|
||||
if (isset($__messageOriginal)) { $message = $__messageOriginal; }
|
||||
endif;
|
||||
unset($__errorArgs, $__bag); ?>
|
||||
</div>
|
||||
<div class="input-group mb-3">
|
||||
<input type="password" name="password" class="form-control <?php $__errorArgs = ['password'];
|
||||
$__bag = $errors->getBag($__errorArgs[1] ?? 'default');
|
||||
if ($__bag->has($__errorArgs[0])) :
|
||||
if (isset($message)) { $__messageOriginal = $message; }
|
||||
$message = $__bag->first($__errorArgs[0]); ?> is-invalid <?php unset($message);
|
||||
if (isset($__messageOriginal)) { $message = $__messageOriginal; }
|
||||
endif;
|
||||
unset($__errorArgs, $__bag); ?>" placeholder="Password" required>
|
||||
<div class="input-group-append">
|
||||
<div class="input-group-text">
|
||||
<span class="fas fa-lock"></span>
|
||||
</div>
|
||||
</div>
|
||||
<?php $__errorArgs = ['password'];
|
||||
$__bag = $errors->getBag($__errorArgs[1] ?? 'default');
|
||||
if ($__bag->has($__errorArgs[0])) :
|
||||
if (isset($message)) { $__messageOriginal = $message; }
|
||||
$message = $__bag->first($__errorArgs[0]); ?>
|
||||
<span class="invalid-feedback"><?php echo e($message); ?></span>
|
||||
<?php unset($message);
|
||||
if (isset($__messageOriginal)) { $message = $__messageOriginal; }
|
||||
endif;
|
||||
unset($__errorArgs, $__bag); ?>
|
||||
</div>
|
||||
<div class="input-group mb-3">
|
||||
<input type="password" name="password_confirmation" class="form-control" placeholder="Conferma password" required>
|
||||
<div class="input-group-append">
|
||||
<div class="input-group-text">
|
||||
<span class="fas fa-lock"></span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-12">
|
||||
<button type="submit" class="btn btn-success btn-block">Registrati</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
<p class="mb-0 text-center mt-3">
|
||||
<a href="<?php echo e(route('login')); ?>" class="text-center">Hai già un account? Accedi</a>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script src="https://cdn.jsdelivr.net/npm/jquery@3.7.1/dist/jquery.min.js"></script>
|
||||
<script src="https://cdn.jsdelivr.net/npm/bootstrap@4.6.2/dist/js/bootstrap.bundle.min.js"></script>
|
||||
</body>
|
||||
</html><?php /**PATH /var/www/html/glastree/resources/views/auth/register.blade.php ENDPATH**/ ?>
|
||||
@@ -43,7 +43,7 @@ $appName = \App\Models\AppSetting::getAppName() ?? 'Glastree';
|
||||
|
||||
</a>
|
||||
<div class="dropdown-menu dropdown-menu-right">
|
||||
<a href="#" class="dropdown-item">
|
||||
<a href="<?php echo e(route('profile')); ?>" class="dropdown-item">
|
||||
<i class="fas fa-user-cog mr-2"></i> Profilo
|
||||
</a>
|
||||
<div class="dropdown-divider"></div>
|
||||
|
||||
Reference in New Issue
Block a user