mirror of
https://github.com/donpat1to/Schichtenplaner.git
synced 2025-12-01 06:55:45 +01:00
farther debugging for users
This commit is contained in:
@@ -129,8 +129,17 @@ export const AuthProvider: React.FC<AuthProviderProps> = ({ children }) => {
|
||||
};
|
||||
|
||||
const hasRole = (roles: string[]): boolean => {
|
||||
if (!user) return false;
|
||||
return roles.includes(user.role);
|
||||
console.log('🔐 Checking roles - User:', user, 'Required roles:', roles);
|
||||
|
||||
if (!user) {
|
||||
console.log('❌ No user found');
|
||||
return false;
|
||||
}
|
||||
|
||||
const hasRequiredRole = roles.includes(user.role);
|
||||
console.log('✅ User role:', user.role, 'Has required role:', hasRequiredRole);
|
||||
|
||||
return hasRequiredRole;
|
||||
};
|
||||
|
||||
useEffect(() => {
|
||||
|
||||
@@ -25,19 +25,19 @@ const EmployeeManagement: React.FC = () => {
|
||||
const loadEmployees = async () => {
|
||||
try {
|
||||
setLoading(true);
|
||||
console.log('Fetching fresh employee list');
|
||||
console.log('🔄 Loading employees...');
|
||||
|
||||
// Add cache-busting parameter to prevent browser caching
|
||||
const data = await employeeService.getEmployees();
|
||||
console.log('Received employees:', data.length);
|
||||
console.log('✅ Employees loaded:', data);
|
||||
|
||||
setEmployees(data);
|
||||
} catch (err: any) {
|
||||
console.error('Error loading employees:', err);
|
||||
console.error('❌ Error loading employees:', err);
|
||||
showNotification({
|
||||
type: 'error',
|
||||
title: 'Fehler',
|
||||
message: 'Mitarbeiter konnten nicht geladen werden'
|
||||
message: 'Mitarbeiter konnten nicht geladen werden: ' + err.message
|
||||
});
|
||||
} finally {
|
||||
setLoading(false);
|
||||
|
||||
@@ -13,15 +13,27 @@ const getAuthHeaders = () => {
|
||||
|
||||
export class EmployeeService {
|
||||
async getEmployees(): Promise<Employee[]> {
|
||||
console.log('🔄 Fetching employees from API...');
|
||||
|
||||
const token = localStorage.getItem('token');
|
||||
console.log('🔑 Token exists:', !!token);
|
||||
|
||||
const response = await fetch(`${API_BASE_URL}/employees`, {
|
||||
headers: getAuthHeaders(),
|
||||
});
|
||||
|
||||
console.log('📡 Response status:', response.status);
|
||||
|
||||
if (!response.ok) {
|
||||
const errorText = await response.text();
|
||||
console.error('❌ API Error:', errorText);
|
||||
throw new Error('Failed to fetch employees');
|
||||
}
|
||||
|
||||
return response.json();
|
||||
const employees = await response.json();
|
||||
console.log('✅ Employees received:', employees.length);
|
||||
|
||||
return employees;
|
||||
}
|
||||
|
||||
async getEmployee(id: string): Promise<Employee> {
|
||||
|
||||
Reference in New Issue
Block a user