fix: resolve super_admin privileges and tenant management issues
- Fixed real backend deletion for tenants - Allowed super_admins to manage other super_admins in Global Users - Filtered teams based on selected tenant in user creation - Protected system tenant from deletion
This commit is contained in:
@@ -3,7 +3,7 @@ import {
|
||||
Building2, Users, MessageSquare, Plus, Search,
|
||||
Edit, Trash2, ChevronDown, ChevronUp, ChevronsUpDown, X
|
||||
} from 'lucide-react';
|
||||
import { getTenants, createTenant } from '../services/dataService';
|
||||
import { getTenants, createTenant, deleteTenant } from '../services/dataService';
|
||||
import { Tenant } from '../types';
|
||||
import { DateRangePicker } from '../components/DateRangePicker';
|
||||
import { KPICard } from '../components/KPICard';
|
||||
@@ -76,9 +76,18 @@ export const SuperAdmin: React.FC = () => {
|
||||
setIsModalOpen(true);
|
||||
};
|
||||
|
||||
const handleDelete = (id: string) => {
|
||||
const handleDelete = async (id: string) => {
|
||||
if (id === 'system') {
|
||||
alert('A organização do sistema não pode ser excluída.');
|
||||
return;
|
||||
}
|
||||
if (confirm('Tem certeza que deseja excluir esta organização? Esta ação não pode ser desfeita.')) {
|
||||
setTenants(prev => prev.filter(t => t.id !== id));
|
||||
const success = await deleteTenant(id);
|
||||
if (success) {
|
||||
setTenants(prev => prev.filter(t => t.id !== id));
|
||||
} else {
|
||||
alert('Erro ao excluir a organização do servidor.');
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user