SAFweb2-Release 2.1.17

CRUD - Create, Read, Update, Delete

Übersicht

Der typische Ablauf im SAFweb2 beim anlegen und bearbeiten von Daten ist wie folgt:

  • Liste (wenn < 100 Datensätze, URL: /modul/bereich/objekte)
    • Detailansicht (mit Link auf Key, URL: /modul/bereich/objekt/{id})
      • bearbeiten (URL: /modul/bereich/objekt/{id}/edit)
      • löschen (URL: /modul/bereich/objekt/{id}/delete)
    • neu anlegen (URL: /modul/bereich/objekt/create)
  • Suchmaske (wenn > 100 Datensätze, URL: /modul/bereich/objekt/search)
    • Liste als Ergebnis
      • siehe Bereich Liste

Routing

Das Muster sollte dem folgenden Schema folgen:

/modul/bereich/objekt[/id][/function]
GET   /admin/users/users',              [UserAdminController::class, 'index'])->name('admin.user'
GET   /admin/users/user/create',        [UserAdminController::class, 'create']
GET   /admin/users/user/{user}',        [UserAdminController::class, 'show']
GET   /admin/users/user/{user}/edit',   [UserAdminController::class, 'edit']
GET   /admin/users/user/{user}/cpwd',   [UserAdminController::class, 'changePassword']
POST  /admin/users/user/{user}/delete', [UserAdminController::class, 'destroy']
POST  /admin/users/user',               [UserAdminController::class, 'store']
PATCH /admin/users/user/{user}',        [UserAdminController::class, 'update']
PATCH /admin/users/user/{user}/cpwd',   [UserAdminController::class, 'updatePassword']

1. Einstieg in die Übersicht

Autoliste

Wenn weniger als 100 Datensätze zu erwarten sind, dann wird dieser Punkt sofort mit einer Liste gestartet.

URL: /modul/bereich/objekte
GET, plural Objekt

Suchmaske

Wenn mehr als 100 Datensätze zu erwarten sind, dann wird eine Suchmaske vorgeschaltet, um die Ergebnismenge der Daten zu reduzieren.

Auf einem Schlüsselelement dieser Liste in dann ein Link, der zur Detailansicht des entsprechenden Datensatzes führt.

2. neu anlegen

/modul/bereich/objekt/create
GET, zeigt Maske
POST: /modul/bereich/objekt

Oberhalb jeder Liste befindet sich ein “+ neu anlegen” Button. Hier kann ein neuer Datensatz angelegt werden.

3. Detailansicht

/modul/bereich/objekt/{id}
GET, zeigt read only Maske

Wird von der Hauptliste auf ein Schlüsselelement (als Link dargestellt) geklickt, dann gelangt man zur Detailansicht.
Von hier aus kann man bearbeiten oder diese Sicht wieder verlassen.

4. bearbeiten

/modul/bereich/objekt/{id}/edit
GET, zeigt Maaske
PATCH: /modul/bereich/objekt/{id}

Besitzt der Anwender die notwendigen Rechte, dann gibt es auf der Detailansicht einen Button “bearbeiten”. Dieser führt zu einem Formular, in dem der Datensatz dann geändert werden kann.