Käyttäjän poisto: admin poistaa vain yrityksestä, ei kokonaan
Admin poistaa käyttäjän vain nykyisestä yrityksestä (user_companies). Käyttäjä poistetaan kokonaan vasta kun ei kuulu enää yhteenkään yritykseen. Superadmin poistaa edelleen kokonaan. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
16
api.php
16
api.php
@@ -1727,9 +1727,21 @@ switch ($action) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
dbDeleteUser($id);
|
||||
$companyId = $_SESSION['company_id'] ?? '';
|
||||
if ($deleted) dbAddLog($companyId, currentUser(), 'user_delete', '', '', "Poisti käyttäjän: {$deleted['username']}");
|
||||
if ($isSA) {
|
||||
// Superadmin poistaa käyttäjän kokonaan
|
||||
dbDeleteUser($id);
|
||||
if ($deleted) dbAddLog($companyId, currentUser(), 'user_delete', '', '', "Poisti käyttäjän kokonaan: {$deleted['username']}");
|
||||
} else {
|
||||
// Admin poistaa käyttäjän vain nykyisestä yrityksestä
|
||||
dbRemoveUserFromCompany($id, $companyId);
|
||||
if ($deleted) dbAddLog($companyId, currentUser(), 'user_delete', '', '', "Poisti käyttäjän yrityksestä: {$deleted['username']}");
|
||||
// Jos käyttäjällä ei ole enää yhtään yritystä, poista kokonaan
|
||||
$remaining = dbGetUserCompanies($id);
|
||||
if (empty($remaining)) {
|
||||
dbDeleteUser($id);
|
||||
}
|
||||
}
|
||||
echo json_encode(['success' => true]);
|
||||
break;
|
||||
|
||||
|
||||
8
db.php
8
db.php
@@ -976,6 +976,14 @@ function dbDeleteUser(string $userId): void {
|
||||
_dbExecute("DELETE FROM users WHERE id = ?", [$userId]);
|
||||
}
|
||||
|
||||
function dbRemoveUserFromCompany(string $userId, string $companyId): void {
|
||||
_dbExecute("DELETE FROM user_companies WHERE user_id = ? AND company_id = ?", [$userId, $companyId]);
|
||||
}
|
||||
|
||||
function dbGetUserCompanies(string $userId): array {
|
||||
return _dbFetchAll("SELECT company_id FROM user_companies WHERE user_id = ?", [$userId]);
|
||||
}
|
||||
|
||||
// ==================== ASETUKSET (global) ====================
|
||||
|
||||
function dbLoadConfig(): array {
|
||||
|
||||
Reference in New Issue
Block a user