Abonnementtarife – Systembeschreibung

Felder der Tariftabelle, Zyklusschutz der Vererbung, Speicher- und Löschregeln sowie Datenquellen und Berechtigungsschlüssel der Liste.

Überblick

Ein Tarif ist Stammdaten; seinen Inhalt (Funktionen, Limits, Preise) liefern die tarifbezogenen Positionen der Abonnementdefinition. Die Tabellennamen tragen in der Datenbank das eigene Präfix der Installation.

Datenmodell

TabelleHauptfelder
subscription_plancode, name, description, parent_plan_id (Vererbung, zyklusgeschützt), is_addon, is_free, level, price_month, currency, sort_order, status
subscription_plan_to_storeShops
subscription_plan_featurealte Inhaltstabelle; planFeatures() und syncGrants() lesen sie noch

Liste, Speichern, Löschen

  • Liste: Filter Zusatz, Status, Suche; Sortierung nach Code, Name, Monatspreis; Spalten u. a. Anzahl Funktionen (alte Inhaltstabelle) und Abonnements; Symbole Bearbeiten, Löschen, Eltern-Tarif, Abonnements.
  • Speichern: Code [A-Za-z0-9_]{2,32} (error_code), Name Pflicht (error_name); der Eltern-Tarif darf nicht der Tarif selbst oder ein Nachkomme sein (normalizeParent); das Formular verlinkt auf die Definition (mit list) und zeigt Dlbtpayment::ANNUAL_DISCOUNT (10 %); nach dem Speichern dlbtentitlement->flush().
  • Löschen: blockiert durch ein Abonnement (error_in_use) oder einen Kind-Tarif (error_has_children); sonst physisches Löschen samt alten Inhaltszeilen; kein canBulk beim Sammellöschen.

Berechtigungen

  • list: UNMAPPED; edit, add, delete, debug: nicht eingestuft (aus dem alten Katalog projiziert). Bei neuem Datensatz verlangt canSave edit, da keine add-Zeile im Stamm existiert.
  • Kein Inhaltsbereich (Systemstamm).
Related topics: Tarif Berechtigungen