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:
8
api.php
8
api.php
@@ -4283,7 +4283,7 @@ switch ($action) {
|
||||
break;
|
||||
|
||||
case 'document_delete':
|
||||
requireAdmin();
|
||||
requireAuth();
|
||||
$companyId = requireCompany();
|
||||
if ($method !== 'POST') break;
|
||||
try {
|
||||
@@ -4295,6 +4295,12 @@ switch ($action) {
|
||||
echo json_encode(['error' => 'Dokumenttia ei löytynyt']);
|
||||
break;
|
||||
}
|
||||
// Salli poisto adminille tai dokumentin luojalle
|
||||
if (!isCompanyAdmin() && $doc['created_by'] !== currentUser()) {
|
||||
http_response_code(403);
|
||||
echo json_encode(['error' => 'Ei oikeutta poistaa']);
|
||||
break;
|
||||
}
|
||||
// Poista tiedostot levyltä
|
||||
$docDir = DATA_DIR . '/companies/' . $companyId . '/documents/' . $docId;
|
||||
if (is_dir($docDir)) {
|
||||
|
||||
Reference in New Issue
Block a user