Dokumenttien poisto kaikille + versioiden säilytysrajoitus
- Poisto-nappi näkyy dokumentin luojalle (ei enää vain admin) - API: document_delete sallii poiston adminille tai luojalle - Uusi max_versions-sarake documents-tauluun (oletus 10) - Versioiden automaattinen pruning: uuden version tallennuksen yhteydessä poistetaan vanhimmat versiot jos yli max_versions (tiedostot levyltä myös) - Valittavissa per dokumentti: 5, 10, 20, 50 tai rajaton Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
10
script.js
10
script.js
@@ -4970,7 +4970,8 @@ function renderDocReadView() {
|
||||
document.getElementById('doc-read-title').textContent = d.title || '';
|
||||
document.getElementById('doc-read-customer').textContent = '👤 ' + customerName;
|
||||
document.getElementById('doc-read-category').innerHTML = `<span class="doc-category cat-${d.category || 'muu'}">${docCategoryLabels[d.category] || d.category || 'Muu'}</span>`;
|
||||
document.getElementById('doc-read-version').textContent = `📌 Versio ${d.current_version || 0}`;
|
||||
const maxV = (d.max_versions && d.max_versions > 0) ? d.max_versions : '∞';
|
||||
document.getElementById('doc-read-version').textContent = `📌 Versio ${d.current_version || 0} (max ${maxV})`;
|
||||
document.getElementById('doc-read-date').textContent = d.muokattu ? '📅 ' + new Date(d.muokattu).toLocaleDateString('fi-FI') : '';
|
||||
const isMeeting = d.category === 'kokousmuistio';
|
||||
|
||||
@@ -4981,9 +4982,10 @@ function renderDocReadView() {
|
||||
document.getElementById('doc-read-description').textContent = d.description || '';
|
||||
}
|
||||
|
||||
// Admin-napit
|
||||
// Poista-nappi: näytetään adminille tai dokumentin luojalle
|
||||
const isAdmin = isCurrentUserAdmin();
|
||||
document.getElementById('btn-doc-delete').style.display = isAdmin ? '' : 'none';
|
||||
const isOwner = d.created_by === (currentUser?.username || '');
|
||||
document.getElementById('btn-doc-delete').style.display = (isAdmin || isOwner) ? '' : 'none';
|
||||
|
||||
// Kokousmuistio vs tiedostopohjainen
|
||||
const contentSection = document.getElementById('doc-read-content-section');
|
||||
@@ -5162,6 +5164,7 @@ function openDocEdit(doc, forceCategory, forceCustomerId) {
|
||||
const cat = forceCategory || doc?.category || 'muu';
|
||||
document.getElementById('doc-edit-category').value = cat;
|
||||
document.getElementById('doc-edit-folder-id').value = doc?.folder_id || currentDocFolderId || '';
|
||||
document.getElementById('doc-edit-max-versions').value = doc?.max_versions ?? 10;
|
||||
|
||||
const isMeeting = cat === 'kokousmuistio';
|
||||
document.getElementById('doc-edit-title').textContent = doc
|
||||
@@ -5227,6 +5230,7 @@ document.getElementById('doc-edit-form')?.addEventListener('submit', async (e) =
|
||||
category: cat,
|
||||
customer_id: document.getElementById('doc-edit-customer').value || null,
|
||||
folder_id: document.getElementById('doc-edit-folder-id').value || null,
|
||||
max_versions: parseInt(document.getElementById('doc-edit-max-versions').value) || 10,
|
||||
created_by: currentUser?.username || ''
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user