Verwaltung von Bestellentwuerfen


Ressourcenuebersicht

Das App-Panel verwaltet Einkaufsaktivitaeten ueber die Ressource Bestellentwuerfe.

Dies ist die implementierte Oberflaeche zur Bestellverwaltung im aktuellen Stand.

Aktuelle Seiten

  • Listenseite
  • Detailansicht

Es gibt in der Filament-Ressource keine separate Seite zum Erstellen von Bestellungen. Bestellungen sollen aus Shopify-Bestellentwurfdaten kommen.

Bestellliste

Die Liste zeigt aktuell:

  • Bestellname
  • Status
  • Bestellt von
  • Standort
  • Entwurf erstellt am
  • Gesamtbetrag
  • Budget ueberschritten
  • Jahresbudget ueberschritten
  • Monatsbudget ueberschritten

Aktueller Filter

  • Status

Zugriffsbereich

  • CompanyAdmin sieht Unternehmensbestellungen des aktuellen Mandanten
  • andere Benutzer sehen nur Bestellungen ihrer zugewiesenen Standorte

Bestellstatus

Das Enum fuer den Bestellstatus definiert aktuell:

  • draft
  • pending_approval
  • needs_rework
  • approved
  • processing
  • completed
  • cancelled
  • failed

Diese Statuswerte werden auch fuer Dashboard-Widgets und Badge-Farben verwendet.

Aktionen in der Bestelldetailansicht

Die Bestelldetailseite kann diese Kopfzeilenaktionen anzeigen, wenn die Policy-Regeln sie erlauben:

Zur Genehmigung einreichen

  • gedacht fuer die Uebergabe vom Anforderer an die Genehmigung
  • derzeit durch eine sehr enge Policy-Pruefung eingeschraenkt

Zur Nacharbeit senden

  • setzt die Bestellung auf needs_rework
  • benachrichtigt den Eigentuemer der Bestellung

Bestellung bestaetigen

  • sendet den Shopify-Bestellentwurf zur Fertigstellung
  • aendert den Status auf processing
  • anschliessend auf completed oder failed

Die Sichtbarkeit von Aktionen haengt von Rolle und Status ab. Wenn eine Aktion nicht sichtbar ist, steht sie dem aktuellen Benutzer im aktuellen Bestellkontext nicht zur Verfuegung.

Bestellpositionen

Jede Bestellung enthaelt einen Relation Manager Bestellpositionen.

Aktuelle Funktionen

  • Positionen ansehen
  • Menge bearbeiten
  • Position loeschen
  • neue Position durch Suche nach Shopify-Produktvarianten hinzufuegen

Wichtiges Verhalten

  • Positionsaenderungen nutzen Shopify-bezogene Aktionen
  • eine Position kann nicht entfernt werden, wenn die Bestellung danach keine Positionen mehr haette
  • Bearbeitungsrechte sind durch Bestellstatus und Benutzerrolle eingeschraenkt

Im aktuellen Code ist die allgemeine Bearbeitung von Bestellungen bewusst eng gefasst:

  • Requester kann die eigene Bestellung nur bei Status needs_rework bearbeiten
  • CompanyAdmin kann andere bearbeitbare Bestellungen bearbeiten

Kommentare

Jede Bestellung enthaelt ausserdem einen Relation Manager Kommentare.

Aktuelles Verhalten

  • Benutzer koennen bei zugaenglichen Bestellungen Kommentare verfassen
  • Kommentarinhalt unterstuetzt Rich-Text
  • Benutzer koennen nur eigene Kommentare bearbeiten oder loeschen
  • Kommentare werden mit den neuesten zuerst angezeigt

Budgetstatus

Die Bestelldetailseite enthaelt ein Budgetstatus-Widget.

Es zeigt Jahres- und Monatsbudgetpruefungen fuer die aktuelle Bestellung auf Basis des zugewiesenen Standortbudgets.

Die Listenansicht zeigt ausserdem:

  • ein kombiniertes Kennzeichen fuer Budgetueberschreitung
  • ein Kennzeichen fuer Jahresbudgetueberschreitung
  • ein Kennzeichen fuer Monatsbudgetueberschreitung

Zugriffsregeln

Die aktuelle Policy-Logik konzentriert sich auf:

  • wer die Bestellung erstellt hat
  • die Rolle des Benutzers
  • ob der Benutzer dem Bestellstandort zugeordnet ist
  • den aktuellen Bestellstatus

In der Praxis:

  • Ersteller koennen ihre eigenen Bestellungen immer sehen
  • Orderer und OrdererAdmin koennen Bestellungen ihrer zugewiesenen Standorte sehen
  • CompanyAdmin kann Unternehmensbestellungen standortuebergreifend sehen
  • BudgetAdmin erhaelt durch DraftOrderPolicy kein Recht zum Anzeigen von Bestellentwuerfen

Workflow-Aktionen wie Nacharbeit und Shopify-Bestaetigung sind strenger eingeschraenkt als die reine Ansicht.

Policy-basierte Workflow-Regeln

Direkt aus der DraftOrderPolicy gelesen gelten aktuell folgende Workflow-Berechtigungen:

Anzeigen

  • Ersteller der Bestellung: ja
  • Orderer am Bestellstandort zugeordnet: ja
  • OrdererAdmin am Bestellstandort zugeordnet: ja
  • CompanyAdmin: ja
  • BudgetAdmin: nicht explizit erlaubt

Zur Genehmigung einreichen

Laut Policy ist dies fuer einen Requester gedacht, der:

  • die Bestellung erstellt hat
  • dem Bestellstandort zugeordnet ist
  • im Budget liegt
  • aus draft oder needs_rework arbeitet

Die aktuelle Statusbedingung in der Policy ist jedoch so eng formuliert, dass diese Aktion in der Praxis moeglicherweise nicht erscheint, selbst wenn der Workflow dies erwarten laesst.

Zur Nacharbeit senden

  • CompanyAdmin: erlaubt
  • Orderer am Bestellstandort zugeordnet: erlaubt
  • OrdererAdmin: durch diese Policy-Methode nicht freigegeben
  • BudgetAdmin: durch diese Policy-Methode nicht freigegeben

Es gibt ausserdem eine besondere Einschraenkung, die verhindert, dass der Ersteller die eigene Bestellung zur Nacharbeit sendet, wenn er als OrdererAdmin oder CompanyAdmin handelt.

Bestellung bestaetigen

  • CompanyAdmin: erlaubt
  • OrdererAdmin am Bestellstandort zugeordnet: erlaubt
  • Orderer am Bestellstandort zugeordnet: nur erlaubt, wenn das Budget nicht ueberschritten ist
  • Requester: nicht erlaubt
  • BudgetAdmin: nicht erlaubt

Diese Rollenpruefungen sind strenger als die aeltere generische Genehmigungsbeschreibung. Daher sollten diese Regeln bei der Schulung von Benutzern fuer den aktuellen Stand verwendet werden.