re-check final
This commit is contained in:
@@ -500,7 +500,7 @@ $canDeleteDocumenti = Auth::user()->canDelete('documenti');
|
||||
|
||||
{{-- MODAL: Nuova Cartella --}}
|
||||
<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>
|
||||
@@ -535,7 +535,7 @@ $canDeleteDocumenti = Auth::user()->canDelete('documenti');
|
||||
|
||||
{{-- MODAL: Upload --}}
|
||||
<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>
|
||||
@@ -543,9 +543,9 @@ $canDeleteDocumenti = Auth::user()->canDelete('documenti');
|
||||
<span>×</span>
|
||||
</button>
|
||||
</div>
|
||||
<form action="/documenti" method="POST" enctype="multipart/form-data">
|
||||
@csrf
|
||||
<div class="modal-body">
|
||||
<div class="modal-body">
|
||||
<form action="/documenti" method="POST" enctype="multipart/form-data" id="uploadForm">
|
||||
@csrf
|
||||
<div class="form-group">
|
||||
<label>Nome *</label>
|
||||
<input type="text" name="nome_file" class="form-control" placeholder="Nome del documento" required>
|
||||
@@ -557,11 +557,15 @@ $canDeleteDocumenti = Auth::user()->canDelete('documenti');
|
||||
<option value="{{ $tip->nome }}">{{ $tip->descrizione ?? ucfirst($tip->nome) }}</option>
|
||||
@endforeach
|
||||
</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">
|
||||
@@ -589,29 +593,42 @@ $canDeleteDocumenti = Auth::user()->canDelete('documenti');
|
||||
<input type="file" name="file" class="form-control" required>
|
||||
<small class="text-muted">Max 10MB</small>
|
||||
</div>
|
||||
@if($currentFolder && !$currentRepo)
|
||||
<input type="hidden" name="cartella_id" value="{{ $currentFolder->id }}">
|
||||
<p class="text-muted small mb-0">Il documento sarà inserito in: <strong>{{ $currentFolder->nome }}</strong></p>
|
||||
@endif
|
||||
<div class="form-group" id="uploadFolderGroup">
|
||||
<label>Cartella</label>
|
||||
<select name="cartella_id" id="uploadCartellaId" class="form-control">
|
||||
<option value="">— Nessuna cartella —</option>
|
||||
@foreach($cartelle as $cartella)
|
||||
<option value="{{ $cartella->id }}" {{ $currentFolder && $currentFolder->id === $cartella->id ? 'selected' : '' }}>{{ $cartella->nome }}</option>
|
||||
@if($cartella->children->count() > 0)
|
||||
@foreach($cartella->children as $child)
|
||||
<option value="{{ $child->id }}" {{ $currentFolder && $currentFolder->id === $child->id ? 'selected' : '' }}> {{ $child->nome }}</option>
|
||||
@endforeach
|
||||
@endif
|
||||
@endforeach
|
||||
</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>
|
||||
@if($currentRepo)
|
||||
<input type="hidden" name="repository_id" value="{{ $currentRepo->id }}">
|
||||
<p class="text-muted small mb-0">Caricamento su repository remoto: <strong>{{ $currentRepo->nome }}</strong></p>
|
||||
@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>
|
||||
|
||||
{{-- MODAL: Associa --}}
|
||||
<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>
|
||||
@@ -651,7 +668,7 @@ $canDeleteDocumenti = Auth::user()->canDelete('documenti');
|
||||
|
||||
{{-- MODAL: Cambia tipo/contesto --}}
|
||||
<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>
|
||||
@@ -727,7 +744,7 @@ $canDeleteDocumenti = Auth::user()->canDelete('documenti');
|
||||
|
||||
{{-- MODAL: Conferma eliminazione singola --}}
|
||||
<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>
|
||||
@@ -751,7 +768,7 @@ $canDeleteDocumenti = Auth::user()->canDelete('documenti');
|
||||
|
||||
{{-- MODAL: Conferma eliminazione multipla --}}
|
||||
<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>
|
||||
@@ -775,7 +792,7 @@ $canDeleteDocumenti = Auth::user()->canDelete('documenti');
|
||||
|
||||
{{-- MODAL: Sposta massivo --}}
|
||||
<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>
|
||||
@@ -801,6 +818,9 @@ $canDeleteDocumenti = Auth::user()->canDelete('documenti');
|
||||
@endif
|
||||
@endforeach
|
||||
</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">
|
||||
@@ -816,7 +836,7 @@ $canDeleteDocumenti = Auth::user()->canDelete('documenti');
|
||||
|
||||
{{-- MODAL: Sposta documento --}}
|
||||
<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>
|
||||
@@ -864,6 +884,21 @@ const eventi = @json($eventi->map(fn($e) => ['id' => $e->id, 'label' => $e->nome
|
||||
const mailingLists = @json($mailingLists ? $mailingLists->map(fn($m) => ['id' => $m->id, 'label' => $m->nome]) : []);
|
||||
const cartelle = @json($cartelleMoveOptions);
|
||||
|
||||
$('#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();
|
||||
@@ -1244,6 +1279,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;
|
||||
@@ -1336,8 +1378,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'));
|
||||
}
|
||||
@@ -1349,11 +1404,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;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user