Files
tickte-system/ADMIN_PANEL_SETUP.md
Basilosaurusrex 0e19df6895 woms 3.0
2025-12-29 22:28:43 +01:00

3.7 KiB

Admin-Panel Setup

Das Admin-Panel wurde erfolgreich erstellt! Hier ist die Anleitung zur Einrichtung.

Was wurde erstellt:

  1. Admin-Panel Seite (/admin) - Verwaltung der Dropdown-Optionen
  2. useAdminConfig Hook - Lädt und speichert die Konfiguration
  3. Navigation erweitert - Admin-Link erscheint für Admin-Benutzer
  4. CreateTicketModal angepasst - Verwendet jetzt die konfigurierten Werte

Schritt 1: Config Collection in Appwrite erstellen

  1. Gehe zu https://appwrite.webklar.com
  2. Öffne dein Projekt woms
  3. Gehe zu Databaseswoms-database
  4. Klicke auf Create Collection
  5. Collection ID: config
  6. Name: Admin Configuration

Attribute hinzufügen:

Attribut Name Typ Größe Required Array
ticketTypes string - -
systems string - -
responseLevels string - -
serviceTypes string - -
priorities string - -

Wichtig: Alle Attribute müssen als Array konfiguriert sein!

Berechtigungen:

  • Read: Any (damit alle Benutzer die Optionen sehen können)
  • Create: Users (nur eingeloggte Benutzer können erstellen)
  • Update: Users (nur eingeloggte Benutzer können aktualisieren)
  • Delete: Users (optional)

Schritt 2: Admin-Berechtigung konfigurieren

Aktuell wird ein Benutzer als Admin erkannt, wenn:

  • Die Email admin enthält, ODER
  • Die Email kenso@webklar.com ist, ODER
  • Der Benutzer ein admin Label hat

Option A: Email-basierte Erkennung (aktuell implementiert)

Die Admin-Erkennung erfolgt in:

  • src/pages/AdminPage.jsx (Zeile ~10)
  • src/components/Navbar.jsx (Zeile ~29)

Du kannst die Bedingung anpassen:

const isAdmin = user?.email?.includes('admin') || 
                user?.email === 'deine@email.com' ||
                user?.labels?.includes('admin')

Option B: Appwrite Labels verwenden

  1. Gehe zu AuthUsers im Appwrite Dashboard
  2. Wähle einen Benutzer aus
  3. Füge ein Label hinzu: admin
  4. Die Admin-Erkennung funktioniert dann automatisch

Schritt 3: Admin-Panel verwenden

  1. Logge dich als Admin ein
  2. Gehe zu Admin in der Navigation (erscheint nur für Admins)
  3. Bearbeite die Dropdown-Optionen:
    • Work Order Types - Ticket-Typen
    • Affected Systems - Betroffene Systeme
    • Response Levels - Response-Ebenen
    • Service Types - Service-Typen
    • Priorities - Prioritäten (mit Value und Label)
  4. Klicke auf Konfiguration speichern

Schritt 4: Testen

  1. Als Admin:

    • Öffne das Admin-Panel
    • Ändere einige Optionen
    • Speichere die Konfiguration
  2. Als normaler Benutzer:

    • Erstelle ein neues Ticket
    • Die geänderten Optionen sollten jetzt in den Dropdowns erscheinen

Funktionsweise

  • Admin-Panel: Lädt die Konfiguration aus Appwrite und erlaubt Bearbeitung
  • CreateTicketModal: Lädt die Konfiguration automatisch und verwendet die Werte
  • Fallback: Falls die Config nicht geladen werden kann, werden Standard-Werte verwendet

Troubleshooting

"Collection config not found"

  • Stelle sicher, dass die Collection config erstellt wurde
  • Überprüfe die Collection ID (muss genau config sein)

"Zugriff verweigert"

  • Überprüfe die Admin-Erkennung in AdminPage.jsx
  • Stelle sicher, dass deine Email den Admin-Kriterien entspricht

"Konfiguration wird nicht geladen"

  • Überprüfe die Berechtigungen der config Collection
  • Stelle sicher, dass Read auf Any oder Users gesetzt ist

"Änderungen werden nicht übernommen"

  • Überprüfe die Update Berechtigung der config Collection
  • Stelle sicher, dass du als Admin eingeloggt bist

Viel Erfolg! 🚀