fix:zugriffsverwaltung liess sich nicht öffnen
This commit is contained in:
parent
9d365aa65a
commit
6272d21942
3 changed files with 32 additions and 5 deletions
|
|
@ -36,7 +36,7 @@ import { DashboardPage } from './pages/Dashboard';
|
|||
import { SettingsPage } from './pages/Settings';
|
||||
import { GDPRPage } from './pages/GDPR';
|
||||
import { FeatureViewPage } from './pages/FeatureView';
|
||||
import { AdminMandatesPage, AdminUsersPage, AdminUserMandatesPage, AdminFeatureAccessPage, AdminInvitationsPage, AdminFeatureRolesPage, AdminFeatureInstanceUsersPage, AdminMandateRolesPage, AdminMandateRolePermissionsPage, AdminUserAccessOverviewPage } from './pages/admin';
|
||||
import { AdminMandatesPage, AdminUsersPage, AdminUserMandatesPage, AdminFeatureAccessPage, AdminInvitationsPage, AdminFeatureRolesPage, AdminFeatureInstanceUsersPage, AdminMandateRolesPage, AdminMandateRolePermissionsPage, AdminUserAccessOverviewPage, AccessManagementHub } from './pages/admin';
|
||||
import { PlaygroundPage, WorkflowsPage, AutomationsPage } from './pages/workflows';
|
||||
import { PromptsPage, FilesPage, ConnectionsPage } from './pages/basedata';
|
||||
function App() {
|
||||
|
|
@ -163,6 +163,7 @@ function App() {
|
|||
<Route path="mandates" element={<AdminMandatesPage />} />
|
||||
<Route path="users" element={<AdminUsersPage />} />
|
||||
<Route path="user-mandates" element={<AdminUserMandatesPage />} />
|
||||
<Route path="access" element={<AccessManagementHub />} />
|
||||
<Route path="feature-instances" element={<AdminFeatureAccessPage />} />
|
||||
<Route path="feature-roles" element={<AdminFeatureRolesPage />} />
|
||||
<Route path="feature-users" element={<AdminFeatureInstanceUsersPage />} />
|
||||
|
|
|
|||
|
|
@ -102,7 +102,15 @@ export function useFeatureAccess() {
|
|||
setError(null);
|
||||
try {
|
||||
const response = await api.get('/api/features/');
|
||||
const data = Array.isArray(response.data) ? response.data : [];
|
||||
// Handle different API response formats (array, {items}, {data})
|
||||
let data: Feature[] = [];
|
||||
if (Array.isArray(response.data)) {
|
||||
data = response.data;
|
||||
} else if (response.data?.items && Array.isArray(response.data.items)) {
|
||||
data = response.data.items;
|
||||
} else if (response.data?.data && Array.isArray(response.data.data)) {
|
||||
data = response.data.data;
|
||||
}
|
||||
setFeatures(data);
|
||||
return data;
|
||||
} catch (err: any) {
|
||||
|
|
|
|||
|
|
@ -390,6 +390,7 @@ export const AdminFeatureAccessPage: React.FC = () => {
|
|||
className={styles.primaryButton}
|
||||
onClick={() => setShowCreateModal(true)}
|
||||
disabled={features.length === 0}
|
||||
title={features.length === 0 ? 'Keine Features verfügbar. Bitte laden Sie die Seite neu oder prüfen Sie die Konsole auf Fehler.' : undefined}
|
||||
>
|
||||
<FaPlus /> Neue Instanz
|
||||
</button>
|
||||
|
|
@ -397,8 +398,8 @@ export const AdminFeatureAccessPage: React.FC = () => {
|
|||
)}
|
||||
</div>
|
||||
|
||||
{/* Available Features Info */}
|
||||
{features.length > 0 && (
|
||||
{/* Available Features Info / Empty Features Warning */}
|
||||
{features.length > 0 ? (
|
||||
<div className={styles.infoBox}>
|
||||
<FaCube style={{ marginRight: 8 }} />
|
||||
<span>Verfügbare Features: </span>
|
||||
|
|
@ -409,7 +410,23 @@ export const AdminFeatureAccessPage: React.FC = () => {
|
|||
</span>
|
||||
))}
|
||||
</div>
|
||||
)}
|
||||
) : selectedMandateId && !loading ? (
|
||||
<div className={styles.infoBox} style={{ borderColor: 'var(--error-color, #dc3545)', backgroundColor: 'var(--error-bg, rgba(220, 53, 69, 0.1))' }}>
|
||||
<FaCube style={{ marginRight: 8 }} />
|
||||
<span>
|
||||
Keine Features geladen.
|
||||
{error ? ` Fehler: ${error}` : ' Die API hat keine Features zurückgegeben.'}
|
||||
{' '}Öffnen Sie die Browser-Konsole (F12) und prüfen Sie den Netzwerk-Tab für /api/features/
|
||||
</span>
|
||||
<button
|
||||
className={styles.secondaryButton}
|
||||
onClick={() => fetchFeatures()}
|
||||
style={{ marginLeft: '1rem' }}
|
||||
>
|
||||
<FaSync /> Features erneut laden
|
||||
</button>
|
||||
</div>
|
||||
) : null}
|
||||
|
||||
{/* Content */}
|
||||
{!selectedMandateId ? (
|
||||
|
|
@ -436,6 +453,7 @@ export const AdminFeatureAccessPage: React.FC = () => {
|
|||
className={styles.primaryButton}
|
||||
onClick={() => setShowCreateModal(true)}
|
||||
disabled={features.length === 0}
|
||||
title={features.length === 0 ? 'Keine Features verfügbar. Bitte laden Sie die Features erneut.' : undefined}
|
||||
>
|
||||
<FaPlus /> Erste Instanz erstellen
|
||||
</button>
|
||||
|
|
|
|||
Loading…
Reference in a new issue