re-check final

This commit is contained in:
2026-06-01 22:55:50 +02:00
parent 7bdbf4e077
commit 04ba48e87b
136 changed files with 1362 additions and 21579 deletions
@@ -510,7 +510,7 @@ $canDeleteDocumenti = Auth::user()->canDelete('documenti');
<div class="modal fade" id="newFolderModal" tabindex="-1" role="dialog">
<div class="modal-dialog" role="document">
<div class="modal-dialog modal-dialog-scrollable" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title"><i class="fas fa-folder-plus mr-2"></i>Nuova Cartella</h5>
@@ -545,7 +545,7 @@ $canDeleteDocumenti = Auth::user()->canDelete('documenti');
<div class="modal fade" id="uploadModal" tabindex="-1" role="dialog">
<div class="modal-dialog" role="document">
<div class="modal-dialog modal-dialog-scrollable" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title"><i class="fas fa-upload mr-2"></i>Carica Documento</h5>
@@ -553,9 +553,9 @@ $canDeleteDocumenti = Auth::user()->canDelete('documenti');
<span>&times;</span>
</button>
</div>
<form action="/documenti" method="POST" enctype="multipart/form-data">
<?php echo csrf_field(); ?>
<div class="modal-body">
<div class="modal-body">
<form action="/documenti" method="POST" enctype="multipart/form-data" id="uploadForm">
<?php echo csrf_field(); ?>
<div class="form-group">
<label>Nome *</label>
<input type="text" name="nome_file" class="form-control" placeholder="Nome del documento" required>
@@ -567,11 +567,15 @@ $canDeleteDocumenti = Auth::user()->canDelete('documenti');
<option value="<?php echo e($tip->nome); ?>"><?php echo e($tip->descrizione ?? ucfirst($tip->nome)); ?></option>
<?php endforeach; $__env->popLoop(); $loop = $__env->getLastLoop(); ?>
</select>
<button type="button" class="btn btn-sm btn-outline-success mt-2" id="massMoveNewFolderBtn">
<i class="fas fa-plus mr-1"></i> Nuova cartella
</button>
</div>
</div>
<div class="form-group">
<label>Visibilità *</label>
<select name="visibilita" id="uploadVisibilita" class="form-control" onchange="loadUploadTargets()">
<option value="pubblico">Pubblico</option>
<option value="individuo">Individuo</option>
<option value="gruppo">Gruppo</option>
</select>
</div>
<div class="form-group" id="uploadTargetGroup" style="display:none;">
<label>Riferimento</label>
<select name="visibilita_target_id" class="form-control" id="uploadTargetId">
@@ -599,29 +603,42 @@ $canDeleteDocumenti = Auth::user()->canDelete('documenti');
<input type="file" name="file" class="form-control" required>
<small class="text-muted">Max 10MB</small>
</div>
<?php if($currentFolder && !$currentRepo): ?>
<input type="hidden" name="cartella_id" value="<?php echo e($currentFolder->id); ?>">
<p class="text-muted small mb-0">Il documento sarà inserito in: <strong><?php echo e($currentFolder->nome); ?></strong></p>
<?php endif; ?>
<div class="form-group" id="uploadFolderGroup">
<label>Cartella</label>
<select name="cartella_id" id="uploadCartellaId" class="form-control">
<option value="">— Nessuna cartella —</option>
<?php $__currentLoopData = $cartelle; $__env->addLoop($__currentLoopData); foreach($__currentLoopData as $cartella): $__env->incrementLoopIndices(); $loop = $__env->getLastLoop(); ?>
<option value="<?php echo e($cartella->id); ?>" <?php echo e($currentFolder && $currentFolder->id === $cartella->id ? 'selected' : ''); ?>><?php echo e($cartella->nome); ?></option>
<?php if($cartella->children->count() > 0): ?>
<?php $__currentLoopData = $cartella->children; $__env->addLoop($__currentLoopData); foreach($__currentLoopData as $child): $__env->incrementLoopIndices(); $loop = $__env->getLastLoop(); ?>
<option value="<?php echo e($child->id); ?>" <?php echo e($currentFolder && $currentFolder->id === $child->id ? 'selected' : ''); ?>>&nbsp;&nbsp;&nbsp;<?php echo e($child->nome); ?></option>
<?php endforeach; $__env->popLoop(); $loop = $__env->getLastLoop(); ?>
<?php endif; ?>
<?php endforeach; $__env->popLoop(); $loop = $__env->getLastLoop(); ?>
</select>
<button type="button" class="btn btn-sm btn-outline-success mt-2" id="uploadNewFolderBtn">
<i class="fas fa-plus mr-1"></i> Nuova cartella
</button>
</div>
<?php if($currentRepo): ?>
<input type="hidden" name="repository_id" value="<?php echo e($currentRepo->id); ?>">
<p class="text-muted small mb-0">Caricamento su repository remoto: <strong><?php echo e($currentRepo->nome); ?></strong></p>
<?php endif; ?>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" onclick="$('#uploadModal').modal('hide')">Annulla</button>
<button type="submit" class="btn btn-primary">
<i class="fas fa-upload mr-1"></i> Carica
</button>
</div>
</form>
</form>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" onclick="$('#uploadModal').modal('hide')">Annulla</button>
<button type="submit" class="btn btn-primary" form="uploadForm">
<i class="fas fa-upload mr-1"></i> Carica
</button>
</div>
</div>
</div>
</div>
<div class="modal fade" id="associateModal" tabindex="-1" role="dialog">
<div class="modal-dialog" role="document">
<div class="modal-dialog modal-dialog-scrollable" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title"><i class="fas fa-link mr-2"></i>Associa a</h5>
@@ -661,7 +678,7 @@ $canDeleteDocumenti = Auth::user()->canDelete('documenti');
<div class="modal fade" id="updateModal" tabindex="-1" role="dialog">
<div class="modal-dialog" role="document">
<div class="modal-dialog modal-dialog-scrollable" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title"><i class="fas fa-edit mr-2"></i>Cambia tipo/contesto</h5>
@@ -737,7 +754,7 @@ $canDeleteDocumenti = Auth::user()->canDelete('documenti');
<div class="modal fade" id="deleteConfirmModal" tabindex="-1" role="dialog">
<div class="modal-dialog" role="document">
<div class="modal-dialog modal-dialog-scrollable" role="document">
<div class="modal-content">
<div class="modal-header bg-danger text-white">
<h5 class="modal-title"><i class="fas fa-exclamation-triangle mr-2"></i>Conferma Eliminazione</h5>
@@ -761,7 +778,7 @@ $canDeleteDocumenti = Auth::user()->canDelete('documenti');
<div class="modal fade" id="massDeleteConfirmModal" tabindex="-1" role="dialog">
<div class="modal-dialog" role="document">
<div class="modal-dialog modal-dialog-scrollable" role="document">
<div class="modal-content">
<div class="modal-header bg-danger text-white">
<h5 class="modal-title"><i class="fas fa-exclamation-triangle mr-2"></i>Conferma Eliminazione Multipla</h5>
@@ -785,7 +802,7 @@ $canDeleteDocumenti = Auth::user()->canDelete('documenti');
<div class="modal fade" id="massMoveModal" tabindex="-1" role="dialog">
<div class="modal-dialog" role="document">
<div class="modal-dialog modal-dialog-scrollable" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title"><i class="fas fa-folder-open mr-2"></i>Sposta documenti selezionati</h5>
@@ -811,6 +828,9 @@ $canDeleteDocumenti = Auth::user()->canDelete('documenti');
<?php endif; ?>
<?php endforeach; $__env->popLoop(); $loop = $__env->getLastLoop(); ?>
</select>
<button type="button" class="btn btn-sm btn-outline-success mt-2" id="massMoveNewFolderBtn">
<i class="fas fa-plus mr-1"></i> Nuova cartella
</button>
</div>
</div>
<div class="modal-footer">
@@ -826,7 +846,7 @@ $canDeleteDocumenti = Auth::user()->canDelete('documenti');
<div class="modal fade" id="moveModal" tabindex="-1" role="dialog">
<div class="modal-dialog" role="document">
<div class="modal-dialog modal-dialog-scrollable" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title"><i class="fas fa-folder-open mr-2"></i>Sposta documento</h5>
@@ -874,6 +894,21 @@ const eventi = <?php echo json_encode($eventi->map(fn($e) => ['id' => $e->id, 'l
const mailingLists = <?php echo json_encode($mailingLists ? $mailingLists->map(fn($m) => ['id' => $m->id, 'label' => $m->nome]) : [], 512) ?>;
const cartelle = <?php echo json_encode($cartelleMoveOptions, 15, 512) ?>;
$('#uploadModal').on('shown.bs.modal', function () {
loadUploadTargets();
toggleUploadRepo();
});
$('#newFolderModal').on('show.bs.modal', function () {
$(this).css('z-index', 1060);
$('.modal-backdrop:last').css('z-index', 1050);
});
$('#newFolderModal').on('hidden.bs.modal', function () {
window._uploadNewFolder = false;
$(this).css('z-index', '');
});
function toggleAll(source) {
document.querySelectorAll('.doc-checkbox').forEach(cb => cb.checked = source.checked);
updateCount();
@@ -1254,6 +1289,13 @@ document.getElementById('massMoveNewFolderBtn')?.addEventListener('click', funct
});
});
document.getElementById('uploadNewFolderBtn')?.addEventListener('click', function(e) {
e.preventDefault();
window._uploadNewFolder = true;
$('#uploadModal').modal('hide');
$('#newFolderModal').modal('show');
});
document.getElementById('massMoveForm')?.addEventListener('submit', function(e) {
e.preventDefault();
const form = this;
@@ -1346,8 +1388,21 @@ document.getElementById('newFolderForm')?.addEventListener('submit', function(e)
.then(response => response.json())
.then(data => {
if (data.success) {
$('#newFolderModal').modal('hide');
window.location.reload();
if (window._uploadNewFolder) {
window._uploadNewFolder = false;
$('#newFolderModal').modal('hide');
$('#uploadModal').modal('show');
const select = document.getElementById('uploadCartellaId');
if (select) {
const opt = document.createElement('option');
opt.value = data.cartella.id;
opt.textContent = data.cartella.nome;
opt.selected = true;
select.appendChild(opt);
}
} else {
window.location.reload();
}
} else {
alert('Errore: ' + (data.message || 'Impossibile creare la cartella'));
}
@@ -1359,11 +1414,14 @@ document.getElementById('newFolderForm')?.addEventListener('submit', function(e)
function toggleUploadRepo() {
const repoSelect = document.getElementById('uploadRepository');
const cartellaInput = document.querySelector('input[name="cartella_id"]');
const folderGroup = document.getElementById('uploadFolderGroup');
const cartellaSelect = document.getElementById('uploadCartellaId');
if (repoSelect && repoSelect.value !== '') {
if (cartellaInput) cartellaInput.disabled = true;
if (folderGroup) folderGroup.style.display = 'none';
if (cartellaSelect) cartellaSelect.disabled = true;
} else {
if (cartellaInput) cartellaInput.disabled = false;
if (folderGroup) folderGroup.style.display = '';
if (cartellaSelect) cartellaSelect.disabled = false;
}
}